X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1169a91932273bc84c23ed9dbd0a2da064d59d66..0b632977d75f403b7bc043d48a1c15e7394c546c:/include/wx/univ/radiobox.h diff --git a/include/wx/univ/radiobox.h b/include/wx/univ/radiobox.h index d74e0f3f5b..a66adfa215 100644 --- a/include/wx/univ/radiobox.h +++ b/include/wx/univ/radiobox.h @@ -12,11 +12,7 @@ #ifndef _WX_UNIV_RADIOBOX_H_ #define _WX_UNIV_RADIOBOX_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "univradiobox.h" -#endif - -class WXDLLEXPORT wxRadioButton; +class WXDLLIMPEXP_FWD_CORE wxRadioButton; #include "wx/statbox.h" #include "wx/dynarray.h" @@ -27,12 +23,12 @@ WX_DEFINE_EXPORTED_ARRAY_PTR(wxRadioButton *, wxArrayRadioButtons); // wxRadioBox: a box full of radio buttons // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxRadioBox : public wxStaticBox, +class WXDLLIMPEXP_CORE wxRadioBox : public wxStaticBox, public wxRadioBoxBase { public: // wxRadioBox construction - wxRadioBox(); + wxRadioBox() { Init(); } wxRadioBox(wxWindow *parent, wxWindowID id, @@ -43,6 +39,22 @@ public: int majorDim = 0, long style = wxRA_SPECIFY_COLS, const wxValidator& val = wxDefaultValidator, + const wxString& name = wxRadioBoxNameStr) + { + Init(); + + (void)Create(parent, id, title, pos, size, n, choices, + majorDim, style, val, name); + } + wxRadioBox(wxWindow *parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + int majorDim = 0, + long style = wxRA_SPECIFY_COLS, + const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr); bool Create(wxWindow *parent, @@ -55,6 +67,16 @@ public: long style = wxRA_SPECIFY_COLS, const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr); + bool Create(wxWindow *parent, + wxWindowID id, + const wxString& title, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + int majorDim = 0, + long style = wxRA_SPECIFY_COLS, + const wxValidator& val = wxDefaultValidator, + const wxString& name = wxRadioBoxNameStr); virtual ~wxRadioBox(); @@ -62,22 +84,28 @@ public: virtual void SetSelection(int n); virtual int GetSelection() const; - virtual int GetCount() const { return m_buttons.GetCount(); } - virtual int GetColumnCount() const { return m_numCols; } - virtual int GetRowCount() const { return m_numRows; } + virtual unsigned int GetCount() const + { return (unsigned int)m_buttons.GetCount(); } + + virtual wxString GetString(unsigned int n) const; + virtual void SetString(unsigned int n, const wxString& label); - virtual wxString GetString(int n) const; - virtual void SetString(int n, const wxString& label); + virtual bool Enable(unsigned int n, bool enable = true); + virtual bool Show(unsigned int n, bool show = true); - virtual void Enable(int n, bool enable = TRUE); - virtual void Show(int n, bool show = TRUE); + virtual bool IsItemEnabled(unsigned int n) const; + virtual bool IsItemShown(unsigned int n) const; // we also override the wxControl methods to avoid virtual function hiding - virtual bool Enable(bool enable = TRUE); - virtual bool Show(bool show = TRUE); + virtual bool Enable(bool enable = true); + virtual bool Show(bool show = true); virtual wxString GetLabel() const; virtual void SetLabel(const wxString& label); + // we inherit a version always returning false from wxStaticBox, override + // it to behave normally + virtual bool AcceptsFocus() const { return wxControl::AcceptsFocus(); } + #if wxUSE_TOOLTIPS virtual void DoSetToolTip( wxToolTip *tip ); #endif // wxUSE_TOOLTIPS @@ -92,6 +120,8 @@ public: bool OnKeyDown(wxKeyEvent& event); protected: + virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } + // override the base class methods dealing with window positioning/sizing // as we must move/size the buttons as well virtual void DoMoveWindow(int x, int y, int width, int height); @@ -103,27 +133,12 @@ protected: // common part of all ctors void Init(); - // check that the index is valid - bool IsValid(int n) const { return n >= 0 && n < GetCount(); } - - // sets m_majorDim and calculate m_numCols and m_numRows - void SetMajorDim(int majorDim); - // calculate the max size of all buttons wxSize GetMaxButtonSize() const; // the currently selected radio button or -1 int m_selection; - // the parameters defining the button layout: majorDim meaning depends on - // the style and is the (max) number of columns if it includes - // wxRA_SPECIFY_COLS and is the (max) number of rows if it includes - // wxRA_SPECIFY_ROWS - the number of rows and columns is calculated from - // it - int m_majorDim, - m_numCols, - m_numRows; - // all radio buttons wxArrayRadioButtons m_buttons;