GLOW API version 1.0 reference

Back to
Table of contents


class GlowPopupMenuWidget

General information

type: class
inherits: GlowWidget
module: glowMenuButtonWidget

GlowPopupMenuWidget is a popup menu widget.

GLOW programs that require popup menus should use this class.

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

GlowPopupMenuWidget(GlowWidget* parent, const GlowPopupMenuParams& params)

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

GlowPopupMenuWidget(GlowWidgetRoot* root, const GlowPopupMenuParams& params)

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

GlowPopupMenuWidget(void)

Creates a new GlowPopupMenuWidget 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 GlowPopupMenuParams& params)

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

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

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

virtual ~GlowPopupMenuWidget(void)

Access to the menu

void AddItem(const char* label)

Adds an item with the given label to the menu. Returns the item number of the new item.

void RemoveItem(int itemNum)

Removes the specified item from the menu.

int NumItems(void) const

Returns the number of items currently in the menu.

const char* GetItemLabel(int itemNum) const

Returns the text of the specified item.

void SetItemLabel(int itemNum, const char* label)

Sets the text of the specified item.

int GetCurItem(void) const

Returns the currently selected item.

void SetCurItem(int itemNum)

Selects the specified item.

Attributes

const char* GetMark(void) const

Returns the string marking the current menu item.

void SetMark(const char* mark)

Sets the string marking the current menu item.

GlowFont GetFont(void) const

Returns the font for the menu box.

void SetFont(GlowFont font)

Sets the font for the menu box.

int GetSpacing(void) const

Returns the spacing in pixels between elements in the menu box.

void SetSpacing(int spacing)

Sets the spacing in pixels between elements in the menu box.

int GetIconType(void) const

Returns the icon to be drawn in the menu button.

void SetIconType(int iconType)

Sets the icon to be drawn in the menu button.

Color attributes

GlowColor GetBoxColor(void) const

void SetBoxColor(GlowColor c)

GlowColor GetIconColor(void) const

void SetIconColor(GlowColor c)

GlowColor GetTextColor(void) const

void SetTextColor(GlowColor c)

GlowColor GetHiliteBoxColor(void) const

void SetHiliteBoxColor(GlowColor c)

GlowColor GetHiliteIconColor(void) const

void SetHiliteIconColor(GlowColor c)

GlowColor GetHiliteTextColor(void) const

void SetHiliteTextColor(GlowColor c)

GlowColor GetDisableBoxColor(void) const

void SetDisableBoxColor(GlowColor c)

GlowColor GetDisableIconColor(void) const

void SetDisableIconColor(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 GlowPopupMenuMessage&>& Notifier(void)

Returns a reference to the sender used by the button to notify objects of menu selections. Bind this sender to a GlowPopupMenuReceiver to cause that receiver to be notified when the user selects an item.

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)

Popup menus 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 GlowPopupMenuParams& params)

Initializes a new GlowPopupMenuWidget 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(int itemHit)

Called when a menu item has been selected. itemHit gives the id of the selected item. The default method sets the state of the popup menu to the new item and sends messages to the attached GlowPopupMenuReceivers.

Inherited methods
These methods are inherited from GlowWidget.

virtual void OnWidgetPaint(void)

In a GlowPopupMenuWidget, a subwindow covers the entire widget area. Therefore, you should not need to override this method.

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

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

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

GlowPopupMenuWidget 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 GlowPopupMenuWidget does not handle keyboard events. Override this method if a subclass needs to receive keyboard events.

virtual void OnWidgetMove(int x, int y)

A GlowPopupMenuWidget is implemented using a subwindow internally. It overrides this method to make sure the subwindow is moved when the widget is moved. If you override it again, make sure you call the inherited method.

virtual void OnWidgetReshape(int width, int height)

A GlowPopupMenuWidget is implemented using a subwindow internally. It overrides this method to make sure the subwindow is reshaped when the widget is reshaped. If you override it again, make sure you call the inherited method.

virtual void OnWidgetInvisible(void)

A GlowPopupMenuWidget is implemented using a subwindow internally. It overrides this method to make sure the subwindow is hidden when the widget is hidden. If you override it again, make sure you call the inherited method.

virtual void OnWidgetVisible(void)

A GlowPopupMenuWidget is implemented using a subwindow internally. It overrides this method to make sure the subwindow is shown when the widget is shown. If you override it again, make sure you call the inherited method.

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)

GlowPopupMenuWidget implements this method to pack a popup menu. 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