diff --git a/include/wx/gtk/menu.h b/include/wx/gtk/menu.h index 300a1918b8..9896ab085e 100644 --- a/include/wx/gtk/menu.h +++ b/include/wx/gtk/menu.h @@ -114,7 +114,11 @@ public: inline void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; } inline wxEvtHandler *GetEventHandler() { return m_eventHandler; } -public: + inline void SetClientData( void* clientData ) { m_clientData = clientData; } + inline void* GetClientData() const { return m_clientData; } + +// implementation + int FindMenuIdByMenuItem( GtkWidget *menuItem ) const; void SetInvokingWindow( wxWindow *win ); wxWindow *GetInvokingWindow(); @@ -124,6 +128,7 @@ public: wxWindow *m_invokingWindow; wxFunction m_callback; wxEvtHandler *m_eventHandler; + void *m_clientData; GtkWidget *m_menu; // GtkMenu }; diff --git a/include/wx/gtk1/menu.h b/include/wx/gtk1/menu.h index 300a1918b8..9896ab085e 100644 --- a/include/wx/gtk1/menu.h +++ b/include/wx/gtk1/menu.h @@ -114,7 +114,11 @@ public: inline void SetEventHandler(wxEvtHandler *handler) { m_eventHandler = handler; } inline wxEvtHandler *GetEventHandler() { return m_eventHandler; } -public: + inline void SetClientData( void* clientData ) { m_clientData = clientData; } + inline void* GetClientData() const { return m_clientData; } + +// implementation + int FindMenuIdByMenuItem( GtkWidget *menuItem ) const; void SetInvokingWindow( wxWindow *win ); wxWindow *GetInvokingWindow(); @@ -124,6 +128,7 @@ public: wxWindow *m_invokingWindow; wxFunction m_callback; wxEvtHandler *m_eventHandler; + void *m_clientData; GtkWidget *m_menu; // GtkMenu }; diff --git a/src/gtk/menu.cpp b/src/gtk/menu.cpp index d01b340ad2..577e5fa2a4 100644 --- a/src/gtk/menu.cpp +++ b/src/gtk/menu.cpp @@ -262,8 +262,11 @@ wxMenu::wxMenu( const wxString& title, const wxFunction func ) m_items.DeleteContents( TRUE ); m_invokingWindow = (wxWindow *) NULL; m_menu = gtk_menu_new(); // Do not show! + m_callback = func; m_eventHandler = this; + m_clientData = (void*) NULL; + if (m_title.IsNull()) m_title = ""; if (m_title != "") { diff --git a/src/gtk/textctrl.cpp b/src/gtk/textctrl.cpp index 127c5d9093..b6033cce3a 100644 --- a/src/gtk/textctrl.cpp +++ b/src/gtk/textctrl.cpp @@ -84,7 +84,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value, // ... and put into the upper left hand corner of the table m_widget = gtk_table_new(bHasHScrollbar ? 2 : 1, 2, FALSE); gtk_table_attach( GTK_TABLE(m_widget), m_text, 0, 1, 0, 1, - (GtkAttachOptions)(GTK_FILL | GTK_EXPAND), + (GtkAttachOptions)(GTK_FILL | GTK_EXPAND | GTK_SHRINK), (GtkAttachOptions)(GTK_FILL | GTK_EXPAND | GTK_SHRINK), 0, 0); diff --git a/src/gtk1/menu.cpp b/src/gtk1/menu.cpp index d01b340ad2..577e5fa2a4 100644 --- a/src/gtk1/menu.cpp +++ b/src/gtk1/menu.cpp @@ -262,8 +262,11 @@ wxMenu::wxMenu( const wxString& title, const wxFunction func ) m_items.DeleteContents( TRUE ); m_invokingWindow = (wxWindow *) NULL; m_menu = gtk_menu_new(); // Do not show! + m_callback = func; m_eventHandler = this; + m_clientData = (void*) NULL; + if (m_title.IsNull()) m_title = ""; if (m_title != "") { diff --git a/src/gtk1/textctrl.cpp b/src/gtk1/textctrl.cpp index 127c5d9093..b6033cce3a 100644 --- a/src/gtk1/textctrl.cpp +++ b/src/gtk1/textctrl.cpp @@ -84,7 +84,7 @@ bool wxTextCtrl::Create( wxWindow *parent, wxWindowID id, const wxString &value, // ... and put into the upper left hand corner of the table m_widget = gtk_table_new(bHasHScrollbar ? 2 : 1, 2, FALSE); gtk_table_attach( GTK_TABLE(m_widget), m_text, 0, 1, 0, 1, - (GtkAttachOptions)(GTK_FILL | GTK_EXPAND), + (GtkAttachOptions)(GTK_FILL | GTK_EXPAND | GTK_SHRINK), (GtkAttachOptions)(GTK_FILL | GTK_EXPAND | GTK_SHRINK), 0, 0);