From 2b4f3c9f768c91d1927c263f5db644cc16fca0b9 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Fri, 31 May 2002 14:17:23 +0000 Subject: [PATCH] replaced m_isRadioButton with a virtual function git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/gtk/radiobut.h | 46 ++++++++++++++++++++++---------------- include/wx/gtk/window.h | 4 +++- include/wx/gtk1/radiobut.h | 46 ++++++++++++++++++++++---------------- include/wx/gtk1/window.h | 4 +++- src/gtk/radiobut.cpp | 17 +++++++++----- src/gtk/window.cpp | 1 - src/gtk1/radiobut.cpp | 17 +++++++++----- src/gtk1/window.cpp | 1 - 8 files changed, 82 insertions(+), 54 deletions(-) diff --git a/include/wx/gtk/radiobut.h b/include/wx/gtk/radiobut.h index 04137acfe1..ef01bd838b 100644 --- a/include/wx/gtk/radiobut.h +++ b/include/wx/gtk/radiobut.h @@ -22,36 +22,44 @@ class wxRadioButton: public wxControl { public: - inline wxRadioButton() {} - inline wxRadioButton( wxWindow *parent, wxWindowID id, - const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxRadioButtonNameStr ) + wxRadioButton() { } + wxRadioButton( wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxRadioButtonNameStr ) { Create( parent, id, label, pos, size, style, validator, name ); } - bool Create(wxWindow *parent, wxWindowID id, - const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxRadioButtonNameStr ); + + bool Create( wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxRadioButtonNameStr ); + virtual void SetLabel(const wxString& label); virtual void SetValue(bool val); virtual bool GetValue() const; - bool Enable( bool enable ); - - // implementation - + virtual bool Enable( bool enable ); + + // implementation + + virtual bool IsRadioButton() const { return TRUE; } + GSList *m_radioButtonGroup; void ApplyWidgetStyle(); bool IsOwnGtkWindow( GdkWindow *window ); void OnInternalIdle(); - + bool m_blockEvent; - + protected: virtual wxSize DoGetBestSize() const; diff --git a/include/wx/gtk/window.h b/include/wx/gtk/window.h index f9116d3d20..5917cf4384 100644 --- a/include/wx/gtk/window.h +++ b/include/wx/gtk/window.h @@ -180,6 +180,9 @@ public: // is this window transparent for the mouse events (as wxStaticBox is)? virtual bool IsTransparentForMouse() const { return FALSE; } + // is this a radiobutton (used by radiobutton code itself only)? + virtual bool IsRadioButton() const { return FALSE; } + // position and size of the window int m_x, m_y; int m_width, m_height; @@ -214,7 +217,6 @@ public: bool m_hasVMT:1; bool m_sizeSet:1; bool m_resizing:1; - bool m_isRadioButton:1; // faster than IS_KIND_OF bool m_isFrame:1; // faster than IS_KIND_OF bool m_acceptsFocus:1; // true if not static bool m_hasFocus:1; // true if == FindFocus() diff --git a/include/wx/gtk1/radiobut.h b/include/wx/gtk1/radiobut.h index 04137acfe1..ef01bd838b 100644 --- a/include/wx/gtk1/radiobut.h +++ b/include/wx/gtk1/radiobut.h @@ -22,36 +22,44 @@ class wxRadioButton: public wxControl { public: - inline wxRadioButton() {} - inline wxRadioButton( wxWindow *parent, wxWindowID id, - const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxRadioButtonNameStr ) + wxRadioButton() { } + wxRadioButton( wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxRadioButtonNameStr ) { Create( parent, id, label, pos, size, style, validator, name ); } - bool Create(wxWindow *parent, wxWindowID id, - const wxString& label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxRadioButtonNameStr ); + + bool Create( wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxRadioButtonNameStr ); + virtual void SetLabel(const wxString& label); virtual void SetValue(bool val); virtual bool GetValue() const; - bool Enable( bool enable ); - - // implementation - + virtual bool Enable( bool enable ); + + // implementation + + virtual bool IsRadioButton() const { return TRUE; } + GSList *m_radioButtonGroup; void ApplyWidgetStyle(); bool IsOwnGtkWindow( GdkWindow *window ); void OnInternalIdle(); - + bool m_blockEvent; - + protected: virtual wxSize DoGetBestSize() const; diff --git a/include/wx/gtk1/window.h b/include/wx/gtk1/window.h index f9116d3d20..5917cf4384 100644 --- a/include/wx/gtk1/window.h +++ b/include/wx/gtk1/window.h @@ -180,6 +180,9 @@ public: // is this window transparent for the mouse events (as wxStaticBox is)? virtual bool IsTransparentForMouse() const { return FALSE; } + // is this a radiobutton (used by radiobutton code itself only)? + virtual bool IsRadioButton() const { return FALSE; } + // position and size of the window int m_x, m_y; int m_width, m_height; @@ -214,7 +217,6 @@ public: bool m_hasVMT:1; bool m_sizeSet:1; bool m_resizing:1; - bool m_isRadioButton:1; // faster than IS_KIND_OF bool m_isFrame:1; // faster than IS_KIND_OF bool m_acceptsFocus:1; // true if not static bool m_hasFocus:1; // true if == FindFocus() diff --git a/src/gtk/radiobut.cpp b/src/gtk/radiobut.cpp index 92b78d4223..c523b49eef 100644 --- a/src/gtk/radiobut.cpp +++ b/src/gtk/radiobut.cpp @@ -64,13 +64,17 @@ void gtk_radiobutton_clicked_callback( GtkToggleButton *button, wxRadioButton *r IMPLEMENT_DYNAMIC_CLASS(wxRadioButton,wxControl) -bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& label, - const wxPoint& pos, const wxSize& size, long style, - const wxValidator& validator, const wxString& name ) +bool wxRadioButton::Create( wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos, + const wxSize& size, + long style, + const wxValidator& validator, + const wxString& name ) { m_acceptsFocus = TRUE; m_needParent = TRUE; - m_isRadioButton = TRUE; m_blockEvent = FALSE; @@ -94,10 +98,11 @@ bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& lab while (node) { wxWindow *child = node->GetData(); - if (child->m_isRadioButton) + if (child->IsRadioButton()) { chief = (wxRadioButton*) child; - if (child->HasFlag(wxRB_GROUP)) break; + if (child->HasFlag(wxRB_GROUP)) + break; } node = node->GetPrevious(); } diff --git a/src/gtk/window.cpp b/src/gtk/window.cpp index a566c9ebdb..de255ce944 100644 --- a/src/gtk/window.cpp +++ b/src/gtk/window.cpp @@ -2263,7 +2263,6 @@ void wxWindowGTK::Init() m_insertCallback = (wxInsertChildFunction) NULL; - m_isRadioButton = FALSE; m_isFrame = FALSE; m_acceptsFocus = FALSE; m_hasFocus = FALSE; diff --git a/src/gtk1/radiobut.cpp b/src/gtk1/radiobut.cpp index 92b78d4223..c523b49eef 100644 --- a/src/gtk1/radiobut.cpp +++ b/src/gtk1/radiobut.cpp @@ -64,13 +64,17 @@ void gtk_radiobutton_clicked_callback( GtkToggleButton *button, wxRadioButton *r IMPLEMENT_DYNAMIC_CLASS(wxRadioButton,wxControl) -bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& label, - const wxPoint& pos, const wxSize& size, long style, - const wxValidator& validator, const wxString& name ) +bool wxRadioButton::Create( wxWindow *parent, + wxWindowID id, + const wxString& label, + const wxPoint& pos, + const wxSize& size, + long style, + const wxValidator& validator, + const wxString& name ) { m_acceptsFocus = TRUE; m_needParent = TRUE; - m_isRadioButton = TRUE; m_blockEvent = FALSE; @@ -94,10 +98,11 @@ bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& lab while (node) { wxWindow *child = node->GetData(); - if (child->m_isRadioButton) + if (child->IsRadioButton()) { chief = (wxRadioButton*) child; - if (child->HasFlag(wxRB_GROUP)) break; + if (child->HasFlag(wxRB_GROUP)) + break; } node = node->GetPrevious(); } diff --git a/src/gtk1/window.cpp b/src/gtk1/window.cpp index a566c9ebdb..de255ce944 100644 --- a/src/gtk1/window.cpp +++ b/src/gtk1/window.cpp @@ -2263,7 +2263,6 @@ void wxWindowGTK::Init() m_insertCallback = (wxInsertChildFunction) NULL; - m_isRadioButton = FALSE; m_isFrame = FALSE; m_acceptsFocus = FALSE; m_hasFocus = FALSE; -- 2.45.2