/*! * \brief Create a control to edit our value. * * This routine is called when the user clicks on an editable * item in the value window. */ wxWindow *CConfigItem::CreateEditWindow(wxWindow * parent) { wxWindow *window = NULL; switch (GetOptionType()) { case nutEnumerated: /* Create drop down box for enumerated values. */ { window = new CEnumEditCtrl(parent, ID_ITEM_EDIT_WINDOW, wxDefaultPosition, wxDefaultSize, 0); wxArrayString arEnumStrings; GetEnumStrings(arEnumStrings); for (unsigned int i = 0; i < arEnumStrings.GetCount(); i++) { ((CEnumEditCtrl *) window)->Append(arEnumStrings[i]); } } break; case nutInteger: /* Use a spin control for integer values. */ window = new CIntEditCtrl(parent, ID_ITEM_EDIT_WINDOW, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS); break; case nutString: /* Normal entry control for string values. */ window = new CTextEditCtrl(parent, ID_ITEM_EDIT_WINDOW, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER); break; } wxASSERT(window != NULL); return window; }
mitk::EnumerationProperty::IdType mitk::EnumerationProperty::GetEnumId( const std::string& name ) const { if ( IsValidEnumerationValue( name ) ) { return GetEnumStrings().find( name )->second; } else { return 0; } }
bool mitk::EnumerationProperty::AddEnum( const std::string& name, const IdType& id ) { if ( ( ! IsValidEnumerationValue( name ) ) && ( ! IsValidEnumerationValue( id ) ) ) { GetEnumIds().insert( std::make_pair( id, name ) ); GetEnumStrings().insert( std::make_pair( name, id ) ); return true; } else { return false; } }
void mitk::EnumerationProperty::Clear() { GetEnumIds().clear(); GetEnumStrings().clear(); m_CurrentValue = 0; }
bool mitk::EnumerationProperty::IsValidEnumerationValue( const std::string& val ) const { return ( GetEnumStrings().find( val ) != GetEnumStrings().end() ); }