wxWidgets/interface/wx/tglbtn.h

178 lines
5.4 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// Name: tglbtn.h
// Purpose: interface of wxBitmapToggleButton, wxToggleButton
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
wxEventType wxEVT_COMMAND_TOGGLEBUTTON_CLICKED;
/**
@class wxToggleButton
wxToggleButton is a button that stays pressed when clicked by the user.
In other words, it is similar to wxCheckBox in functionality but looks like a wxButton.
Since wxWidgets version 2.9.0 this control emits an update UI event.
You can see wxToggleButton in action in @ref page_samples_controls.
@beginEventEmissionTable{wxCommandEvent}
@event{EVT_TOGGLEBUTTON(id, func)}
Handles a wxEVT_COMMAND_TOGGLEBUTTON_CLICKED event.
@endEventTable
@library{wxcore}
@category{ctrl}
@appearance{togglebutton}
@see wxCheckBox, wxButton, wxBitmapToggleButton
*/
class wxToggleButton : public wxAnyButton
{
public:
/**
Default constructor.
*/
wxToggleButton();
/**
Constructor, creating and showing a toggle button.
@param parent
Parent window. Must not be @NULL.
@param id
Toggle button identifier. The value wxID_ANY indicates a default value.
@param label
Text to be displayed next to the toggle button.
@param pos
Toggle button position.
If ::wxDefaultPosition is specified then a default position is chosen.
@param size
Toggle button size.
If ::wxDefaultSize is specified then a default size is chosen.
@param style
Window style. See wxToggleButton.
@param val
Window validator.
@param name
Window name.
@see Create(), wxValidator
*/
wxToggleButton(wxWindow* parent, wxWindowID id,
const wxString& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& val = wxDefaultValidator,
const wxString& name = wxCheckBoxNameStr);
/**
Destructor, destroying the toggle button.
*/
virtual ~wxToggleButton();
/**
Creates the toggle button for two-step construction.
See wxToggleButton() for details.
*/
bool Create(wxWindow* parent, wxWindowID id,
const wxString& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& val = wxDefaultValidator,
const wxString& name = wxCheckBoxNameStr);
/**
Gets the state of the toggle button.
@return Returns @true if it is pressed, @false otherwise.
*/
virtual bool GetValue() const;
/**
Sets the toggle button to the given state.
This does not cause a @c EVT_TOGGLEBUTTON event to be emitted.
@param state
If @true, the button is pressed.
*/
virtual void SetValue(bool state);
};
/**
@class wxBitmapToggleButton
wxBitmapToggleButton is a wxToggleButton that contains a bitmap instead of
text.
This class is not available in all ports currently (although it is
available in the major ones), test for @c wxHAS_BITMAPTOGGLEBUTTON to
determine whether it can be used (in addition for possibly testing for
@c wxUSE_TOGGLEBTN which can be set to 0 to explicitly disable support for
this class and wxToggleButton).
This control emits an update UI event.
@beginEventEmissionTable{wxCommandEvent}
@event{EVT_TOGGLEBUTTON(id, func)}
Handles a wxEVT_COMMAND_TOGGLEBUTTON_CLICKED event.
@endEventTable
@library{wxcore}
@category{ctrl}
*/
class wxBitmapToggleButton : public wxToggleButton
{
public:
/**
Default constructor.
*/
wxBitmapToggleButton();
/**
Constructor, creating and showing a toggle button with the bitmap @e label.
Internally calls Create().
*/
wxBitmapToggleButton(wxWindow* parent, wxWindowID id,
const wxBitmap& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& val = wxDefaultValidator,
const wxString& name = wxCheckBoxNameStr);
/**
Create method for two-step construction.
*/
bool Create(wxWindow* parent, wxWindowID id,
const wxBitmap& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = 0,
const wxValidator& val = wxDefaultValidator,
const wxString& name = wxCheckBoxNameStr);
/**
Gets the state of the toggle button.
@return Returns @true if it is pressed, @false otherwise.
*/
virtual bool GetValue() const;
/**
Sets the toggle button to the given state.
This does not cause a @c EVT_TOGGLEBUTTON event to be emitted.
@param state
If @true, the button is pressed.
*/
virtual void SetValue(bool state);
};