X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9b6dbb09746f8f5ee0549a2ff39ae0ac4c725898..bad93b357fa3e94a6e69bb8db803979eb492e0cf:/include/wx/motif/radiobut.h diff --git a/include/wx/motif/radiobut.h b/include/wx/motif/radiobut.h index 582eb470f1..ebb0d1ad1e 100644 --- a/include/wx/motif/radiobut.h +++ b/include/wx/motif/radiobut.h @@ -22,32 +22,49 @@ WXDLLEXPORT_DATA(extern const char*) wxRadioButtonNameStr; class WXDLLEXPORT wxRadioButton: public wxControl { - DECLARE_DYNAMIC_CLASS(wxRadioButton) - protected: - 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) - { - Create(parent, id, label, pos, size, style, validator, name); - } + DECLARE_DYNAMIC_CLASS(wxRadioButton) +protected: +public: + wxRadioButton(); + ~wxRadioButton() { RemoveFromCycle(); } - 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); + 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) + { + 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); + + virtual void SetValue(bool val); + virtual bool GetValue() const ; + + void Command(wxCommandEvent& event); + + // Implementation + virtual void ChangeFont(bool keepOriginalSize = TRUE); + virtual void ChangeBackgroundColour(); + virtual void ChangeForegroundColour(); - virtual void SetLabel(const wxString& label); - virtual void SetValue(bool val); - virtual bool GetValue() const ; + // *this function is an implementation detail* + // clears the selection in the readiobuttons in the cycle + // and returns the old selection (if any) + wxRadioButton* ClearSelections(); +private: + wxRadioButton* AddInCycle(wxRadioButton* cycle); + void RemoveFromCycle(); + wxRadioButton* NextInCycle() { return m_cycle; } - void Command(wxCommandEvent& event); + wxRadioButton *m_cycle; }; // Not implemented @@ -58,33 +75,33 @@ WXDLLEXPORT_DATA(extern const char*) wxBitmapRadioButtonNameStr; class WXDLLEXPORT wxBitmapRadioButton: public wxRadioButton { - DECLARE_DYNAMIC_CLASS(wxBitmapRadioButton) - protected: - wxBitmap *theButtonBitmap; - public: - inline wxBitmapRadioButton() { theButtonBitmap = NULL; } - inline wxBitmapRadioButton(wxWindow *parent, wxWindowID id, - const wxBitmap *label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxBitmapRadioButtonNameStr) - { - Create(parent, id, label, pos, size, style, validator, name); - } - - bool Create(wxWindow *parent, wxWindowID id, - const wxBitmap *label, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxBitmapRadioButtonNameStr); - - virtual void SetLabel(const wxBitmap *label); - virtual void SetValue(bool val) ; - virtual bool GetValue() const ; + DECLARE_DYNAMIC_CLASS(wxBitmapRadioButton) +protected: + wxBitmap *theButtonBitmap; +public: + inline wxBitmapRadioButton() { theButtonBitmap = NULL; } + inline wxBitmapRadioButton(wxWindow *parent, wxWindowID id, + const wxBitmap *label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxBitmapRadioButtonNameStr) + { + Create(parent, id, label, pos, size, style, validator, name); + } + + bool Create(wxWindow *parent, wxWindowID id, + const wxBitmap *label, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxBitmapRadioButtonNameStr); + + virtual void SetLabel(const wxBitmap *label); + virtual void SetValue(bool val) ; + virtual bool GetValue() const ; }; #endif #endif - // _WX_RADIOBUT_H_ +// _WX_RADIOBUT_H_