[Previous] [Contents] [Index] [Next]

PtMenuButton

A button used to display a menu

Class hierarchy:

PtWidget --> PtBasic --> PtContainer --> PtCompound --> PtMenuButton

For more information, see the diagram of the widget hierarchy.

PhAB icon:

PtMenuButton button in PhAB

Public header:

<photon/PtMenuButton.h>

Description:

The PtMenuButton class displays text or images with optional accelerator key text. Menu buttons are used to present menus from within menu bars or other menus.


PtMenuButton


A PtMenuButton widget.


If you want an accelerator key, set the Pt_ARG_ACCEL_KEY resource that's inherited from PtLabel. For example:

narg = 0;
PtSetArg (&args [narg++], Pt_ARG_TEXT_STRING, "File", 0);
PtSetArg (&args [narg++], Pt_ARG_ACCEL_KEY, "F", 0);
PtCreateWidget (PtMenuButton, database.menu, narg, args);

New resources:

Resource C type Pt type Default
Pt_ARG_ACCEL_FONT char * String "helv12b"
Pt_ARG_ACCEL_TEXT char * String ""
Pt_ARG_BUTTON_TYPE unsigned short Scalar Pt_MENU_TEXT
Pt_ARG_OFFSET unsigned short Scalar 0

Note: These resources are actually defined in <photon/PtMenuLabel.h> for the PtMenuLabel widget, which you'll never instantiate on its own.

Pt_ARG_ACCEL_FONT

C type Pt type Default
char * String "helv12b"

The font used to render the hotkey accelerator text.

Pt_ARG_ACCEL_TEXT

C type Pt type Default
char * String ""

The text that identifies which hotkey is bound to this widget.

Pt_ARG_BUTTON_TYPE

C type Pt type Default
unsigned short Scalar Pt_MENU_TEXT

Possible values:

Pt_MENU_TEXT
Display the accelerator text, if it's defined.
Pt_MENU_RIGHT
Display the submenu to the right of the button.
Pt_MENU_DOWN
Display the submenu below the button.

Pt_ARG_OFFSET

C type Pt type Default
unsigned short Scalar 0

The x offset used to render the accelerator text.

Inherited resources:

If the widget modifies an inherited resource, the "Default override" column indicates the new value. This modification affects any subclasses of the widget.

Resource Inherited from Default override
Pt_ARG_ACCEL_KEY PtLabel
Pt_ARG_ANCHOR_FLAGS PtContainer Not used by this class.
Pt_ARG_ANCHOR_OFFSETS PtContainer Not used by this class.
Pt_ARG_AREA PtWidget
Pt_ARG_BALLOON_COLOR PtLabel
Pt_ARG_BALLOON_FILL_COLOR PtLabel
Pt_ARG_BALLOON_POSITION PtLabel
Pt_ARG_BANDWIDTH_THRESHOLD PtBasic Not used by this class.
Pt_ARG_BITMAP_CURSOR PtWidget
Pt_ARG_BORDER_WIDTH PtWidget 0
Pt_ARG_BOT_BORDER_COLOR PtBasic
Pt_ARG_COLOR PtBasic
Pt_ARG_CONTAINER_FLAGS PtContainer
Pt_ARG_CURSOR_COLOR PtWidget
Pt_ARG_CURSOR_TYPE PtWidget
Pt_ARG_DATA PtWidget
Pt_ARG_DIM PtWidget
Pt_ARG_EFLAGS PtWidget Pt_CONSUME_EVENTS
Pt_ARG_FILL_COLOR PtBasic
Pt_ARG_FILL_PATTERN PtBasic
Pt_ARG_FLAGS PtWidget Pt_SELECTABLE|
Pt_MENU_BUTTON
Pt_ARG_HELP_TOPIC PtWidget
Pt_ARG_HIGHLIGHT_ROUNDNESS PtBasic
Pt_ARG_HORIZONTAL_ALIGNMENT PtLabel
Pt_ARG_LABEL_BALLOON PtLabel
Pt_ARG_LABEL_DATA PtLabel
Pt_ARG_LABEL_FLAGS PtLabel
Pt_ARG_LABEL_TYPE PtLabel
Pt_ARG_LINE_SPACING PtLabel
Pt_ARG_MARGIN_BOTTOM PtLabel
Pt_ARG_MARGIN_HEIGHT PtBasic
Pt_ARG_MARGIN_LEFT PtLabel
Pt_ARG_MARGIN_RIGHT PtLabel
Pt_ARG_MARGIN_TOP PtLabel
Pt_ARG_MARGIN_WIDTH PtBasic
Pt_ARG_POS PtWidget
Pt_ARG_RESIZE_FLAGS PtWidget Pt_RESIZE_XY_AS_REQUIRED
Pt_ARG_TEXT_FONT PtLabel
Pt_ARG_TEXT_STRING PtLabel
Pt_ARG_TOP_BORDER_COLOR PtBasic
Pt_ARG_TRANS_PATTERN PtBasic
Pt_ARG_UNDERLINE_TYPE PtLabel
Pt_ARG_UNDERLINE1 PtLabel
Pt_ARG_UNDERLINE2 PtLabel
Pt_ARG_USER_DATA PtWidget
Pt_ARG_VERTICAL_ALIGNMENT PtLabel
Pt_CB_ACTIVATE PtBasic
Pt_CB_ARM PtBasic
Pt_CB_BALLOONS PtContainer
Pt_CB_BLOCKED PtWidget
Pt_CB_DESTROYED PtWidget
Pt_CB_DISARM PtBasic
Pt_CB_FILTER PtContainer
Pt_CB_GOT_FOCUS PtBasic
Pt_CB_HOTKEY PtWidget
Pt_CB_LOST_FOCUS PtBasic
Pt_CB_MENU PtBasic
Pt_CB_RAW PtWidget
Pt_CB_REALIZED PtWidget
Pt_CB_REPEAT PtBasic
Pt_CB_RESIZE PtContainer
Pt_CB_UNREALIZED PtWidget

[Previous] [Contents] [Index] [Next]