GLOW API version 1.0 reference

Back to
Table of contents


class GlowPushButtonWidget

General information

type: class
inherits: GlowWidget
module: glowPushButtonWidget

GlowPushButtonWidget is a pushbutton widget.

GLOW programs that make use of pushbutton widgets should use this class.

Constants

Behaviors

enum GlowPushButtonWidget::Behavior normalBehavior

Normal pushbutton behavior (state reverts to up after releasing the button.)

enum GlowPushButtonWidget::Behavior toggleBehavior

Pressing the button toggles its state between up and down.

enum GlowPushButtonWidget::Behavior stickDownBehavior

Pressing the button sets the state to down, regardless of the previous state.

Inherited constants
These constants are inherited from GlowWidget.

enum GlowWidget::AutoPackError noAutoPackError
enum GlowWidget::AutoPackError hAutoPackError
enum GlowWidget::AutoPackError vAutoPackError

enum GlowWidget::AutoPackOptions noReshape
enum GlowWidget::AutoPackOptions preferredSize
enum GlowWidget::AutoPackOptions expandPreferredSize
enum GlowWidget::AutoPackOptions forcedSize
enum GlowWidget::AutoPackOptions noMove
enum GlowWidget::AutoPackOptions leftPos
enum GlowWidget::AutoPackOptions rightPos
enum GlowWidget::AutoPackOptions topPos
enum GlowWidget::AutoPackOptions bottomPos
enum GlowWidget::AutoPackOptions centerPos

enum { unspecifiedSize }
enum { unspecifiedPos }

Methods

Constructors and destructor

GlowPushButtonWidget(GlowWidget* parent, const GlowPushButtonParams& params)

Creates a new GlowPushButtonWidget using the given params and adds it to parent's children.

GlowPushButtonWidget(GlowWidgetRoot* root, const GlowPushButtonParams& params)

Creates a new GlowPushButtonWidget using the given params and adds it to the top level under root.

GlowPushButtonWidget(void)

Creates a new GlowPushButtonWidget but does not initialize it. A button created in this way may not be used until its Init() method is called.

void Init(GlowWidget* parent, const GlowPushButtonParams& params)

Initializes a new GlowPushButtonWidget using the given params and adds it to parent's children.

void Init(GlowWidgetRoot* root, const GlowPushButtonParams& params)

Initializes a new GlowPushButtonWidget using the given params and adds it to the top level under root.

virtual ~GlowPushButtonWidget(void)

Attributes

const char* GetText(void) const

Returns the label string for the button.

void SetText(const char* text)

Sets the label string for the button.

GlowFont GetFont(void) const

Returns the font for the button label.

void SetFont(GlowFont font)

Sets the font for the button label.

bool IsDown(void) const

Returns the state of the button.

void SetDown(bool down)

Sets the state of the button.

void ToggleState(void)

Toggles the state of the button according to the current behavior.

GlowPushButtonWidget::Behavior GetBehavior(void) const

Returns the behavior of the button.

void SetBehavior(GlowPushButtonWidget::Behavior behavior)

Sets the behavior of the button.

Color attributes

GlowColor GetUpBoxColor(void) const

void SetUpBoxColor(GlowColor c)

GlowColor GetUpTextColor(void) const

void SetUpTextColor(GlowColor c)

GlowColor GetDownBoxColor(void) const

void SetDownBoxColor(GlowColor c)

GlowColor GetDownTextColor(void) const

void SetDownTextColor(GlowColor c)

GlowColor GetHiliteBoxColor(void) const

void SetHiliteBoxColor(GlowColor c)

GlowColor GetHiliteTextColor(void) const

void SetHiliteTextColor(GlowColor c)

GlowColor GetDisableUpBoxColor(void) const

void SetDisableUpBoxColor(GlowColor c)

GlowColor GetDisableDownBoxColor(void) const

void SetDisableDownBoxColor(GlowColor c)

GlowColor GetDisableTextColor(void) const

void SetDisableTextColor(GlowColor c)

GlowColor GetDisableOutlineColor(void) const

void SetDisableOutlineColor(GlowColor c)

GlowColor GetLightBevelColor(void) const

void SetLightBevelColor(GlowColor c)

GlowColor GetDarkBevelColor(void) const

void SetDarkBevelColor(GlowColor c)

Other methods

TSender<const GlowPushButtonMessage&>& Notifier(void)

Returns a reference to the sender used by the button to notify objects of presses. Bind this sender to a GlowPushButtonReceiver to cause that receiver to be notified when the user presses the button.

void Hit(Glow::MouseButton mouseButton, Glow::Modifiers modifiers)

Simulates a hit on this pushbutton by calling the OnHit() method.

Inherited methods
These methods are inherited from GlowWidget.

void Move(int x, int y)

int PositionX(void) const

int PositionY(void) const

int RootPositionX(void) const

int RootPositionY(void) const

int GlobalPositionX(void) const

int GlobalPositionY(void) const

void Reshape(int width, int height)

int Width(void) const

int Height(void) const

