1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/palmos/radiobut.h
3// Purpose:     wxRadioButton class
4// Author:      William Osborne - minimal working wxPalmOS port
5// Modified by: Wlodzimierz ABX Skiba - native wxRadioButton implementation
6// Created:     10/13/04
7// RCS-ID:      $Id: radiobut.h 35650 2005-09-23 12:56:45Z MR $
8// Copyright:   (c) William Osborne, Wlodzimierz Skiba
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_RADIOBUT_H_
13#define _WX_RADIOBUT_H_
14
15class WXDLLEXPORT wxRadioButton: public wxControl
16{
17public:
18    // ctors and creation functions
19    wxRadioButton() { Init(); }
20
21    wxRadioButton(wxWindow *parent,
22                  wxWindowID id,
23                  const wxString& label,
24                  const wxPoint& pos = wxDefaultPosition,
25                  const wxSize& size = wxDefaultSize,
26                  long style = 0,
27                  const wxValidator& validator = wxDefaultValidator,
28                  const wxString& name = wxRadioButtonNameStr)
29    {
30        Init();
31
32        Create(parent, id, label, pos, size, style, validator, name);
33    }
34
35    bool Create(wxWindow *parent,
36                wxWindowID id,
37                const wxString& label,
38                const wxPoint& pos = wxDefaultPosition,
39                const wxSize& size = wxDefaultSize,
40                long style = 0,
41                const wxValidator& validator = wxDefaultValidator,
42                const wxString& name = wxRadioButtonNameStr);
43
44    // implement the radio button interface
45    virtual void SetValue(bool value);
46    virtual bool GetValue() const;
47
48    // implementation only from now on
49    virtual void Command(wxCommandEvent& event);
50    void SetGroup(uint8_t group);
51
52    // send a notification event, return true if processed
53    bool SendClickEvent();
54
55protected:
56    virtual wxSize DoGetBestSize() const;
57
58private:
59    // common part of all ctors
60    void Init();
61
62    uint8_t m_groupID;
63
64    // pushButtonCtl or checkboxCtl
65    int m_radioStyle;
66    DECLARE_DYNAMIC_CLASS_NO_COPY(wxRadioButton)
67};
68
69#endif
70    // _WX_RADIOBUT_H_
71