From 3f16e52c1396f7d58b29b2eea22d7715f0f4596b Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Mon, 16 Jun 2008 13:32:43 +0000 Subject: [PATCH] Ticket #9592: gtk-choice-setcolumns.2.diff git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54266 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/gtk/choice.h | 3 +++ interface/choice.h | 8 ++++---- src/gtk/choice.cpp | 14 ++++++++++++++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/include/wx/gtk/choice.h b/include/wx/gtk/choice.h index 00d21b1718..a0750e61b7 100644 --- a/include/wx/gtk/choice.h +++ b/include/wx/gtk/choice.h @@ -72,6 +72,9 @@ public: virtual wxString GetString(unsigned int n) const; virtual void SetString(unsigned int n, const wxString& string); + virtual void SetColumns(int n=1); + virtual int GetColumns() const; + virtual void DisableEvents(); virtual void EnableEvents(); diff --git a/interface/choice.h b/interface/choice.h index db7d1c10bf..acb6033101 100644 --- a/interface/choice.h +++ b/interface/choice.h @@ -117,8 +117,8 @@ public: /** Gets the number of columns in this choice item. - @remarks This is implemented for Motif only and always returns 1 for - the other platforms. + @remarks This is implemented for GTK and Motif only and always + returns 1 for the other platforms. */ int GetColumns() const; @@ -142,8 +142,8 @@ public: @param n Number of columns. - @remarks This is implemented for Motif only and doesn’t do anything - under other platforms. + @remarks This is implemented for GTK and Motif only and doesn’t do + anything under other platforms. */ void SetColumns(int n = 1); }; diff --git a/src/gtk/choice.cpp b/src/gtk/choice.cpp index 5028a57cf0..2427fdc73f 100644 --- a/src/gtk/choice.cpp +++ b/src/gtk/choice.cpp @@ -306,6 +306,20 @@ void wxChoice::SetSelection( int n ) EnableEvents(); } +void wxChoice::SetColumns(int n) +{ + gtk_combo_box_set_wrap_width(GTK_COMBO_BOX(m_widget), n); +} + +int wxChoice::GetColumns() const +{ + // gtk_combo_box_get_wrap_width() was added in gtk 2.6 + gint intval; + g_object_get(G_OBJECT(m_widget), "wrap-width", &intval, NULL); + return intval; +} + + void wxChoice::DisableEvents() { g_signal_handlers_block_by_func(m_widget, -- 2.45.2