/*!
 * \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;
}
Ejemplo n.º 2
0
mitk::EnumerationProperty::IdType mitk::EnumerationProperty::GetEnumId( const std::string& name ) const
{
  if ( IsValidEnumerationValue( name ) )
  {
    return  GetEnumStrings().find( name )->second;
  }
  else
  {
    return 0;
  }
}
Ejemplo n.º 3
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;
  }
}
Ejemplo n.º 4
0
void mitk::EnumerationProperty::Clear()
{
  GetEnumIds().clear();
  GetEnumStrings().clear();
  m_CurrentValue = 0;
}
Ejemplo n.º 5
0
bool mitk::EnumerationProperty::IsValidEnumerationValue( const std::string& val ) const
{
  return ( GetEnumStrings().find( val ) != GetEnumStrings().end() );
}