X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a290fa5a7deebe9d96c0c0089d18e27d4bd9b624..d642db66a5efc82d374b813022c72ba88bc50839:/include/wx/univ/radiobox.h diff --git a/include/wx/univ/radiobox.h b/include/wx/univ/radiobox.h index cb915c9a65..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,7 +23,7 @@ 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: @@ -88,15 +84,17 @@ 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); @@ -104,6 +102,10 @@ public: 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 @@ -118,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); @@ -129,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;