]> git.saurik.com Git - wxWidgets.git/blame - include/wx/motif/radiobut.h
avoiding crash for pure modifier events
[wxWidgets.git] / include / wx / motif / radiobut.h
CommitLineData
9b6dbb09 1/////////////////////////////////////////////////////////////////////////////
925f7740 2// Name: wx/motif/radiobut.h
9b6dbb09
JS
3// Purpose: wxRadioButton class
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
925f7740 9// Licence: wxWindows licence
9b6dbb09
JS
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_RADIOBUT_H_
13#define _WX_RADIOBUT_H_
14
53a2db12 15class WXDLLIMPEXP_CORE wxRadioButton: public wxControl
9b6dbb09 16{
a4294b78 17 DECLARE_DYNAMIC_CLASS(wxRadioButton)
a4294b78
JS
18public:
19 wxRadioButton();
d3c7fc99 20 virtual ~wxRadioButton() { RemoveFromCycle(); }
f37907ff 21
a4294b78 22 inline wxRadioButton(wxWindow *parent, wxWindowID id,
83df96d6
JS
23 const wxString& label,
24 const wxPoint& pos = wxDefaultPosition,
25 const wxSize& size = wxDefaultSize, long style = 0,
26 const wxValidator& validator = wxDefaultValidator,
27 const wxString& name = wxRadioButtonNameStr)
a4294b78
JS
28 {
29 Create(parent, id, label, pos, size, style, validator, name);
30 }
925f7740 31
a4294b78 32 bool Create(wxWindow *parent, wxWindowID id,
83df96d6
JS
33 const wxString& label,
34 const wxPoint& pos = wxDefaultPosition,
35 const wxSize& size = wxDefaultSize, long style = 0,
36 const wxValidator& validator = wxDefaultValidator,
37 const wxString& name = wxRadioButtonNameStr);
925f7740 38
a4294b78
JS
39 virtual void SetValue(bool val);
40 virtual bool GetValue() const ;
925f7740 41
a4294b78 42 void Command(wxCommandEvent& event);
925f7740 43
83df96d6 44 // Implementation
0d57be45 45 virtual void ChangeBackgroundColour();
f37907ff
MB
46
47 // *this function is an implementation detail*
f96b10c2 48 // clears the selection in the radiobuttons in the cycle
f37907ff
MB
49 // and returns the old selection (if any)
50 wxRadioButton* ClearSelections();
677dc0ed
JS
51protected:
52 virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
f37907ff
MB
53private:
54 wxRadioButton* AddInCycle(wxRadioButton* cycle);
55 void RemoveFromCycle();
56 wxRadioButton* NextInCycle() { return m_cycle; }
57
58 wxRadioButton *m_cycle;
9b6dbb09
JS
59};
60
9b6dbb09 61#endif
83df96d6 62// _WX_RADIOBUT_H_