]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/choice.cpp
BC++ compialtion fix (?)
[wxWidgets.git] / src / gtk1 / choice.cpp
index e1868bbd1c1f70d37fccd8ce0d6e1eec0a6067b2..97ea9be8b97dac3b73093aaa476d2a9ebcaacea8 100644 (file)
@@ -16,8 +16,8 @@
 
 #if wxUSE_CHOICE
 
-#include "gdk/gdk.h"
-#include "gtk/gtk.h"
+#include <gdk/gdk.h>
+#include <gtk/gtk.h>
 
 //-----------------------------------------------------------------------------
 // idle system
@@ -90,12 +90,7 @@ bool wxChoice::Create( wxWindow *parent, wxWindowID id,
 
     m_widget = gtk_option_menu_new();
 
-    wxSize newSize(size);
-    if (newSize.x == -1)
-        newSize.x = 80;
-    if (newSize.y == -1)
-        newSize.y = 26;
-    SetSize( newSize.x, newSize.y );
+    SetSizeOrDefault( size );
 
     if ( style & wxCB_SORT )
     {
@@ -108,7 +103,7 @@ bool wxChoice::Create( wxWindow *parent, wxWindowID id,
 
     for (int i = 0; i < n; i++)
     {
-        AppendHelper(menu, choices[i]);
+        GtkAppendHelper(menu, choices[i]);
     }
 
     gtk_option_menu_set_menu( GTK_OPTION_MENU(m_widget), menu );
@@ -139,7 +134,7 @@ int wxChoice::DoAppend( const wxString &item )
 
     GtkWidget *menu = gtk_option_menu_get_menu( GTK_OPTION_MENU(m_widget) );
 
-    return AppendHelper(menu, item);
+    return GtkAppendHelper(menu, item);
 }
 
 void wxChoice::DoSetItemClientData( int n, void* clientData )
@@ -323,36 +318,6 @@ void wxChoice::SetSelection( int n )
     gtk_option_menu_set_history( GTK_OPTION_MENU(m_widget), (gint)tmp );
 }
 
-void wxChoice::DisableEvents()
-{
-/*
-    GtkMenuShell *menu_shell = GTK_MENU_SHELL( gtk_option_menu_get_menu( GTK_OPTION_MENU(m_widget) ) );
-    GList *child = menu_shell->children;
-    while (child)
-    {
-        gtk_signal_disconnect_by_func( GTK_OBJECT( child->data ),
-          GTK_SIGNAL_FUNC(gtk_choice_clicked_callback), (gpointer*)this );
-
-        child = child->next;
-    }
-*/
-}
-
-void wxChoice::EnableEvents()
-{
-/*
-    GtkMenuShell *menu_shell = GTK_MENU_SHELL( gtk_option_menu_get_menu( GTK_OPTION_MENU(m_widget) ) );
-    GList *child = menu_shell->children;
-    while (child)
-    {
-        gtk_signal_connect( GTK_OBJECT( child->data ), "activate",
-          GTK_SIGNAL_FUNC(gtk_choice_clicked_callback), (gpointer*)this );
-
-        child = child->next;
-    }
-*/
-}
-
 void wxChoice::ApplyWidgetStyle()
 {
     SetWidgetStyle();
@@ -378,7 +343,7 @@ void wxChoice::ApplyWidgetStyle()
     }
 }
 
-size_t wxChoice::AppendHelper(GtkWidget *menu, const wxString& item)
+size_t wxChoice::GtkAppendHelper(GtkWidget *menu, const wxString& item)
 {
     GtkWidget *menu_item = gtk_menu_item_new_with_label( item.mbc_str() );
 
@@ -409,7 +374,7 @@ size_t wxChoice::AppendHelper(GtkWidget *menu, const wxString& item)
 
         // don't call wxChoice::GetCount() from here because it doesn't work
         // if we're called from ctor (and GtkMenuShell is still NULL)
-        index = m_clientList.GetCount();
+        index = m_clientList.GetCount() - 1;
     }
 
     if (GTK_WIDGET_REALIZED(m_widget))
@@ -429,4 +394,9 @@ size_t wxChoice::AppendHelper(GtkWidget *menu, const wxString& item)
     return index;
 }
 
+wxSize wxChoice::DoGetBestSize() const
+{
+    return wxSize(80, 26);
+}
+
 #endif