]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/radiobox.h
GTK's dnd is broken, not mine
[wxWidgets.git] / include / wx / msw / radiobox.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: radiobox.h
3 // Purpose: wxRadioBox class
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_RADIOBOX_H_
13 #define _WX_RADIOBOX_H_
14
15 #ifdef __GNUG__
16 #pragma interface "radiobox.h"
17 #endif
18
19 #include "wx/control.h"
20
21 WXDLLEXPORT_DATA(extern const char*) wxRadioBoxNameStr;
22
23 // List box item
24 class WXDLLEXPORT wxBitmap ;
25
26 class WXDLLEXPORT wxRadioBox: public wxControl
27 {
28 DECLARE_DYNAMIC_CLASS(wxRadioBox)
29 public:
30 wxRadioBox(void);
31
32 #if WXWIN_COMPATIBILITY
33 wxRadioBox(wxWindow *parent, wxFunction func, const char *title,
34 int x = -1, int y = -1, int width = -1, int height = -1,
35 int n = 0, char **choices = NULL,
36 int majorDim = 0, long style = wxRA_HORIZONTAL, const char *name = wxRadioBoxNameStr);
37
38 /*
39 inline wxRadioBox(wxWindow *parent, wxFunction func, const char *title,
40 int x, int y, int width, int height,
41 int n, wxBitmap **choices,
42 int majorDim = 0, long style = wxRA_HORIZONTAL, const char *name = wxRadioBoxNameStr)
43 {
44 Create(parent, -1, title, wxPoint(x, y), wxSize(width, height), n, (const wxBitmap **)choices, majorDim, style,
45 wxDefaultValidator, name);
46 Callback(func);
47 }
48 */
49
50 #endif
51
52 inline wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
53 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
54 int n = 0, const wxString choices[] = NULL,
55 int majorDim = 0, long style = wxRA_HORIZONTAL,
56 const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr)
57 {
58 Create(parent, id, title, pos, size, n, choices, majorDim, style, val, name);
59 }
60
61 /*
62 wxRadioBox(wxWindow *parent, wxWindowID id, const wxString& title,
63 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
64 int n = 0, const wxBitmap *choices[] = NULL,
65 int majorDim = 0, long style = wxRA_HORIZONTAL,
66 const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr)
67 {
68 Create(parent, id, title, pos, size, n, choices, majorDim, style, val, name);
69 }
70 */
71
72 ~wxRadioBox(void);
73
74 bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
75 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
76 int n = 0, const wxString choices[] = NULL,
77 int majorDim = 0, long style = wxRA_HORIZONTAL,
78 const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr);
79
80 /*
81 bool Create(wxWindow *parent, wxWindowID id, const wxString& title,
82 const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
83 int n = 0, const wxBitmap *choices[] = NULL,
84 int majorDim = 0, long style = wxRA_HORIZONTAL,
85 const wxValidator& val = wxDefaultValidator, const wxString& name = wxRadioBoxNameStr);
86 */
87
88 virtual bool MSWCommand(WXUINT param, WXWORD id);
89 virtual WXHBRUSH OnCtlColor(WXHDC pDC, WXHWND pWnd, WXUINT nCtlColor,
90 WXUINT message, WXWPARAM wParam, WXLPARAM lParam);
91
92 int FindString(const wxString& s) const;
93 void SetSelection(int N);
94 int GetSelection(void) const;
95 wxString GetString(int N) const;
96 void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
97 void GetSize(int *x, int *y) const;
98 void GetPosition(int *x, int *y) const;
99 wxString GetLabel(void) const;
100 void SetLabel(const wxString& label);
101 void SetLabel(int item, const wxString& label) ;
102 void SetLabel(int item, wxBitmap *bitmap) ;
103 wxString GetLabel(int item) const;
104 bool Show(bool show);
105 void SetFocus(void);
106 void Enable(bool enable);
107 void Enable(int item, bool enable);
108 void Show(int item, bool show) ;
109 inline void SetLabelFont(const wxFont& WXUNUSED(font)) {};
110 inline void SetButtonFont(const wxFont& font) { SetFont(font); }
111
112 virtual wxString GetStringSelection(void) const;
113 virtual bool SetStringSelection(const wxString& s);
114 inline virtual int Number(void) const { return m_noItems; } ;
115 void Command(wxCommandEvent& event);
116
117 inline int GetNumberOfRowsOrCols(void) const { return m_noRowsOrCols; }
118 inline void SetNumberOfRowsOrCols(int n) { m_noRowsOrCols = n; }
119
120 // Implementation
121 inline WXHWND *GetRadioButtons(void) const { return m_radioButtons; }
122 bool ContainsHWND(WXHWND hWnd) const ;
123
124 long MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
125
126 protected:
127 WXHWND * m_radioButtons;
128 int m_majorDim ;
129 int * m_radioWidth ; // for bitmaps
130 int * m_radioHeight ;
131
132 int m_noItems;
133 int m_noRowsOrCols;
134 int m_selectedButton;
135
136 };
137
138 #endif
139 // _WX_RADIOBOX_H_