]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/radiobox.cpp
fixing modal dialog quit after nested message box problem
[wxWidgets.git] / src / gtk1 / radiobox.cpp
index 83252b6c3739997618d067899e83dca96bc1605e..1a5c86feecdd549c644897de8409cd7a5c5f732a 100644 (file)
 
 #ifndef WX_PRECOMP
     #include "wx/log.h"
+    #include "wx/frame.h"
+    #include "wx/dialog.h"
 #endif
 
-#include "wx/dialog.h"
-#include "wx/frame.h"
-
 #include "wx/gtk1/private.h"
 #include <gdk/gdkkeysyms.h>
 
@@ -58,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);
 }
 }
 
@@ -116,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 )
 {
@@ -134,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;
@@ -142,7 +141,7 @@ 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 )
 {
@@ -203,6 +202,11 @@ 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
@@ -212,7 +216,7 @@ bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title,
     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 );
@@ -221,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 )
@@ -547,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();
     }
 }
@@ -582,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)