GLOW API version 1.0 reference

Back to
Table of contents


class GlowDismissPushButtonWidget

General information

type: class
inherits: GlowPushButtonWidget
module: glowPushButtonWidget

GlowDismissPushButtonWidget is a pushbutton widget that optionally dismisses a window or other component when it is pressed. You should typically use this class for any pushbutton that deletes the window containing the button. It is not safe to simply write a GlowPushButtonReceiver to delete the window, because this will cause the button to go away while still iterating through its receivers. GlowDismissPushButtonWidget solves this problem by deleteing the window at the end of OnPressed(), which is a safe point for the button to be destructed.

GLOW programs that include buttons which dismiss their containing windows (such as in dialog boxes) should use this class, as well as any application that wants a convenient way for a button to delete any GlowComponent.

Constants

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

GlowDismissPushButtonWidget(GlowWidget* parent, const GlowPushButtonParams& params, GlowComponent* todismiss)

Creates a new GlowDismissPushButtonWidget using the given params and adds it to parent's children. The button is set to delete the given component when it is pressed.

GlowDismissPushButtonWidget(GlowWidgetRoot* root, const GlowPushButtonParams& params, GlowComponent* todismiss)

Creates a new GlowDismissPushButtonWidget using the given params and adds it to the top level under root. The button is set to delete the given component when it is pressed.

GlowDismissPushButtonWidget(void)

Creates a new GlowDismissPushButtonWidget 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, GlowComponent* todismiss)

Initializes a new GlowDismissPushButtonWidget using the given params and adds it to parent's children. The button is set to delete the given component when it is pressed.

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

Initializes a new GlowDismissPushButtonWidget using the given params and adds it to the top level under root. The button is set to delete the given component when it is pressed.

virtual ~GlowDismissPushButtonWidget(void)

Dismiss-pushbutton methods

void SetToDismiss(GlowComponent* todismiss)

Sets the component dismissed by this GlowDismissPushButtonWidget. Pass NULL to not dismiss any component.

GlowComponent* GetToDismiss(void) const

Returns the component dismissed by this GlowDismissPushButtonWidget.

Inherited methods
These methods are inherited from GlowPushButtonWidget.

const char* GetText(void) const

void SetText(const char* text)

GlowFont GetFont(void) const

void SetFont(GlowFont font)

GlowColor GetBoxColor(void) const

void SetBoxColor(GlowColor c)

GlowColor GetTextColor(void) const

void SetTextColor(GlowColor c)

GlowColor GetHiliteBoxColor(void) const

void SetHiliteBoxColor(GlowColor c)

GlowColor GetHiliteTextColor(void) const

void SetHiliteTextColor(GlowColor c)

GlowColor GetDisableBoxColor(void) const

void SetDisableBoxColor(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)

TSender<const GlowPushButtonMessage&>& Notifier(void)

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

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

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

Inherited methods
These methods are inherited from GlowPushButtonWidget.

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

GlowDismissPushButtonWidget overrides this method to Close() the specified component after the receivers have been notified of the button press.

Inherited methods
These methods are inherited from GlowWidget.

virtual void OnWidgetPaint(void)

GlowPushButton overrides this method to draw the check box. 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)

GlowPushButton 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)

GlowPushButton 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)

GlowPushButton 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 GlowPushButton 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)

GlowPushButton 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