X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3dbfe8f44f6ff4f3b888b59111ff51dad45fb060..40cc34ec564f7c036724573caba0b4e5643018d8:/src/gtk1/combobox.cpp diff --git a/src/gtk1/combobox.cpp b/src/gtk1/combobox.cpp index 517993327f..aa879cab6f 100644 --- a/src/gtk1/combobox.cpp +++ b/src/gtk1/combobox.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: src/gtk/combobox.cpp +// Name: src/gtk1/combobox.cpp // Purpose: // Author: Robert Roebling // Id: $Id$ @@ -10,17 +10,17 @@ // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" -#include "wx/combobox.h" - #if wxUSE_COMBOBOX +#include "wx/combobox.h" + #include "wx/settings.h" #include "wx/arrstr.h" #include "wx/intl.h" #include "wx/textctrl.h" // for wxEVT_COMMAND_TEXT_UPDATED -#include "wx/gtk/private.h" +#include "wx/gtk1/private.h" //----------------------------------------------------------------------------- // idle system @@ -238,16 +238,9 @@ bool wxComboBox::Create( wxWindow *parent, wxWindowID id, const wxString& value, // and case-sensitive gtk_combo_set_case_sensitive( GTK_COMBO(m_widget), TRUE ); -#ifdef __WXGTK20__ - if (style & wxNO_BORDER) - g_object_set( GTK_ENTRY( combo->entry ), "has-frame", FALSE, NULL ); -#endif - GtkWidget *list = GTK_COMBO(m_widget)->list; -#ifndef __WXGTK20__ // gtk_list_set_selection_mode( GTK_LIST(list), GTK_SELECTION_MULTIPLE ); -#endif for (int i = 0; i < n; i++) { @@ -354,11 +347,11 @@ int wxComboBox::DoAppend( const wxString &item ) gtk_widget_show( list_item ); - const int count = GetCount(); + const size_t count = GetCount(); - if ( (int)m_clientDataList.GetCount() < count ) + if ( m_clientDataList.GetCount() < count ) m_clientDataList.Append( (wxObject*) NULL ); - if ( (int)m_clientObjectList.GetCount() < count ) + if ( m_clientObjectList.GetCount() < count ) m_clientObjectList.Append( (wxObject*) NULL ); EnableEvents(); @@ -375,10 +368,9 @@ int wxComboBox::DoInsert( const wxString &item, int pos ) wxCHECK_MSG( m_widget != NULL, -1, wxT("invalid combobox") ); - int count = GetCount(); - wxCHECK_MSG( (pos >= 0) && (pos <= count), -1, wxT("invalid index") ); + wxCHECK_MSG( IsValidInsert(pos), -1, wxT("invalid index") ); - if (pos == count) + if ((size_t)pos == GetCount()) return Append(item); DisableEvents(); @@ -401,11 +393,11 @@ int wxComboBox::DoInsert( const wxString &item, int pos ) gtk_widget_show( list_item ); - count = GetCount(); + const size_t count = GetCount(); - if ( (int)m_clientDataList.GetCount() < count ) + if ( m_clientDataList.GetCount() < count ) m_clientDataList.Insert( pos, (wxObject*) NULL ); - if ( (int)m_clientObjectList.GetCount() < count ) + if ( m_clientObjectList.GetCount() < count ) m_clientObjectList.Insert( pos, (wxObject*) NULL ); EnableEvents(); @@ -462,7 +454,7 @@ void wxComboBox::Clear() DisableEvents(); GtkWidget *list = GTK_COMBO(m_widget)->list; - gtk_list_clear_items( GTK_LIST(list), 0, GetCount() ); + gtk_list_clear_items( GTK_LIST(list), 0, (int)GetCount() ); wxList::compatibility_iterator node = m_clientObjectList.GetFirst(); while (node) @@ -550,11 +542,7 @@ int wxComboBox::FindString( const wxString &item, bool bCase ) const { GtkBin *bin = GTK_BIN( child->data ); GtkLabel *label = GTK_LABEL( bin->child ); -#ifdef __WXGTK20__ - wxString str( wxGTK_CONV_BACK( gtk_label_get_text(label) ) ); -#else wxString str( label->label ); -#endif if (item.IsSameAs( str , bCase ) ) return count; @@ -592,7 +580,7 @@ int wxComboBox::GetCurrentSelection() const } } - return -1; + return wxNOT_FOUND; } wxString wxComboBox::GetString( int n ) const @@ -607,11 +595,7 @@ wxString wxComboBox::GetString( int n ) const { GtkBin *bin = GTK_BIN( child->data ); GtkLabel *label = GTK_LABEL( bin->child ); -#ifdef __WXGTK20__ - str = wxGTK_CONV_BACK( gtk_label_get_text(label) ); -#else str = wxString( label->label ); -#endif } else { @@ -632,11 +616,7 @@ wxString wxComboBox::GetStringSelection() const { GtkBin *bin = GTK_BIN( selection->data ); GtkLabel *label = GTK_LABEL( bin->child ); -#ifdef __WXGTK20__ - wxString tmp( wxGTK_CONV_BACK( gtk_label_get_text(label) ) ); -#else wxString tmp( label->label ); -#endif return tmp; } @@ -645,14 +625,14 @@ wxString wxComboBox::GetStringSelection() const return wxEmptyString; } -int wxComboBox::GetCount() const +size_t wxComboBox::GetCount() const { wxCHECK_MSG( m_widget != NULL, 0, wxT("invalid combobox") ); GtkWidget *list = GTK_COMBO(m_widget)->list; GList *child = GTK_LIST(list)->children; - int count = 0; + size_t count = 0; while (child) { count++; child = child->next; } return count; } @@ -817,7 +797,7 @@ void wxComboBox::Replace( long from, long to, const wxString& value ) wxCharBuffer buffer = wxConvUTF8.cWX2MB( value ); gtk_editable_insert_text( GTK_EDITABLE(entry), (const char*) buffer, strlen( (const char*) buffer ), &pos ); #else - gtk_editable_insert_text( GTK_EDITABLE(entry), value.c_str(), value.Length(), &pos ); + gtk_editable_insert_text( GTK_EDITABLE(entry), value.c_str(), value.length(), &pos ); #endif } @@ -832,15 +812,8 @@ void wxComboBox::GetSelection( long* from, long* to ) const if (IsEditable()) { GtkEditable *editable = GTK_EDITABLE(GTK_COMBO(m_widget)->entry); -#ifdef __WXGTK20__ - gint start, end; - gtk_editable_get_selection_bounds(editable, & start, & end); - *from = start; - *to = end; -#else *from = (long) editable->selection_start_pos; *to = (long) editable->selection_end_pos; -#endif } }