]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/radiobox.cpp
Fix generic wxDataViewCtrl Enter handling to conform to Windows UI.
[wxWidgets.git] / src / gtk1 / radiobox.cpp
index 156ca7c879405fe70cf4fd65b01f2101d719ae1d..1c576da3285cf4fddc9b700d7588fe8654532e01 100644 (file)
 
 #include "wx/radiobox.h"
 
-#include "wx/dialog.h"
-#include "wx/frame.h"
-#include "wx/log.h"
+#ifndef WX_PRECOMP
+    #include "wx/log.h"
+    #include "wx/frame.h"
+    #include "wx/dialog.h"
+#endif
 
 #include "wx/gtk1/private.h"
 #include <gdk/gdkkeysyms.h>
@@ -55,7 +57,7 @@ static void gtk_radiobutton_clicked_callback( GtkToggleButton *button, wxRadioBo
     event.SetInt( rb->GetSelection() );
     event.SetString( rb->GetStringSelection() );
     event.SetEventObject( rb );
-    rb->GetEventHandler()->ProcessEvent(event);
+    rb->HandleWindowEvent(event);
 }
 }
 
@@ -113,7 +115,7 @@ static gint gtk_radiobox_keypress_callback( GtkWidget *widget, GdkEventKey *gdk_
 }
 
 extern "C" {
-static gint gtk_radiobutton_focus_in( GtkWidget *widget,
+static gint gtk_radiobutton_focus_in( GtkWidget *WXUNUSED(widget),
                                       GdkEvent *WXUNUSED(event),
                                       wxRadioBox *win )
 {
@@ -131,7 +133,7 @@ static gint gtk_radiobutton_focus_in( GtkWidget *widget,
 
         // never stop the signal emission, it seems to break the kbd handling
         // inside the radiobox
-        (void)win->GetEventHandler()->ProcessEvent( event );
+        (void)win->HandleWindowEvent( event );
     }
 
     return FALSE;
@@ -139,14 +141,14 @@ static gint gtk_radiobutton_focus_in( GtkWidget *widget,
 }
 
 extern "C" {
-static gint gtk_radiobutton_focus_out( GtkWidget *widget,
+static gint gtk_radiobutton_focus_out( GtkWidget *WXUNUSED(widget),
                                        GdkEvent *WXUNUSED(event),
                                        wxRadioBox *win )
 {
-  //    wxASSERT_MSG( win->m_hasFocus, _T("got focus out without any focus in?") );
+  //    wxASSERT_MSG( win->m_hasFocus, wxT("got focus out without any focus in?") );
   // Replace with a warning, else we dump core a lot!
   //  if (!win->m_hasFocus)
-  //      wxLogWarning(_T("Radiobox got focus out without any focus in.") );
+  //      wxLogWarning(wxT("Radiobox got focus out without any focus in.") );
 
     // we might have lost the focus, but may be not - it may have just gone to
     // another button in the same radiobox, so we'll check for it in the next
@@ -200,16 +202,21 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
 
     m_widget = gtk_frame_new(NULL);
     SetLabel(title);
+    if ( HasFlag(wxNO_BORDER) )
+    {
+        // If we don't do this here, the wxNO_BORDER style is ignored in Show()
+        gtk_frame_set_shadow_type(GTK_FRAME(m_widget), GTK_SHADOW_NONE);
+    }
 
     // majorDim may be 0 if all trailing parameters were omitted, so don't
     // assert here but just use the correct value for it
     SetMajorDim(majorDim == 0 ? n : majorDim, style);
 
 
-    int num_of_cols = GetColumnCount();
-    int num_of_rows = GetRowCount();
+    unsigned int num_of_cols = GetColumnCount();
+    unsigned int num_of_rows = GetRowCount();
 
-    GtkRadioButton *m_radio = (GtkRadioButton*) NULL;
+    GtkRadioButton *m_radio = NULL;
 
     GtkWidget *table = gtk_table_new( num_of_rows, num_of_cols, FALSE );
     gtk_table_set_col_spacings( GTK_TABLE(table), 1 );
@@ -218,7 +225,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
     gtk_container_add( GTK_CONTAINER(m_widget), table );
 
     wxString label;
-    GSList *radio_button_group = (GSList *) NULL;
+    GSList *radio_button_group = NULL;
     for (int i = 0; i < n; i++)
     {
         if ( i != 0 )
@@ -290,7 +297,7 @@ wxRadioBox::~wxRadioBox()
     }
 }
 
-bool wxRadioBox::Show( bool show )
+bool wxRadioBox::Show(bool show)
 {
     wxCHECK_MSG( m_widget != NULL, false, wxT("invalid radiobox") );
 
@@ -375,7 +382,7 @@ int wxRadioBox::GetSelection(void) const
     return wxNOT_FOUND;
 }
 
-wxString wxRadioBox::GetString( int n ) const
+wxString wxRadioBox::GetString(unsigned int n) const
 {
     wxCHECK_MSG( m_widget != NULL, wxEmptyString, wxT("invalid radiobox") );
 
@@ -397,7 +404,7 @@ void wxRadioBox::SetLabel( const wxString& label )
     GTKSetLabelForFrame(GTK_FRAME(m_widget), label);
 }
 
-void wxRadioBox::SetString( int item, const wxString& label )
+void wxRadioBox::SetString(unsigned int item, const wxString& label)
 {
     wxCHECK_RET( m_widget != NULL, wxT("invalid radiobox") );
 
@@ -429,7 +436,7 @@ bool wxRadioBox::Enable( bool enable )
     return true;
 }
 
-bool wxRadioBox::Enable( int item, bool enable )
+bool wxRadioBox::Enable(unsigned int item, bool enable)
 {
     wxCHECK_MSG( m_widget != NULL, false, wxT("invalid radiobox") );
 
@@ -446,7 +453,7 @@ bool wxRadioBox::Enable( int item, bool enable )
     return true;
 }
 
-bool wxRadioBox::IsItemEnabled(int item) const
+bool wxRadioBox::IsItemEnabled(unsigned int item) const
 {
     wxCHECK_MSG( m_widget != NULL, false, wxT("invalid radiobox") );
 
@@ -461,7 +468,7 @@ bool wxRadioBox::IsItemEnabled(int item) const
     return GTK_WIDGET_SENSITIVE(GTK_WIDGET(button));
 }
 
-bool wxRadioBox::Show( int item, bool show )
+bool wxRadioBox::Show(unsigned int item, bool show)
 {
     wxCHECK_MSG( m_widget != NULL, false, wxT("invalid radiobox") );
 
@@ -479,7 +486,7 @@ bool wxRadioBox::Show( int item, bool show )
     return true;
 }
 
-bool wxRadioBox::IsItemShown(int item) const
+bool wxRadioBox::IsItemShown(unsigned int item) const
 {
     wxCHECK_MSG( m_widget != NULL, false, wxT("invalid radiobox") );
 
@@ -492,7 +499,7 @@ bool wxRadioBox::IsItemShown(int item) const
     return GTK_WIDGET_VISIBLE(GTK_WIDGET(button));
 }
 
-int wxRadioBox::GetCount() const
+unsigned int wxRadioBox::GetCount() const
 {
     return m_boxes.GetCount();
 }
@@ -544,7 +551,7 @@ void wxRadioBox::ApplyToolTip( GtkTooltips *tips, const wxChar *tip )
     while (node)
     {
         GtkWidget *widget = GTK_WIDGET( node->GetData() );
-        gtk_tooltips_set_tip( tips, widget, wxConvCurrent->cWX2MB(tip), (gchar*) NULL );
+        gtk_tooltips_set_tip( tips, widget, wxConvCurrent->cWX2MB(tip), NULL );
         node = node->GetNext();
     }
 }
@@ -579,7 +586,7 @@ void wxRadioBox::OnInternalIdle()
         wxFocusEvent event( wxEVT_KILL_FOCUS, GetId() );
         event.SetEventObject( this );
 
-        (void)GetEventHandler()->ProcessEvent( event );
+        (void)HandleWindowEvent( event );
     }
 
     if (g_delayedFocus == this)