/////////////////////////////////////////////////////////////////////////////
// Name: combobox.cpp
// Purpose: wxComboBox class
-// Author: AUTHOR
+// Author: Stefan Csomor
// Modified by:
-// Created: ??/??/98
+// Created: 1998-01-01
// RCS-ID: $Id$
-// Copyright: (c) AUTHOR
+// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
protected:
void OnChar( wxKeyEvent& event )
{
- if ( event.KeyCode() == WXK_RETURN )
+ if ( event.GetKeyCode() == WXK_RETURN )
{
wxString value = GetValue();
wxWindow *parent = GetParent();
while( parent && !parent->IsTopLevel() && parent->GetDefaultItem() == NULL ) {
- parent = parent->GetParent() ;
+ parent = parent->GetParent() ;
}
if ( parent && parent->GetDefaultItem() )
{
}
else
{
- wxCoord wText = width - POPUPWIDTH;
+ wxCoord wText = width - POPUPWIDTH - MARGIN;
m_text->SetSize(0, 0, wText, height);
m_choice->SetSize(0 + wText + MARGIN, 0, POPUPWIDTH, -1);
}
const wxValidator& validator,
const wxString& name)
{
-
- Rect bounds ;
- Str255 title ;
-
if ( !wxControl::Create(parent, id, wxDefaultPosition, wxDefaultSize, style ,
wxDefaultValidator, name) )
{
void wxComboBox::SetValue(const wxString& value)
{
+ int s = FindString (value);
+ if (s == wxNOT_FOUND && !HasFlag(wxCB_READONLY) )
+ {
+ m_choice->Append(value) ;
+ }
SetStringSelection( value ) ;
}
void wxComboBox::Delete(int n)
{
+ if ( HasClientObjectData() )
+ {
+ SetClientObject(n, NULL);
+ }
m_choice->Delete( n );
}
if (sel > -1)
return wxString(this->GetString (sel));
else
- return wxString("");
+ return wxEmptyString;
}
bool wxComboBox::SetStringSelection(const wxString& sel)
return FALSE;
}
-void wxComboBox::MacHandleControlClick( WXWidget control , wxInt16 controlpart )
+void wxComboBox::MacHandleControlClick( WXWidget WXUNUSED(control) , wxInt16 WXUNUSED(controlpart) )
{
wxCommandEvent event(wxEVT_COMMAND_COMBOBOX_SELECTED, m_windowId );
event.SetInt(GetSelection());