GlowWidget::AutoPackError AutoPack(int leftLimit, int rightLimit, int topLimit, int bottomLimit, GlowWidget::AutoPackOptions hOption, GlowWidget::AutoPackOptions vOption, int& leftMargin, int& rightMargin, int& topMargin, int& bottomMargin)
GlowWidget::AutoPackError AutoPack(int leftLimit, int rightLimit, int topLimit, int bottomLimit, GlowWidget::AutoPackOptions hOption, GlowWidget::AutoPackOptions vOption)

GlowWidget::AutoPackError AutoReshape(int& leftMargin, int& rightMargin, int& topMargin, int& bottomMargin)
GlowWidget::AutoPackError AutoReshape()

void Hide(void)

void Show(void)

bool IsVisible(void) const

bool IsInvisible(void) const

bool IsVisibleMasked(void) const

void Refresh(void)

void SetRefreshEnabled(bool enabled)

bool IsRefreshEnabled(void) const

void SetClipping(bool clip)

bool IsClipping(void)

void GrabKeyboardFocus(void)

Pushbuttons should not attempt to grab the keyboard focus unless a subclass makes use of keyboard events.

void RelinquishKeyboardFocus(void)

bool HasKeyboardFocus(void)

GlowWidgetRoot* Root(void)

void SetRefCon(long refcon)

long GetRefCon(void)

Inherited methods
These methods are inherited from GlowComponent.

void Close(void)

GlowComponent* Parent(void) const

GlowSubwindow* WhichWindow(void)

GlowSubwindow* ParentWindow(void) const

GlowWindow* ToplevelWindow(void)

bool IsToplevel(void) const

GlowComponent* Next(void) const

GlowComponent* Prev(void) const

int NumChildren(void) const

GlowComponent* FirstChild(void) const

GlowComponent* LastChild(void) const

void ReorderChild(GlowComponent* child, GlowComponent* pos)

void KillChildren(void)

void Activate(void)

void Deactivate(void)

bool IsActive(void)

bool IsInactive(void)

bool IsActiveStandby(void)

void Paint(void)

Protected methods for subclasses

Initialization

void Init(GlowWidgetRoot* root, GlowWidget* parent, const GlowPushButtonParams& params)

Initializes a new GlowPushButtonWidget using the given params and adds it to root's hierarchy under parent. parent must be present in root's hierarchy.

Inherited methods
These methods are inherited from GlowWidget.

void NormalizeCoordinates(int x, int y, GLfloat& xn, GLfloat& yn) const

void RegisterMouseEvents(void)

void RegisterKeyboardEvents(void)

void UnegisterMouseEvents(void)

void UnregisterKeyboardEvents(void)

Overrideable methods

Event handlers
These methods are called as soon as a widget-level event occurs. The default methods typically send the appropriate messages to the attached receivers.

virtual void OnHit(Glow::MouseButton mouseButton, Glow::Modifiers modifiers)

Called when a button has been pressed. mouseButton is the mouse button pressed (see constants in Glow) and modifiers gives the keyboard modifiers that were down when the mouse button was pressed. The default method toggles the up/down state according to the current behavior, and sends messages to the attached GlowPushButtonReceivers.

Inherited methods
These methods are inherited from GlowWidget.

virtual void OnWidgetPaint(void)

GlowPushButtonWidget overrides this method to draw the button. You should not override it again unless a subclass needs to modify how pushbuttons are drawn.

virtual void OnWidgetMouseDown(Glow::MouseButton mouseButton, int x, int y, Glow::Modifiers modifiers)

GlowPushButtonWidget overrides this method to handle mouse events. You should not override it again unless a subclass needs to modify how events are handled.

virtual void OnWidgetMouseUp(Glow::MouseButton mouseButton, int x, int y, Glow::Modifiers modifiers)

GlowPushButtonWidget overrides this method to handle mouse events. You should not override it again unless a subclass needs to modify how events are handled.

virtual void OnWidgetMouseDrag(int x, int y)

GlowPushButtonWidget overrides this method to handle mouse events. You should not override it again unless a subclass needs to modify how events are handled.

virtual void OnWidgetKeyboard(Glow::KeyCode key, int x, int y, Glow::Modifiers modifiers)

The standard GlowPushButtonWidget does not handle keyboard events. Override this method if a subclass needs to receive keyboard events.

virtual void OnWidgetMove(int x, int y)

virtual void OnWidgetReshape(int width, int height)

virtual void OnWidgetInvisible(void)

virtual void OnWidgetVisible(void)

virtual void OnWidgetDeactivate(void)

virtual void OnWidgetActivate(void)

virtual void OnGotKeyboardFocus(void)

virtual void OnLostKeyboardFocus(void)

virtual GlowWidget::AutoPackError OnAutoPack(int hSize, int vSize, GlowWidget::AutoPackOptions hOption, GlowWidget::AutoPackOptions vOption, int& leftMargin, int& rightMargin, int& topMargin, int& bottomMargin)

GlowPushButtonWidget implements this method to pack a button. Override it if a subclass requires different packing.

Inherited methods
These methods are inherited from GlowComponent, but are used by GlowWidget and should not be overridden again.

virtual void OnActivate(void)

virtual void OnDeactivate(void)

virtual void OnBeginPaint(void)

virtual void OnEndPaint(void)


Back to
Table of contents


The GLOW Toolkit