// Author: Vadim Zeitlin
// Modified by:
// Created: 11.09.00
-// RCS-ID: $Id$
// Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#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"
-WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxRadioButton *, wxArrayRadioButtons);
+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:
(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,
wxWindowID id,
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();
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
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);
// 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;