button screenshot
Several predefined button IDs exist. All of them are associated with default icons used automatically when the given ID is assigned to a button:
PG_Button::OK
PG_Button::YES
PG_Button::NO
PG_Button::APPLY
PG_Button::CANCEL
PG_Button::CLOSE
PG_Button::HELP
widget type: Button (default)
object name: Button
PG_Widget theme
<widget> <type value="Button"/> <object> <name value="Button"/> <filename name="background0" value="default/button_unpressed.png"/> <filename name="background1" value="default/button_pressed.png"/> <filename name="background2" value="default/button_highlighted.png"/> <color name="textcolor" value="0x00ff9807"/> <property name="backmode0" value="TILE"/> <property name="backmode1" value="TILE"/> <property name="backmode2" value="TILE"/> <gradient name="gradient0" color0="0x000000FF" color1="0x000000FF" color2="0x000000FF" color3="0x000000FF"/> <gradient name="gradient1" color0="0x000000FF" color1="0x000000FF" color2="0x000000FF" color3="0x000000FF"/> <gradient name="gradient2" color0="0x000000FF" color1="0x000000FF" color2="0x000000FF" color3="0x000000FF"/> <property name="blend0" value="0"/> <property name="blend1" value="0"/> <property name="blend2" value="0"/> <property name="bordersize0" value="0"/> <property name="bordersize1" value="0"/> <property name="bordersize2" value="0"/> <property name="transparency0" value="0"/> <property name="transparency1" value="0"/> <property name="transparency2" value="0"/> <filename name="iconup" value="none"/> <filename name="icondown" value="none"/> </object> </widget>
dblbuffer.cpp, and paratest.cpp.
Public Types | |
enum | { OK = 0x80000001, YES = 0x80000002, NO = 0x80000003, APPLY = 0x80000004, CANCEL = 0x80000005, CLOSE = 0x80000006, HELP = 0x80000007 } |
Standard button IDs. More... | |
enum | STATE { PRESSED, UNPRESSED, HIGHLITED } |
Button states. More... | |
Public Member Functions | |
PG_Button (PG_Widget *parent, const PG_Rect &r=PG_Rect::null, const char *text=NULL, int id=-1, const char *style="Button") | |
Constructor for the PG_Button class. | |
virtual | ~PG_Button () |
void | LoadThemeStyle (const char *widgettype) |
Load a style from the theme definition. | |
void | LoadThemeStyle (const char *widgettype, const char *objectname) |
Load a style from the theme definition. | |
void | SetGradient (STATE state, const PG_Gradient &gradient) |
Set the gradient. | |
void | SetBackground (STATE state, SDL_Surface *background, int mode=BKMODE_TILE) |
Set the background. | |
void | SetBorderColor (int b, const PG_Color &color) |
Set the color of the border. | |
bool | SetIcon (const char *filenameup=NULL, const char *filenamedown=NULL, const char *filenameover=NULL) |
Set icons for the button. | |
bool | SetIcon (const char *filenameup, const char *filenamedown, const char *filenameover, const PG_Color &colorkey) |
Set icons for the button. | |
bool | SetIcon (SDL_Surface *icon_up, SDL_Surface *icon_down=NULL, SDL_Surface *icon_over=NULL) |
Set icons for the buttons. | |
SDL_Surface * | GetIcon (STATE num) |
Returns an image for a given button state. | |
void | SetIconIndent (Uint16 indent) |
Set the distance between the left border of the button and the icon. | |
void | SetBorderSize (int norm, int pressed, int high) |
Set the bordersize of the button. | |
void | SetToggle (bool bToggle) |
Make the button a toggle button. | |
void | SetPressed (bool pressed) |
If the button is a toggle button you can modify the status of the button with this function. | |
void | SetTransparency (Uint8 t, bool bRecursive=false) |
Set the transparency of the button. | |
void | SetTransparency (Uint8 norm, Uint8 pressed, Uint8 high) |
Set the transparency for the single button states. | |
void | SetShift (int pixelshift) |
Set the moving distance of the image when we press on it. | |
bool | GetPressed () |
Determine whether a given button is pressed. | |
void | SetBlendLevel (STATE mode, Uint8 blend) |
Set the blend-level of gradient and background image. | |
Uint8 | GetBlendLevel (STATE mode) |
Get the current blend level. | |
void | SetSizeByText (int Width=0, int Height=0, const char *Text=NULL) |
Resizes the button so that a specified text fits on it. | |
Public Attributes | |
SignalButtonClick | sigClick |
Protected Member Functions | |
virtual void | eventButtonSurface (SDL_Surface **surface, STATE newstate, Uint16 w, Uint16 h) |
void | eventBlit (SDL_Surface *surface, const PG_Rect &src, const PG_Rect &dst) |
overridable eventhandler to blit the widget contents to the screen | |
void | eventSizeWidget (Uint16 w, Uint16 h) |
Callback for the SizeWidget event. | |
void | eventMouseLeave () |
eventhandler for mouse movements. | |
void | eventMouseEnter () |
eventhandler for mouse movements. | |
bool | eventMouseButtonUp (const SDL_MouseButtonEvent *button) |
Overridable Eventhandler for a SDL_MouseButtonEvent message. | |
bool | eventMouseButtonDown (const SDL_MouseButtonEvent *button) |
Overridable Eventhandler for a SDL_MouseButtonEvent message. |
|
Standard button IDs.
|
|
Button states.
|
|
Constructor for the PG_Button class.
|
|
|
|
overridable eventhandler to blit the widget contents to the screen
Reimplemented from PG_Widget. |
|
|
|
Overridable Eventhandler for a SDL_MouseButtonEvent message. This handler is called when a mouse button is pressed. The default implementation returns 'false' which indicates that this message is not processed by this object.
Reimplemented from PG_MessageObject. |
|
Overridable Eventhandler for a SDL_MouseButtonEvent message. This handler is called when a mouse button is released. The default implementation returns 'false' which indicates that this message is not processed by this object.
Reimplemented from PG_MessageObject. |
|
eventhandler for mouse movements. This overrideable handler is called everytime the mouse cursor is entering the widget area. Reimplemented from PG_Widget. |
|
eventhandler for mouse movements. This overrideable handler is called everytime the mouse cursor is leaving the widget area. Reimplemented from PG_Widget. |
|
Callback for the SizeWidget event.
Reimplemented from PG_Widget. |
|
Get the current blend level.
|
|
Returns an image for a given button state.
|
|
Determine whether a given button is pressed. This can either mean that the user is clicking the button in the case of a push button, or that the button is toggled in the case of a toggle button.
|
|
Load a style from the theme definition.
Reimplemented from PG_Widget. |
|
Load a style from the theme definition.
Reimplemented from PG_Widget. |
|
Set the background.
|
|
Set the blend-level of gradient and background image.
|
|
Set the color of the border.
|
|
Set the bordersize of the button.
|
|
Set the gradient.
|
|
Set icons for the buttons.
|
|
Set icons for the button.
|
|
Set icons for the button.
|
|
Set the distance between the left border of the button and the icon.
|
|
If the button is a toggle button you can modify the status of the button with this function.
|
|
Set the moving distance of the image when we press on it.
|
|
Resizes the button so that a specified text fits on it.
Reimplemented from PG_Widget. |
|
Make the button a toggle button. A normal (push) button will return to an unpressed state when the user stops clicking it (releases the mouse button). A toggle button will stay pressed once it is pressed. The user must click the button a second time in order to unpress it.
|
|
Set the transparency for the single button states.
|
|
Set the transparency of the button.
Reimplemented from PG_Widget. |
|
|