2008-03-08 13:52:38 +00:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: button.h
|
2008-03-10 15:24:38 +00:00
|
|
|
// Purpose: interface of wxButton
|
2008-03-08 13:52:38 +00:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxButton
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-17 00:47:38 +00:00
|
|
|
A button is a control that contains a text string, and is one of the most
|
|
|
|
common elements of a GUI.
|
|
|
|
|
|
|
|
It may be placed on a @ref wxDialog "dialog box" or on a @ref wxPanel panel,
|
|
|
|
or indeed on almost any other window.
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@beginStyleTable
|
2008-04-06 14:43:04 +00:00
|
|
|
@style{wxBU_LEFT}
|
2008-03-08 13:52:38 +00:00
|
|
|
Left-justifies the label. Windows and GTK+ only.
|
2008-04-06 14:43:04 +00:00
|
|
|
@style{wxBU_TOP}
|
2008-03-08 13:52:38 +00:00
|
|
|
Aligns the label to the top of the button. Windows and GTK+ only.
|
2008-04-06 14:43:04 +00:00
|
|
|
@style{wxBU_RIGHT}
|
2008-03-08 13:52:38 +00:00
|
|
|
Right-justifies the bitmap label. Windows and GTK+ only.
|
2008-04-06 14:43:04 +00:00
|
|
|
@style{wxBU_BOTTOM}
|
2008-03-08 13:52:38 +00:00
|
|
|
Aligns the label to the bottom of the button. Windows and GTK+ only.
|
2008-04-06 14:43:04 +00:00
|
|
|
@style{wxBU_EXACTFIT}
|
2008-03-08 13:52:38 +00:00
|
|
|
Creates the button as small as possible instead of making it of the
|
|
|
|
standard size (which is the default behaviour ).
|
2008-04-06 14:43:04 +00:00
|
|
|
@style{wxBORDER_NONE}
|
2008-03-08 13:52:38 +00:00
|
|
|
Creates a flat button. Windows and GTK+ only.
|
|
|
|
@endStyleTable
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-28 16:19:12 +00:00
|
|
|
@beginEventTable{wxCommandEvent}
|
2008-04-06 14:43:04 +00:00
|
|
|
@event{EVT_BUTTON(id, func)}
|
2008-03-17 00:47:38 +00:00
|
|
|
Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.
|
2008-03-08 13:52:38 +00:00
|
|
|
@endEventTable
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@library{wxcore}
|
|
|
|
@category{ctrl}
|
2008-05-02 04:52:42 +00:00
|
|
|
<!-- @appearance{button.png} -->
|
2008-03-08 14:43:31 +00:00
|
|
|
|
2008-03-10 15:24:38 +00:00
|
|
|
@see wxBitmapButton
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
class wxButton : public wxControl
|
|
|
|
{
|
|
|
|
public:
|
2008-03-17 00:47:38 +00:00
|
|
|
/**
|
|
|
|
Default ctor.
|
|
|
|
*/
|
|
|
|
wxButton();
|
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
/**
|
|
|
|
Constructor, creating and showing a button.
|
2008-03-17 00:47:38 +00:00
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
The preferred way to create standard buttons is to use default value of
|
2008-03-17 00:47:38 +00:00
|
|
|
@a label. If no label is supplied and @a id is one of standard IDs from
|
|
|
|
@ref page_stockitems "this list", a standard label will be used.
|
|
|
|
|
|
|
|
In addition to that, the button will be decorated with stock icons under GTK+ 2.
|
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param parent
|
2008-03-09 12:33:59 +00:00
|
|
|
Parent window. Must not be @NULL.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param id
|
2008-03-09 12:33:59 +00:00
|
|
|
Button identifier. A value of wxID_ANY indicates a default value.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param label
|
2008-03-09 12:33:59 +00:00
|
|
|
Text to be displayed on the button.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param pos
|
2008-03-09 12:33:59 +00:00
|
|
|
Button position.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param size
|
2008-03-09 12:33:59 +00:00
|
|
|
Button size. If the default size is specified then the button is sized
|
|
|
|
appropriately for the text.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param style
|
2008-03-17 00:47:38 +00:00
|
|
|
Window style. See wxButton class description.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param validator
|
2008-03-09 12:33:59 +00:00
|
|
|
Window validator.
|
2008-03-08 14:43:31 +00:00
|
|
|
@param name
|
2008-03-09 12:33:59 +00:00
|
|
|
Window name.
|
2008-03-17 00:47:38 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see Create(), wxValidator
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-08 14:43:31 +00:00
|
|
|
wxButton(wxWindow* parent, wxWindowID id,
|
|
|
|
const wxString& label = wxEmptyString,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = 0,
|
|
|
|
const wxValidator& validator = wxDefaultValidator,
|
2008-03-25 12:22:08 +00:00
|
|
|
const wxString& name = wxButtonNameStr);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Destructor, destroying the button.
|
|
|
|
*/
|
2008-03-24 22:17:25 +00:00
|
|
|
virtual ~wxButton();
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
2008-03-17 00:47:38 +00:00
|
|
|
Button creation function for two-step creation.
|
|
|
|
For more details, see wxButton().
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
bool Create(wxWindow* parent, wxWindowID id,
|
|
|
|
const wxString& label = wxEmptyString,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = 0,
|
2008-03-25 12:22:08 +00:00
|
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
|
|
const wxString& name = wxButtonNameStr);
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the default size for the buttons. It is advised to make all the dialog
|
|
|
|
buttons of the same size and this function allows to retrieve the (platform and
|
|
|
|
current font dependent size) which should be the best suited for this.
|
|
|
|
*/
|
2008-03-24 22:17:25 +00:00
|
|
|
static wxSize GetDefaultSize();
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns the string label for the button.
|
2008-03-17 00:47:38 +00:00
|
|
|
|
2008-03-09 12:33:59 +00:00
|
|
|
@see SetLabel()
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-09 16:24:26 +00:00
|
|
|
wxString GetLabel() const;
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
2008-03-27 21:14:31 +00:00
|
|
|
This sets the button to be the default item in its top-level window
|
|
|
|
(e.g. the panel or the dialog box containing it).
|
2008-03-17 00:47:38 +00:00
|
|
|
|
|
|
|
As normal, pressing return causes the default button to be depressed when
|
|
|
|
the return key is pressed.
|
|
|
|
|
|
|
|
See also wxWindow::SetFocus() which sets the keyboard focus for windows
|
|
|
|
and text panel items, and wxTopLevelWindow::SetDefaultItem().
|
|
|
|
|
2008-03-08 13:52:38 +00:00
|
|
|
@remarks Under Windows, only dialog box buttons respond to this function.
|
2008-03-27 21:14:31 +00:00
|
|
|
|
2008-05-11 01:38:53 +00:00
|
|
|
@return the old default item (possibly NULL)
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
2008-03-27 21:14:31 +00:00
|
|
|
virtual wxWindow* SetDefault();
|
2008-03-08 13:52:38 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Sets the string label for the button.
|
2008-03-17 00:47:38 +00:00
|
|
|
|
2008-03-08 14:43:31 +00:00
|
|
|
@param label
|
2008-03-09 12:33:59 +00:00
|
|
|
The label to set.
|
2008-03-08 13:52:38 +00:00
|
|
|
*/
|
|
|
|
void SetLabel(const wxString& label);
|
|
|
|
};
|
2008-03-10 15:24:38 +00:00
|
|
|
|