#include "wx/combobox.h"
#include "wx/button.h"
#include "wx/menu.h"
+#include "wx/containr.h"
#include "wx/mac/uma.h"
IMPLEMENT_DYNAMIC_CLASS(wxComboBox, wxControl)
+WX_DELEGATE_TO_CONTROL_CONTAINER(wxComboBox)
+
+BEGIN_EVENT_TABLE(wxComboBox, wxControl)
+ WX_EVENT_TABLE_CONTROL_CONTAINER(wxComboBox)
+END_EVENT_TABLE()
+
static int nextPopUpMenuId = 1000 ;
return true;
}
-void wxComboBox::SetFocus()
-{
- if ( m_text != NULL)
- m_text->SetFocus();
-}
-
void wxComboBox::DelegateTextChanged( const wxString& value )
{
SetStringSelection( value );
SetStringSelection( value );
}
+void wxComboBox::Init()
+{
+ m_container.SetContainerWindow(this);
+}
+
bool wxComboBox::Create(wxWindow *parent,
wxWindowID id,
const wxString& value,
return result;
}
-int wxComboBox::GetCount() const
+unsigned int wxComboBox::GetCount() const
{
return m_choice->GetCount() ;
}
return m_choice->DoAppend( item ) ;
}
-int wxComboBox::DoInsert(const wxString& item, int pos)
+int wxComboBox::DoInsert(const wxString& item, unsigned int pos)
{
return m_choice->DoInsert( item , pos ) ;
}
-void wxComboBox::DoSetItemClientData(int n, void* clientData)
+void wxComboBox::DoSetItemClientData(unsigned int n, void* clientData)
{
return m_choice->DoSetItemClientData( n , clientData ) ;
}
-void* wxComboBox::DoGetItemClientData(int n) const
+void* wxComboBox::DoGetItemClientData(unsigned int n) const
{
return m_choice->DoGetItemClientData( n ) ;
}
-void wxComboBox::DoSetItemClientObject(int n, wxClientData* clientData)
+void wxComboBox::DoSetItemClientObject(unsigned int n, wxClientData* clientData)
{
- return m_choice->DoSetItemClientObject( n , clientData ) ;
+ return m_choice->DoSetItemClientObject(n, clientData);
}
-wxClientData* wxComboBox::DoGetItemClientObject(int n) const
+wxClientData* wxComboBox::DoGetItemClientObject(unsigned int n) const
{
return m_choice->DoGetItemClientObject( n ) ;
}
{
if ( HasClientObjectData() )
{
- size_t count = GetCount();
- for ( size_t n = 0; n < count; n++ )
+ unsigned int count = GetCount();
+ for ( unsigned int n = 0; n < count; n++ )
{
SetClientObject( n, NULL );
}
}
}
-void wxComboBox::Delete(int n)
+void wxComboBox::Delete(unsigned int n)
{
// force client object deletion
if( HasClientObjectData() )
m_choice->SetSelection( n );
if ( m_text != NULL )
- m_text->SetValue( GetString( n ) );
+ m_text->SetValue(GetString(n));
}
int wxComboBox::FindString(const wxString& s, bool bCase) const
return m_choice->FindString( s, bCase );
}
-wxString wxComboBox::GetString(int n) const
+wxString wxComboBox::GetString(unsigned int n) const
{
return m_choice->GetString( n );
}
wxString wxComboBox::GetStringSelection() const
{
int sel = GetSelection();
- if (sel > -1)
- return wxString(this->GetString (sel));
+ if (sel != wxNOT_FOUND)
+ return wxString(this->GetString((unsigned int)sel));
else
return wxEmptyString;
}
-void wxComboBox::SetString(int n, const wxString& s)
+void wxComboBox::SetString(unsigned int n, const wxString& s)
{
- m_choice->SetString( n , s ) ;
+ m_choice->SetString( n , s );
}
bool wxComboBox::IsEditable() const