1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/msw/tglbtn.h
3// Purpose:     Declaration of the wxToggleButton class, which implements a
4//              toggle button under wxMSW.
5// Author:      John Norris, minor changes by Axel Schlueter
6// Modified by:
7// Created:     08.02.01
8// RCS-ID:      $Id: tglbtn.h 37393 2006-02-08 21:47:09Z VZ $
9// Copyright:   (c) 2000 Johnny C. Norris II
10// License:     wxWindows licence
11/////////////////////////////////////////////////////////////////////////////
12
13#ifndef _WX_TOGGLEBUTTON_H_
14#define _WX_TOGGLEBUTTON_H_
15
16extern WXDLLEXPORT_DATA(const wxChar) wxCheckBoxNameStr[];
17
18// Checkbox item (single checkbox)
19class WXDLLEXPORT wxToggleButton : public wxControl
20{
21public:
22    wxToggleButton() {}
23    wxToggleButton(wxWindow *parent,
24                   wxWindowID id,
25                   const wxString& label,
26                   const wxPoint& pos = wxDefaultPosition,
27                   const wxSize& size = wxDefaultSize,
28                   long style = 0,
29                   const wxValidator& validator = wxDefaultValidator,
30                   const wxString& name = wxCheckBoxNameStr)
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 = wxCheckBoxNameStr);
43
44    virtual void SetValue(bool value);
45    virtual bool GetValue() const ;
46
47    virtual bool MSWCommand(WXUINT param, WXWORD id);
48    virtual void Command(wxCommandEvent& event);
49    virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const;
50
51protected:
52    virtual wxSize DoGetBestSize() const;
53    virtual wxBorder GetDefaultBorder() const;
54
55private:
56    DECLARE_DYNAMIC_CLASS_NO_COPY(wxToggleButton)
57};
58
59#endif // _WX_TOGGLEBUTTON_H_
60
61