]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/motif/radiobox.h
fixing infinite recursion for rotated text, introduced in cleanup r57915
[wxWidgets.git] / include / wx / motif / radiobox.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/motif/radiobox.h
3// Purpose: wxRadioBox class
4// Author: Julian Smart
5// Modified by:
6// Created: 17/09/98
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_MOTIF_RADIOBOX_H_
13#define _WX_MOTIF_RADIOBOX_H_
14
15#ifndef wxWIDGET_ARRAY_DEFINED
16 #define wxWIDGET_ARRAY_DEFINED
17
18 #include "wx/dynarray.h"
19 WX_DEFINE_ARRAY_PTR(WXWidget, wxWidgetArray);
20#endif // wxWIDGET_ARRAY_DEFINED
21
22#include "wx/arrstr.h"
23
24class WXDLLIMPEXP_CORE wxRadioBox : public wxControl, public wxRadioBoxBase
25{
26public:
27 wxRadioBox() { Init(); }
28
29 wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
30 const wxPoint& pos = wxDefaultPosition,
31 const wxSize& size = wxDefaultSize,
32 int n = 0, const wxString choices[] = NULL,
33 int majorDim = 0, long style = wxRA_HORIZONTAL,
34 const wxValidator& val = wxDefaultValidator,
35 const wxString& name = wxRadioBoxNameStr)
36 {
37 Init();
38
39 Create(parent, id, title, pos, size, n, choices,
40 majorDim, style, val, name);
41 }
42
43 wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
44 const wxPoint& pos,
45 const wxSize& size,
46 const wxArrayString& choices,
47 int majorDim = 0, long style = wxRA_HORIZONTAL,
48 const wxValidator& val = wxDefaultValidator,
49 const wxString& name = wxRadioBoxNameStr)
50 {
51 Init();
52
53 Create(parent, id, title, pos, size, choices,
54 majorDim, style, val, name);
55 }
56
57 virtual ~wxRadioBox();
58
59 bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
60 const wxPoint& pos = wxDefaultPosition,
61 const wxSize& size = wxDefaultSize,
62 int n = 0, const wxString choices[] = NULL,
63 int majorDim = 0, long style = wxRA_HORIZONTAL,
64 const wxValidator& val = wxDefaultValidator,
65 const wxString& name = wxRadioBoxNameStr);
66
67 bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
68 const wxPoint& pos,
69 const wxSize& size,
70 const wxArrayString& choices,
71 int majorDim = 0, long style = wxRA_HORIZONTAL,
72 const wxValidator& val = wxDefaultValidator,
73 const wxString& name = wxRadioBoxNameStr);
74
75 // Enabling
76 virtual bool Enable(bool enable = true);
77 virtual bool Enable(unsigned int item, bool enable = true);
78 virtual bool IsItemEnabled(unsigned int WXUNUSED(n)) const
79 {
80 /* TODO */
81 return true;
82 }
83
84 // Showing
85 virtual bool Show(bool show = true);
86 virtual bool Show(unsigned int item, bool show = true);
87 virtual bool IsItemShown(unsigned int WXUNUSED(n)) const
88 {
89 /* TODO */
90 return true;
91 }
92
93 virtual void SetSelection(int n);
94 int GetSelection() const;
95
96 virtual void SetString(unsigned int item, const wxString& label);
97 virtual wxString GetString(unsigned int item) const;
98
99 virtual wxString GetStringSelection() const;
100 virtual bool SetStringSelection(const wxString& s);
101 virtual unsigned int GetCount() const { return m_noItems; } ;
102 void Command(wxCommandEvent& event);
103
104 int GetNumberOfRowsOrCols() const { return m_noRowsOrCols; }
105 void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; }
106
107 // Implementation
108 virtual void ChangeFont(bool keepOriginalSize = true);
109 virtual void ChangeBackgroundColour();
110 virtual void ChangeForegroundColour();
111 const wxWidgetArray& GetRadioButtons() const { return m_radioButtons; }
112 void SetSel(int i) { m_selectedButton = i; }
113 virtual WXWidget GetLabelWidget() const { return m_labelWidget; }
114
115protected:
116 virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
117 virtual void DoSetSize(int x, int y,
118 int width, int height,
119 int sizeFlags = wxSIZE_AUTO);
120
121 unsigned int m_noItems;
122 int m_noRowsOrCols;
123 int m_selectedButton;
124
125 wxWidgetArray m_radioButtons;
126 WXWidget m_labelWidget;
127 wxArrayString m_radioButtonLabels;
128
129private:
130 void Init();
131
132 DECLARE_DYNAMIC_CLASS(wxRadioBox)
133};
134
135#endif // _WX_MOTIF_RADIOBOX_H_