// Purpose: interface of wxButton
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
@beginEventEmissionTable{wxCommandEvent}
@event{EVT_BUTTON(id, func)}
- Process a wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.
+ Process a @c wxEVT_COMMAND_BUTTON_CLICKED event, when the button is clicked.
@endEventTable
get reasonably good behaviour on all platforms.
All of the bitmaps must be of the same size and the normal bitmap must be
- set first (to a valid bitmap), before setting any other ones.
+ set first (to a valid bitmap), before setting any other ones. Also, if the
+ size of the bitmaps is changed later, you need to change the size of the
+ normal bitmap before setting any other bitmaps with the new size (and you
+ do need to reset all of them as their original values can be lost when the
+ normal bitmap size changes).
The position of the image inside the button be configured using
SetBitmapPosition(). By default the image is on the left of the text.
+ Please also notice that GTK+ uses a global setting called @c
+ gtk-button-images to determine if the images should be shown in the buttons
+ at all. If it is off (which is the case in e.g. Gnome 2.28 by default), no
+ images will be shown, consistently with the native behaviour.
+
@library{wxcore}
@category{ctrl}
@appearance{button.png}
The preferred way to create standard buttons is to use default value of
@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.
+ @ref page_stockitems "this list", a standard label will be used. In
+ other words, if you use a predefined @c wxID_XXX constant, just omit
+ the label completely rather than specifying it. In particular, help
+ buttons (the ones with @a id of @c wxID_HELP) under Mac OS X can't
+ display any label at all and while wxButton will detect if the standard
+ "Help" label is used and ignore it, using any other label will prevent
+ the button from correctly appearing as a help button and so should be
+ avoided.
+
In addition to that, the button will be decorated with stock icons under GTK+ 2.
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxButtonNameStr);
+ /**
+ Returns @true if an authentication needed symbol is displayed on the
+ button.
+
+ @remarks This method always returns @false if the platform is not
+ Windows Vista or newer.
+
+ @see SetAuthNeeded()
+
+ @since 2.9.1
+ */
+ bool GetAuthNeeded() const;
+
/**
Return the bitmap shown by the button.
*/
wxBitmap GetBitmapPressed() const;
+ /**
+ Get the margins between the bitmap and the text of the button.
+
+ @see SetBitmapMargins()
+
+ @since 2.9.1
+ */
+ wxSize GetBitmapMargins();
+
/**
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
*/
wxString GetLabel() const;
+ /**
+ Sets whether an authentication needed symbol should be displayed on the
+ button.
+
+ @remarks This method doesn't do anything if the platform is not Windows
+ Vista or newer.
+
+ @see GetAuthNeeded()
+
+ @since 2.9.1
+ */
+ void SetAuthNeeded(bool needed = true);
+
/**
Sets the bitmap to display in the button.