X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1a5a83677555023d476401bab5809a1107222c74..befe54c6ca5d8f57be1d38f8826bdb080af29e89:/src/gtk1/combobox.cpp?ds=sidebyside diff --git a/src/gtk1/combobox.cpp b/src/gtk1/combobox.cpp index 9965d5b5a7..bf9aa9dcc7 100644 --- a/src/gtk1/combobox.cpp +++ b/src/gtk1/combobox.cpp @@ -47,7 +47,7 @@ static void gtk_combo_clicked_callback( GtkWidget *WXUNUSED(widget), wxComboBox event.SetString( WXSTRINGCAST(tmp) ); event.SetEventObject(combo); combo->GetEventHandler()->ProcessEvent(event); -}; +} //----------------------------------------------------------------------------- // size @@ -63,7 +63,7 @@ static gint gtk_combo_size_callback( GtkCombo *widget, GtkAllocation* alloc, wxC alloc->width - widget->button->allocation.width; return FALSE; -}; +} */ //----------------------------------------------------------------------------- @@ -73,13 +73,15 @@ IMPLEMENT_DYNAMIC_CLASS(wxComboBox,wxControl) bool wxComboBox::Create(wxWindow *parent, wxWindowID id, const wxString& value, const wxPoint& pos, const wxSize& size, int n, const wxString choices[], - long style, const wxString& name ) + long style, const wxValidator& validator, const wxString& name ) { m_alreadySent = FALSE; m_needParent = TRUE; PreCreation( parent, id, pos, size, style, name ); + SetValidator( validator ); + m_widget = gtk_combo_new(); wxSize newSize = size; @@ -102,7 +104,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, const wxString& value, gtk_signal_connect( GTK_OBJECT(list_item), "select", GTK_SIGNAL_FUNC(gtk_combo_clicked_callback), (gpointer)this ); - }; + } PostCreation(); @@ -116,7 +118,7 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, const wxString& value, Show( TRUE ); return TRUE; -}; +} void wxComboBox::Clear(void) { @@ -124,12 +126,12 @@ void wxComboBox::Clear(void) gtk_list_clear_items( GTK_LIST(list), 0, Number() ); m_clientData.Clear(); -}; +} void wxComboBox::Append( const wxString &item ) { Append( item, (char*)NULL ); -}; +} void wxComboBox::Append( const wxString &item, char *clientData ) { @@ -146,7 +148,7 @@ void wxComboBox::Append( const wxString &item, char *clientData ) gtk_widget_show( list_item ); m_clientData.Append( (wxObject*)clientData ); -}; +} void wxComboBox::Delete( int n ) { @@ -156,11 +158,11 @@ void wxComboBox::Delete( int n ) wxNode *node = m_clientData.Nth( n ); if (!node) { - wxFAIL_MSG(_("wxComboBox::Delete wrong index")); + wxFAIL_MSG( "wxComboBox: wrong index" ); } else m_clientData.DeleteNode( node ); -}; +} int wxComboBox::FindString( const wxString &item ) { @@ -175,22 +177,30 @@ int wxComboBox::FindString( const wxString &item ) if (item == label->label) return count; count++; child = child->next; - }; + } + + wxFAIL_MSG( "wxComboBox: string not found" ); + return -1; -}; +} char* wxComboBox::GetClientData( int n ) { wxNode *node = m_clientData.Nth( n ); if (node) return (char*)node->Data(); + + wxFAIL_MSG( "wxComboBox: wrong index" ); + return NULL; -}; +} void wxComboBox::SetClientData( int n, char * clientData ) { wxNode *node = m_clientData.Nth( n ); if (node) node->SetData( (wxObject*) clientData ); -}; + + wxFAIL_MSG( "wxComboBox: wrong index" ); +} int wxComboBox::GetSelection(void) const { @@ -206,10 +216,13 @@ int wxComboBox::GetSelection(void) const if (child->data == selection->data) return count; count++; child = child->next; - }; - }; + } + } + + wxFAIL_MSG( "wxComboBox: no selection" ); + return -1; -}; +} wxString wxComboBox::GetString( int n ) const { @@ -221,9 +234,12 @@ wxString wxComboBox::GetString( int n ) const GtkBin *bin = GTK_BIN( child->data ); GtkLabel *label = GTK_LABEL( bin->child ); return label->label; - }; + } + + wxFAIL_MSG( "wxComboBox: wrong index" ); + return ""; -}; +} wxString wxComboBox::GetStringSelection(void) const { @@ -235,9 +251,12 @@ wxString wxComboBox::GetStringSelection(void) const GtkBin *bin = GTK_BIN( selection->data ); wxString tmp = GTK_LABEL( bin->child )->label; return tmp; - }; + } + + wxFAIL_MSG( "wxComboBox: no selection" ); + return ""; -}; +} int wxComboBox::Number(void) const { @@ -245,29 +264,29 @@ int wxComboBox::Number(void) const GList *child = GTK_LIST(list)->children; int count = 0; - while (child) { count++; child = child->next; }; + while (child) { count++; child = child->next; } return count; -}; +} void wxComboBox::SetSelection( int n ) { GtkWidget *list = GTK_COMBO(m_widget)->list; gtk_list_select_item( GTK_LIST(list), n ); -}; +} void wxComboBox::SetStringSelection( const wxString &string ) { int res = FindString( string ); if (res == -1) return; SetSelection( res ); -}; +} wxString wxComboBox::GetValue(void) const { GtkWidget *entry = GTK_COMBO(m_widget)->entry; wxString tmp = gtk_entry_get_text( GTK_ENTRY(entry) ); return tmp; -}; +} void wxComboBox::SetValue( const wxString& value ) { @@ -275,52 +294,52 @@ void wxComboBox::SetValue( const wxString& value ) wxString tmp = ""; if (!value.IsNull()) tmp = value; gtk_entry_set_text( GTK_ENTRY(entry), tmp ); -}; +} void wxComboBox::Copy(void) { GtkWidget *entry = GTK_COMBO(m_widget)->entry; gtk_editable_copy_clipboard( GTK_EDITABLE(entry), 0 ); -}; +} void wxComboBox::Cut(void) { GtkWidget *entry = GTK_COMBO(m_widget)->entry; gtk_editable_cut_clipboard( GTK_EDITABLE(entry), 0 ); -}; +} void wxComboBox::Paste(void) { GtkWidget *entry = GTK_COMBO(m_widget)->entry; gtk_editable_paste_clipboard( GTK_EDITABLE(entry), 0 ); -}; +} void wxComboBox::SetInsertionPoint( long pos ) { GtkWidget *entry = GTK_COMBO(m_widget)->entry; int tmp = (int) pos; gtk_entry_set_position( GTK_ENTRY(entry), tmp ); -}; +} void wxComboBox::SetInsertionPointEnd(void) { GtkWidget *entry = GTK_COMBO(m_widget)->entry; int pos = GTK_ENTRY(entry)->text_length; SetInsertionPoint( pos-1 ); -}; +} long wxComboBox::GetInsertionPoint(void) const { GtkWidget *entry = GTK_COMBO(m_widget)->entry; return (long) GTK_EDITABLE(entry)->current_pos; -}; +} long wxComboBox::GetLastPosition(void) const { GtkWidget *entry = GTK_COMBO(m_widget)->entry; int pos = GTK_ENTRY(entry)->text_length; return (long) pos-1; -}; +} void wxComboBox::Replace( long from, long to, const wxString& value ) { @@ -329,20 +348,20 @@ void wxComboBox::Replace( long from, long to, const wxString& value ) if (value.IsNull()) return; gint pos = (gint)to; gtk_editable_insert_text( GTK_EDITABLE(entry), value, value.Length(), &pos ); -}; +} void wxComboBox::Remove(long from, long to) { GtkWidget *entry = GTK_COMBO(m_widget)->entry; gtk_editable_delete_text( GTK_EDITABLE(entry), (gint)from, (gint)to ); -}; +} void wxComboBox::SetSelection( long WXUNUSED(from), long WXUNUSED(to) ) { -}; +} void wxComboBox::SetEditable( bool WXUNUSED(editable) ) { -}; +}