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

Widgets

This chapter describes the widgets in the Photon library. It includes:

as well as descriptions of the following widget classes: AwFileSelect
AwMessage
PtArc
PtBasic
PtBezier
PtBitmap
PtBkgd
PtButton
PtCalendar
PtClock
PtComboBox
PtCompound
PtContainer
PtDBContainer
PtDivider
PtEllipse
PtFileSel
PtFontSel
PtGauge
PtGenList
PtGenTree
PtGraphic
PtGrid
PtGroup
PtHtml
PtIcon
PtLabel
PtLine
PtList
PtMenu
PtMenuBar
PtMenuButton
PtMessage
PtMultiText
PtNumeric
PtNumericFloat
PtNumericInteger
PtOnOffButton
PtPane
PtPixel
PtPolygon
PtPrintSel
PtRaw
PtRect
PtRegion
PtScrollArea
PtScrollbar
PtSeparator
PtSlider
PtTab
PtTerminal
PtText
PtTimer
PtToggleButton
PtTree
PtTty
PtUpDown
PtWidget
PtWindow
RtMeter
RtProgress
RtTrend

Widget hierarchy

If your browser supports image maps, you can select a widget from this diagram:

PtWidget AwFileSelect AwMessage PtBasic PtBitmap PtCalendar PtClock PtContainer PtCompound PtComboBox PtDivider PtGenList PtGenTree PtFileSel PtTree PtList PtMenuButton PtMultitext PtNumeric PtNumericFloat PtNumericInteger PtDBContainer PtFontSel PtGroup PtMenu PtMenuBar PtMessage PtHtml PtPane PtBkgd PtPrintSel PtRegion PtScrollArea PtTerminal PtTty PtUpDown PtWindow PtIcon PtGauge PtSlider RtProgress PtGraphic PtArc PtBezier PtEllipse PtLine PtPixel PtPolygon PtRect PtGrid PtLabel PtButton PtTab PtText PtToggleButton PtOnOffButton PtRaw PtScrollbar PtSeparator RtMeter RtTrend PtTimer

Widget hierarchy


The Photon widget hierarchy.



Note: The widget hierarchy is important because classes inherit resources and behavior from their ancestors. When you're working with a particular class, be sure to look at the descriptions of its ancestors, too.

Common widget flags

Many widgets define flags resources that allow you to change the widget's appearance and/or behavior. This section discusses the flags used by all or most widget classes.

When you want to: Use this bit: See:
Have a widget consume events Pt_CONSUME_EVENTS (Pt_ARG_EFLAGS) PtWidget
Display help information in a balloon, not in the Helpviewer Pt_INTERNAL_HELP (Pt_ARG_EFLAGS) PtWidget
Propagate damage to a widget's parent Pt_DAMAGE_PARENT (Pt_ARG_EFLAGS) PtWidget
Invoke certain callbacks when setting resources Pt_CALLBACKS_ACTIVE (Pt_ARG_FLAGS) PtWidget
Use any mouse button to activate a widget Pt_ALL_BUTTONS (Pt_ARG_FLAGS) PtWidget
Have a widget highlight and get focus when pointed to Pt_AUTOHIGHLIGHT (Pt_ARG_FLAGS) PtWidget
Block a widget and its non-window children Pt_BLOCKED (Pt_ARG_FLAGS) PtWidget
Prevent brothers in front of a widget from intersecting with its extent Pt_CLEAR (Pt_ARG_FLAGS) PtWidget
Clip the corners of a widget's highlighting rectangle Pt_CLIP_HIGHLIGHT (Pt_ARG_FLAGS) PtWidget
Determine if the widget needs to be repaired Pt_DAMAGED (Pt_ARG_FLAGS) PtWidget
Determine if a widget and its family need repairing Pt_DAMAGE_FAMILY (Pt_ARG_FLAGS) PtWidget
Delay realization until done explicitly Pt_DELAY_REALIZE (Pt_ARG_FLAGS) PtWidget
Determine if a widget is marked for destruction Pt_DESTROYED (Pt_ARG_FLAGS) PtWidget
Highlight a widget with an etched-line style Pt_ETCH_HIGHLIGHT (Pt_ARG_FLAGS) PtWidget
Clip the corners of a widget's highlighting rectangle Pt_CLIP_HIGHLIGHT (Pt_ARG_FLAGS) PtWidget
Automatically free any memory associated with a widget Pt_FREE_MEMORY (Pt_ARG_FLAGS) PtWidget
Draw a dotted line around a widget to indicate focus Pt_FOCUS_RENDER (Pt_ARG_FLAGS) PtWidget
Grant focus to a widget when appropriate Pt_GETS_FOCUS (Pt_ARG_FLAGS) PtWidget
Dim a widget Pt_GHOST (Pt_ARG_FLAGS) PtWidget
Highlight a widget with a beveled or etched rectangle Pt_HIGHLIGHTED (Pt_ARG_FLAGS) PtWidget
Determine if a call to PtContainerHold() has been made on a widget Pt_IN_FLUX (Pt_ARG_FLAGS) PtWidget
Have a widget respond to right-mouse-button clicks Pt_MENUABLE (Pt_ARG_FLAGS) PtWidget
Indicate that a widget is a menu item Pt_MENU_BUTTON (Pt_ARG_FLAGS) PtWidget
Determine if a widget is completely hidden by its brothers Pt_OBSCURED (Pt_ARG_FLAGS) PtWidget
Determine if a widget completely obscures anything behind it Pt_OPAQUE (Pt_ARG_FLAGS) PtWidget
Determine if a widget is a procreated child of a compound widget Pt_PROCREATED (Pt_ARG_FLAGS) PtWidget
Determine if a widget is realized Pt_REALIZED (Pt_ARG_FLAGS) PtWidget
Determine if a widget is in the process of being realized Pt_REALIZING (Pt_ARG_FLAGS) PtWidget
Force a widget to have a region Pt_REGION (Pt_ARG_FLAGS) PtWidget
Allow the user to select a widget Pt_SELECTABLE (Pt_ARG_FLAGS) PtWidget
Prevent a widget from changing its appearance when selected Pt_SELECT_NOREDRAW (Pt_ARG_FLAGS) PtWidget
Determine if a widget is "set" Pt_SET (Pt_ARG_FLAGS) PtWidget
Make a widget toggle between set and unset when selected Pt_TOGGLE (Pt_ARG_FLAGS) PtWidget
Determine if a widget will be rerealized when resource changes are applied Pt_WIDGET_REBUILD (Pt_ARG_FLAGS) PtWidget
Determine if a widget will be resized when resource changes are applied Pt_WIDGET_RESIZE (Pt_ARG_FLAGS) PtWidget
Control how a widget is resized All bits (Pt_ARG_RESIZE_FLAGS) PtWidget
Prevent balloons from being inflated in a container and its child containers Pt_DISABLE_BALLOONS (Pt_ARG_CONTAINER_FLAGS) PtContainer
Prevent hotkey searches from going to parents of a container Pt_HOTKEY_TERMINATOR (Pt_ARG_CONTAINER_FLAGS) PtContainer
Process key events as hotkeys before passing them to children of a container Pt_HOTKEYS_FIRST (Pt_ARG_CONTAINER_FLAGS) PtContainer
Prevent CUA from focusing on a container Pt_BLOCK_CUA_FOCUS (Pt_ARG_CONTAINER_FLAGS) PtContainer
Cause a container to reextent when any of its children are realized Pt_AUTO_EXTENT (Pt_ARG_CONTAINER_FLAGS) PtContainer
Allow CUA keys to function in a container (and its children) Pt_ENABLE_CUA (Pt_ARG_CONTAINER_FLAGS) PtContainer
Allows arrow key navigation in a container (and its children) Pt_ENABLE_CUA_ARROWS (Pt_ARG_CONTAINER_FLAGS) PtContainer
Force a group of widgets to be the same size Pt_GROUP_EQUAL_SIZE (Pt_ARG_GROUP_FLAGS) PtGroup
Allow only one widget of a group to be selected Pt_GROUP_EXCLUSIVE (Pt_ARG_GROUP_FLAGS) PtGroup
Allow an exclusive group to choices to have no selected item Pt_GROUP_NO_SELECT_ALLOWED (Pt_ARG_GROUP_FLAGS) PtGroup
Prevent movement among a group using the arrow keys Pt_GROUP_NO_KEYS (Pt_ARG_GROUP_FLAGS) PtGroup
Prevent horizontal wrapping using arrow keys Pt_GROUP_NO_KEY_WRAP_HORIZONTAL (Pt_ARG_GROUP_FLAGS) PtGroup
Prevent vertical wrapping using arrow keys Pt_GROUP_NO_KEY_WRAP_VERTICAL (Pt_ARG_GROUP_FLAGS) PtGroup
Prevent horizontal and vertical wrapping using arrow keys Pt_GROUP_NO_KEY_WRAP (Pt_ARG_GROUP_FLAGS) PtGroup
Make a group of widgets the same width Pt_GROUP_EQUAL_SIZE_HORIZONTAL (Pt_ARG_GROUP_FLAGS) PtGroup
Make a group of widgets the same height Pt_GROUP_EQUAL_SIZE_VERTICAL (Pt_ARG_GROUP_FLAGS) PtGroup
Stretch the rightmost of a group of widgets Pt_GROUP_STRETCH_HORIZONTAL (Pt_ARG_GROUP_FLAGS) PtGroup
Stretch the bottommost of a group of widgets Pt_GROUP_STRETCH_VERTICAL (Pt_ARG_GROUP_FLAGS) PtGroup
Stretch the last of a group of widgets Pt_GROUP_STRETCH_FILL (Pt_ARG_GROUP_FLAGS) PtGroup
Shift text down and to the right when selected Pt_LABEL_SELECT_SHIFT (Pt_ARG_LABEL_FLAGS) PtLabel
Show a balloon if the pointer remains motionless over text Pt_SHOW_BALLOON (Pt_ARG_LABEL_FLAGS) PtLabel
Show a balloon if the pointer remains motionless over clipped text Pt_BALLOON_AS_REQUIRED (Pt_ARG_LABEL_FLAGS) PtLabel

Alphabetical list of flags

Flag Resource Widget
Pg_CLOSED Pt_ARG_POLYGON_FLAGS PtPolygon
Pg_DRAW_FILL Pt_ARG_BEZIER_FLAGS PtBezier
Pg_DRAW_FILL_STROKE Pt_ARG_BEZIER_FLAGS PtBezier
Pg_DRAW_STROKE Pt_ARG_BEZIER_FLAGS PtBezier
Pg_POLY_FILL Pt_ARG_POLYGON_FLAGS PtPolygon
Pg_POLY_RELATIVE Pt_ARG_POLYGON_FLAGS PtPolygon
Pg_POLY_STROKE Pt_ARG_POLYGON_FLAGS PtPolygon
Ph_AUXPTR_REGION Pt_ARG_REGION_FLAGS PtRegion
Ph_CURSOR_SET Pt_ARG_REGION_FLAGS PtRegion
Ph_FOLLOW_IG_SIZE Pt_ARG_REGION_FLAGS PtRegion
Ph_FORCE_BOUNDARY Pt_ARG_REGION_FLAGS PtRegion
Ph_FORCE_FRONT Pt_ARG_REGION_FLAGS PtRegion
Ph_GRAFX_REGION Pt_ARG_REGION_FLAGS PtRegion
Ph_INPUTGROUP_REGION Pt_ARG_REGION_FLAGS PtRegion
Ph_KBD_REGION Pt_ARG_REGION_FLAGS PtRegion
Ph_NO_COMPRESSION Pt_ARG_REGION_FLAGS PtRegion
Ph_PRINT_REGION Pt_ARG_REGION_FLAGS PtRegion
Ph_PTR_REGION Pt_ARG_REGION_FLAGS PtRegion
Ph_WINDOW_REGION Pt_ARG_REGION_FLAGS PtRegion
Ph_WM_BACKDROP Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_CLOSE Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_CONSWITCH Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_FFRONT Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_FOCUS Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_HELP Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_HIDE Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_MAX Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_MENU Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_MOVE Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_RENDER_BORDER Pt_ARG_WINDOW_RENDER_FLAGS PtWindow
Ph_WM_RENDER_CLOSE Pt_ARG_WINDOW_RENDER_FLAGS PtWindow
Ph_WM_RENDER_HELP Pt_ARG_WINDOW_RENDER_FLAGS PtWindow
Ph_WM_RENDER_MAX Pt_ARG_WINDOW_RENDER_FLAGS PtWindow
Ph_WM_RENDER_MENU Pt_ARG_WINDOW_RENDER_FLAGS PtWindow
Ph_WM_RENDER_MIN Pt_ARG_WINDOW_RENDER_FLAGS PtWindow
Ph_WM_RENDER_RESIZE Pt_ARG_WINDOW_RENDER_FLAGS PtWindow
Ph_WM_RENDER_TITLE Pt_ARG_WINDOW_RENDER_FLAGS PtWindow
Ph_WM_RESIZE Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_RESTORE Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_TOBACK Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WM_TOFRONT Pt_ARG_WINDOW_MANAGED_FLAGS PtWindow
Ph_WND_MGR_REGION Pt_ARG_REGION_FLAGS PtRegion
Pt_ALL_BUTTONS Pt_ARG_FLAGS PtWidget
Pt_AUTOHIGHLIGHT Pt_ARG_FLAGS PtWidget
Pt_AUTO_EXTENT Pt_ARG_CONTAINER_FLAGS PtContainer
Pt_BALLOONS_ON Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_BALLOON_AS_REQUIRED Pt_ARG_LABEL_FLAGS PtLabel
Pt_BITMAP_SHOW_BALLOON Pt_ARG_BITMAP_FLAGS PtBitmap
Pt_BLOCKED Pt_ARG_UPDOWN_FLAGS PtUpDown
Pt_BLOCKED Pt_ARG_FLAGS PtWidget
Pt_BLOCK_CUA_FOCUS Pt_ARG_CONTAINER_FLAGS PtContainer
Pt_BOTTOM_ANCHORED_BOTTOM Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_BOTTOM_ANCHORED_RELATIVE Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_BOTTOM_ANCHORED_TOP Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_CALENDAR_MONTH_BTNS Pt_ARG_CALENDAR_FLAGS PtCalendar
Pt_CALENDAR_SHOW_GRID Pt_ARG_CALENDAR_FLAGS PtCalendar
Pt_CALENDAR_SHOW_NEXT Pt_ARG_CALENDAR_FLAGS PtCalendar
Pt_CALENDAR_SHOW_PREV Pt_ARG_CALENDAR_FLAGS PtCalendar
Pt_CALENDAR_YEAR_BTNS Pt_ARG_CALENDAR_FLAGS PtCalendar
Pt_CALLBACKS_ACTIVE Pt_ARG_FLAGS PtWidget
Pt_CHANGE_ACTIVATE Pt_ARG_TEXT_FLAGS PtText
Pt_CLEAR Pt_ARG_FLAGS PtWidget
Pt_CLIP_HIGHLIGHT Pt_ARG_UPDOWN_FLAGS PtUpDown
Pt_CLIP_HIGHLIGHT Pt_ARG_FLAGS PtWidget
Pt_CLIP_HIGHLIGHT Pt_ARG_FLAGS PtWidget
Pt_CLOCK_24_HOUR Pt_ARG_CLOCK_FLAGS PtClock
Pt_CLOCK_PAD_HOURS Pt_ARG_CLOCK_FLAGS PtClock
Pt_CLOCK_SHOW_AMPM Pt_ARG_CLOCK_FLAGS PtClock
Pt_CLOCK_SHOW_NUMBERS Pt_ARG_CLOCK_FLAGS PtClock
Pt_CLOCK_SHOW_SECONDS Pt_ARG_CLOCK_FLAGS PtClock
Pt_CLOCK_TRACK_TIME Pt_ARG_CLOCK_FLAGS PtClock
Pt_COMBOBOX_MAX_WIDTH Pt_ARG_CBOX_FLAGS PtComboBox
Pt_COMBOBOX_OPEN Pt_ARG_CBOX_FLAGS PtComboBox
Pt_COMBOBOX_STATIC Pt_ARG_CBOX_FLAGS PtComboBox
Pt_COMBOBOX_TOP Pt_ARG_CBOX_FLAGS PtComboBox
Pt_CONSUME_EVENTS Pt_ARG_EFLAGS PtWidget
Pt_CURSOR_VISIBLE Pt_ARG_TEXT_FLAGS PtText
Pt_DAMAGED Pt_ARG_FLAGS PtWidget
Pt_DAMAGE_FAMILY Pt_ARG_FLAGS PtWidget
Pt_DAMAGE_PARENT Pt_ARG_EFLAGS PtWidget
Pt_DELAY_REALIZE Pt_ARG_FLAGS PtWidget
Pt_DESTROYED Pt_ARG_FLAGS PtWidget
Pt_DISABLE_BALLOONS Pt_ARG_CONTAINER_FLAGS PtContainer
Pt_DIVIDER_INVISIBLE Pt_ARG_DIVIDER_FLAGS PtDivider
Pt_DIVIDER_NORESIZE Pt_ARG_DIVIDER_FLAGS PtDivider
Pt_DIVIDER_RESIZE_BOTH Pt_ARG_DIVIDER_FLAGS PtDivider
Pt_EDITABLE Pt_ARG_TEXT_FLAGS PtText
Pt_EMT_AUTOINDENT Pt_ARG_MULTITEXT_FLAGS PtMultiText
Pt_EMT_CHAR Pt_ARG_MULTITEXT_WRAP_FLAGS PtMultiText
Pt_EMT_FORCED_SCROLL Pt_ARG_MULTITEXT_FLAGS PtMultiText
Pt_EMT_FULL_LINES Pt_ARG_MULTITEXT_FLAGS PtMultiText
Pt_EMT_NEWLINE Pt_ARG_MULTITEXT_WRAP_FLAGS PtMultiText
Pt_EMT_SCROLL_TO_CURSOR Pt_ARG_MULTITEXT_FLAGS PtMultiText
Pt_EMT_WORD Pt_ARG_MULTITEXT_WRAP_FLAGS PtMultiText
Pt_ENABLE_CUA Pt_ARG_CONTAINER_FLAGS PtContainer
Pt_ENABLE_CUA_ARROWS Pt_ARG_CONTAINER_FLAGS PtContainer
Pt_ETCH_HIGHLIGHT Pt_ARG_UPDOWN_FLAGS PtUpDown
Pt_ETCH_HIGHLIGHT Pt_ARG_FLAGS PtWidget
Pt_FLOAT_ORIGIN Pt_ARG_GRAPHIC_FLAGS PtGraphic
Pt_FLOAT_POS Pt_ARG_GRAPHIC_FLAGS PtGraphic
Pt_FOCUS_RENDER Pt_ARG_FLAGS PtWidget
Pt_FONTSEL_AA_CHECK Pt_ARG_FONT_FLAGS PtFontSel
Pt_FONTSEL_ALL_FONTS Pt_ARG_FONT_DISPLAY PtFontSel
Pt_FONTSEL_ALL_SYMBOLS Pt_ARG_FONT_SYMBOL PtFontSel
Pt_FONTSEL_BITMAP Pt_ARG_FONT_DISPLAY PtFontSel
Pt_FONTSEL_FIXED Pt_ARG_FONT_DISPLAY PtFontSel
Pt_FONTSEL_PROP Pt_ARG_FONT_DISPLAY PtFontSel
Pt_FONTSEL_SAMPLE Pt_ARG_FONT_FLAGS PtFontSel
Pt_FONTSEL_SCALABLE Pt_ARG_FONT_DISPLAY PtFontSel
Pt_FREE_MEMORY Pt_ARG_FLAGS PtWidget
Pt_FS_FREE_ON_COLLAPSE Pt_ARG_FS_FLAGS PtFileSel
Pt_FS_SEEK_KEY Pt_ARG_FS_FLAGS PtFileSel
Pt_FS_SHOW_DIRS Pt_ARG_FS_FLAGS PtFileSel
Pt_FS_SHOW_ERRORS Pt_ARG_FS_FLAGS PtFileSel
Pt_FS_SHOW_FILES Pt_ARG_FS_FLAGS PtFileSel
Pt_FS_SHOW_HIDDEN Pt_ARG_FS_FLAGS PtFileSel
Pt_FS_SINGLE_LEVEL Pt_ARG_FS_FLAGS PtFileSel
Pt_GAUGE_MAX_ON_BOTTOM Pt_ARG_GAUGE_FLAGS PtGauge
Pt_GAUGE_MAX_ON_LEFT Pt_ARG_GAUGE_FLAGS PtGauge
Pt_GAUGE_MAX_ON_RIGHT Pt_ARG_GAUGE_FLAGS PtGauge
Pt_GAUGE_MAX_ON_TOP Pt_ARG_GAUGE_FLAGS PtGauge
Pt_GETS_FOCUS Pt_ARG_UPDOWN_FLAGS PtUpDown
Pt_GETS_FOCUS Pt_ARG_FLAGS PtWidget
Pt_GHOST Pt_ARG_FLAGS PtWidget
Pt_GROUP_EQUAL_SIZE Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_EQUAL_SIZE_HORIZONTAL Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_EQUAL_SIZE_VERTICAL Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_EXCLUSIVE Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_NO_KEYS Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_NO_KEY_WRAP Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_NO_KEY_WRAP_HORIZONTAL Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_NO_KEY_WRAP_VERTICAL Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_NO_SELECT_ALLOWED Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_STRETCH_FILL Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_STRETCH_HORIZONTAL Pt_ARG_GROUP_FLAGS PtGroup
Pt_GROUP_STRETCH_VERTICAL Pt_ARG_GROUP_FLAGS PtGroup
Pt_HIGHLIGHTED Pt_ARG_UPDOWN_FLAGS PtUpDown
Pt_HIGHLIGHTED Pt_ARG_FLAGS PtWidget
Pt_HOTKEYS_FIRST Pt_ARG_CONTAINER_FLAGS PtContainer
Pt_HOTKEY_TERMINATOR Pt_ARG_CONTAINER_FLAGS PtContainer
Pt_HTML_RELOAD Pt_ARG_HTML_FLAGS PtHtml
Pt_INSERT_MODE Pt_ARG_TEXT_FLAGS PtText
Pt_INTERNAL_HELP Pt_ARG_EFLAGS PtWidget
Pt_IN_FLUX Pt_ARG_FLAGS PtWidget
Pt_LABEL_SELECT_SHIFT Pt_ARG_LABEL_FLAGS PtLabel
Pt_LEFT_ANCHORED_LEFT Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_LEFT_ANCHORED_RELATIVE Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_LEFT_ANCHORED_RIGHT Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_LIST_BALLOONS_IN_COLUMNS Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_BALLOON_AS_REQUIRED Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_BOUNDARY_KEY_EVENTS Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_COLUMN_CENTER Pt_ARG_LIST_COLUMN_ATTR PtGenList
Pt_LIST_COLUMN_DAMAGE_ALWAYS Pt_ARG_LIST_COLUMN_ATTR PtGenList
Pt_LIST_COLUMN_LEFT Pt_ARG_LIST_COLUMN_ATTR PtGenList
Pt_LIST_COLUMN_RIGHT Pt_ARG_LIST_COLUMN_ATTR PtGenList
Pt_LIST_HEADER_AUTORESIZE Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_INACTIVE Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_NOBLIT Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_NON_SELECT Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_SCROLLBAR_ALWAYS Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_SCROLLBAR_AS_REQUIRED Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_SCROLLBAR_AUTORESIZE Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_SCROLLBAR_GETS_FOCUS Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_SHOW_BALLOON Pt_ARG_LIST_FLAGS PtGenList
Pt_LIST_SNAP Pt_ARG_LIST_FLAGS PtGenList
Pt_MENUABLE Pt_ARG_UPDOWN_FLAGS PtUpDown
Pt_MENUABLE Pt_ARG_FLAGS PtWidget
Pt_MENU_AUTO Pt_ARG_MENU_FLAGS PtMenu
Pt_MENU_BUTTON Pt_ARG_FLAGS PtWidget
Pt_MENU_CHILD Pt_ARG_MENU_FLAGS PtMenu
Pt_MENU_TRANSIENT Pt_ARG_MENU_FLAGS PtMenu
Pt_MSG_CENTER_ON_PARENT Pt_ARG_MSG_FLAGS PtMessage
Pt_NUMERIC_AUTO_HIGHLIGHT Pt_ARG_NUMERIC_FLAGS PtNumeric
Pt_NUMERIC_ENABLE_UPDOWN Pt_ARG_NUMERIC_FLAGS PtNumeric
Pt_NUMERIC_HEXADECIMAL Pt_ARG_NUMERIC_FLAGS PtNumeric
Pt_NUMERIC_USE_SEPARATORS Pt_ARG_NUMERIC_FLAGS PtNumeric
Pt_NUMERIC_WRAP Pt_ARG_NUMERIC_FLAGS PtNumeric
Pt_OBSCURED Pt_ARG_FLAGS PtWidget
Pt_OPAQUE Pt_ARG_FLAGS PtWidget
Pt_PRINTSEL_ALL_PANES Pt_ARG_PRINT_FLAGS PtPrintSel
Pt_PRINTSEL_NO_COLLATE Pt_ARG_PRINT_FLAGS PtPrintSel
Pt_PRINTSEL_NO_COPIES Pt_ARG_PRINT_FLAGS PtPrintSel
Pt_PRINTSEL_NO_PAGE_RANGE Pt_ARG_PRINT_FLAGS PtPrintSel
Pt_PRINTSEL_NO_PREVIEW Pt_ARG_PRINT_FLAGS PtPrintSel
Pt_PRINTSEL_NO_SELECT_RANGE Pt_ARG_PRINT_FLAGS PtPrintSel
Pt_PRINTSEL_PROP_APP Pt_ARG_PRINT_FLAGS PtPrintSel
Pt_PROCREATED Pt_ARG_FLAGS PtWidget
Pt_REALIZED Pt_ARG_FLAGS PtWidget
Pt_REALIZING Pt_ARG_FLAGS PtWidget
Pt_REGION Pt_ARG_FLAGS PtWidget
Pt_RESIZE_XY_ALWAYS Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_XY_AS_REQUIRED Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_XY_BITS Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_XY_INITIAL Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_X_ALWAYS Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_X_AS_REQUIRED Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_X_BITS Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_X_INITIAL Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_Y_ALWAYS Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_Y_AS_REQUIRED Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_Y_BITS Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RESIZE_Y_INITIAL Pt_ARG_RESIZE_FLAGS PtWidget
Pt_RIGHT_ANCHORED_LEFT Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_RIGHT_ANCHORED_RELATIVE Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_RIGHT_ANCHORED_RIGHT Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_SCROLLBAR_FOCUSED Pt_ARG_SCROLLBAR_FLAGS PtScrollbar
Pt_SCROLLBAR_HORIZONTAL Pt_ARG_SCROLLBAR_FLAGS PtScrollbar
Pt_SCROLLBAR_INVERTED Pt_ARG_SCROLLBAR_FLAGS PtScrollbar
Pt_SCROLLBAR_SHOW_ARROWS Pt_ARG_SCROLLBAR_FLAGS PtScrollbar
Pt_SCROLL_AREA_IGNORE_KEYS Pt_ARG_SCROLL_AREA_FLAGS PtScrollArea
Pt_SCROLL_AREA_TRACK_FOCUS Pt_ARG_SCROLL_AREA_FLAGS PtScrollArea
Pt_SELECTABLE Pt_ARG_FLAGS PtWidget
Pt_SELECT_NOREDRAW Pt_ARG_FLAGS PtWidget
Pt_SEP_HORIZONTAL Pt_ARG_SEP_FLAGS PtSeparator
Pt_SEP_ORIENTATION Pt_ARG_SEP_FLAGS PtSeparator
Pt_SEP_VERTICAL Pt_ARG_SEP_FLAGS PtSeparator
Pt_SET Pt_ARG_FLAGS PtWidget
Pt_SHOW_BALLOON Pt_ARG_LABEL_FLAGS PtLabel
Pt_SHOW_VALUE Pt_ARG_GAUGE_FLAGS PtGauge
Pt_SLIDER_IMAGE Pt_ARG_SLIDER_FLAGS PtSlider
Pt_SLIDER_POINT_DOWN Pt_ARG_SLIDER_FLAGS PtSlider
Pt_SLIDER_POINT_LEFT Pt_ARG_SLIDER_FLAGS PtSlider
Pt_SLIDER_POINT_RIGHT Pt_ARG_SLIDER_FLAGS PtSlider
Pt_SLIDER_POINT_UP Pt_ARG_SLIDER_FLAGS PtSlider
Pt_TAB_UPSIDE_DOWN Pt_ARG_TAB_FLAGS PtTab
Pt_TERM_ANCHOR_PARENT_HEIGHT Pt_ARG_TERM_RESIZE_FL PtTerminal
Pt_TERM_ANCHOR_PARENT_WIDTH Pt_ARG_TERM_RESIZE_FL PtTerminal
Pt_TERM_ANCHOR_WINDOWS_ONLY Pt_ARG_TERM_RESIZE_FL PtTerminal
Pt_TERM_CURSOR_ALWAYS Pt_ARG_TERM_CURSOR_FLAGS PtTerminal
Pt_TERM_CURSOR_NEVER Pt_ARG_TERM_CURSOR_FLAGS PtTerminal
Pt_TERM_CURSOR_NOSPEEDCHK Pt_ARG_TERM_CURSOR_FLAGS PtTerminal
Pt_TERM_CURSOR_ON_FOCUS Pt_ARG_TERM_CURSOR_FLAGS PtTerminal
Pt_TERM_CURSOR_TIMER Pt_ARG_TERM_CURSOR_FLAGS PtTerminal
Pt_TERM_KBFONT Pt_ARG_TERM_RESIZE_FL PtTerminal
Pt_TERM_KBFORCE Pt_ARG_TERM_RESIZE_FL PtTerminal
Pt_TERM_OPFONT Pt_ARG_TERM_RESIZE_FL PtTerminal
Pt_TERM_SCROLL_NOBLIT Pt_ARG_TERM_DRAW_MODES PtTerminal
Pt_TERM_SCROLL_NOHWCHK Pt_ARG_TERM_DRAW_MODES PtTerminal
Pt_TERM_SCROLL_NOSPEEDCHK Pt_ARG_TERM_DRAW_MODES PtTerminal
Pt_TERM_SCROLL_NOVISCHK Pt_ARG_TERM_DRAW_MODES PtTerminal
Pt_TERM_SCROLL_RFSH Pt_ARG_TERM_DRAW_MODES PtTerminal
Pt_TEXT_AUTO_HIGHLIGHT Pt_ARG_TEXT_FLAGS PtText
Pt_TICKS_ETCHED_IN Pt_ARG_SLIDER_FLAGS PtSlider
Pt_TICKS_ETCHED_OUT Pt_ARG_SLIDER_FLAGS PtSlider
Pt_TICKS_ON_BOTTOM Pt_ARG_SLIDER_FLAGS PtSlider
Pt_TICKS_ON_LEFT Pt_ARG_SLIDER_FLAGS PtSlider
Pt_TICKS_ON_RIGHT Pt_ARG_SLIDER_FLAGS PtSlider
Pt_TICKS_ON_TOP Pt_ARG_SLIDER_FLAGS PtSlider
Pt_TICKS_TOUCH_TROUGH Pt_ARG_SLIDER_FLAGS PtSlider
Pt_TOGGLE Pt_ARG_FLAGS PtWidget
Pt_TOP_ANCHORED_BOTTOM Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_TOP_ANCHORED_RELATIVE Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_TOP_ANCHORED_TOP Pt_ARG_ANCHOR_FLAGS PtContainer
Pt_TREE_BALLOON_ON_IMAGE Pt_ARG_TREE_FLAGS PtTree
Pt_TREE_BALLOON_ON_TREE Pt_ARG_TREE_FLAGS PtTree
Pt_TREE_HAS_BUTTONS Pt_ARG_TREE_FLAGS PtGenTree
Pt_TREE_HAS_LINES Pt_ARG_TREE_FLAGS PtGenTree
Pt_TREE_ROOT_LINES Pt_ARG_TREE_FLAGS PtGenTree
Pt_TREE_TO_LEFT Pt_ARG_TREE_FLAGS PtGenTree
Pt_TREE_TO_RIGHT Pt_ARG_TREE_FLAGS PtGenTree
Pt_TTY_ARGV0 Pt_ARG_TTY_FLAGS PtTty
Pt_TTY_BUF_PRIVATE Pt_ARG_TTY_FLAGS PtTty
Pt_TTY_DEVFORCE Pt_ARG_TTY_FLAGS PtTty
Pt_TTY_DEVLIMIT Pt_ARG_TTY_FLAGS PtTty
Pt_TTY_DEVRESIZE Pt_ARG_TTY_FLAGS PtTty
Pt_TTY_SETENV Pt_ARG_TTY_FLAGS PtTty
Pt_TTY_TERMRESIZE Pt_ARG_TTY_FLAGS PtTty
Pt_VALUE_XOR Pt_ARG_GAUGE_FLAGS PtGauge
Pt_WIDGET_REBUILD Pt_ARG_FLAGS PtWidget
Pt_WIDGET_RESIZE Pt_ARG_FLAGS PtWidget
RtM_NON_SELECTABLE Rt_ARG_METER_FLAGS RtMeter
RtM_NO_TEXT Rt_ARG_METER_FLAGS RtMeter
RtM_SELECTABLE Rt_ARG_METER_FLAGS RtMeter
Rt_GRID Rt_ARG_TREND_FLAGS RtTrend
Rt_GRID_ABOVE_TRENDS Rt_ARG_TREND_FLAGS RtTrend
Rt_GRID_FORCE Rt_ARG_TREND_FLAGS RtTrend
Rt_GRID_IS_TRANSLUCENT Rt_ARG_TREND_FLAGS RtTrend
Rt_PIXEL Rt_ARG_TREND_FLAGS RtTrend
Rt_TRENDS_ABOVE_GRID Rt_ARG_TREND_FLAGS RtTrend
Rt_TREND_BOTTOM_TO_TOP Rt_ARG_TREND_FLAGS RtTrend
Rt_TREND_HORIZONTAL Rt_ARG_TREND_FLAGS RtTrend
Rt_TREND_LEFT_TO_RIGHT Rt_ARG_TREND_FLAGS RtTrend
Rt_TREND_RIGHT_TO_LEFT Rt_ARG_TREND_FLAGS RtTrend
Rt_TREND_TOP_TO_BOTTOM Rt_ARG_TREND_FLAGS RtTrend
Rt_TREND_VERTICAL Rt_ARG_TREND_FLAGS RtTrend

What's in a widget description?

You'll find the following sections in a typical widget-class description:

Class hierarchy

The ancestral classes a widget inherits its resources and behavior from.

PhAB icon

The icon in PhAB's widget bar for the widget.

Public header

The name of the header file containing the resource manifests, data structures, and defines associated with the widget class.

Description

How to use the widget. This section may include sample code as well as an example of the widget's appearance.

New resources

The new resources introduced by this widget class. The "New resources" table for each widget contains the following columns of information:

Resource
The resource manifest.
C type
The C data type this resource refers to.
Pt type
How this resource should be set or queried. For more information, see the Manipulating Resources in Application Code chapter of the Photon Programmer's Guide.

The Pt types are:

Default
The default value(s) of a resource.

Inherited resources

The specific resources a widget class inherits from its ancestors, or in the case of a compound widget, from its exported subordinate children. The default values that a widget class inherits can be overridden. The Inherited resources table contains the following columns of information:

Resource
The manifest of the inherited resource.
Inherited from
The widget class this resource is defined in (default values are defined in the originating class).
Default override
The default resources a widget class inherits can be overridden. If a default value is overridden, this column contains the new default value. When a widget inherits resources from exported subordinate children, new defaults can be assigned by the widget class inheriting those resources. With the exception of resources inherited from exported subordinate children, modifications to resources affects all subclassed widgets.

The value in the Default override column may start with |=, as in the following example:

|=Pt_SELECTABLE | Pt_HIGHLIGHTED

This symbol indicates that the flags listed are added to the resource without destroying any flags already set in it (i.e. the new flags and the default value are combined in an OR operation).

A &=~ symbol means that one or more flags are cleared. In the following example, the Pt_SELECTABLE flag is added to the resource and the Pt_HIGHLIGHTED flag is cleared:

|=Pt_SELECTABLE &=~Pt_HIGHLIGHTED

If the widget does anything special with an inherited resource, it's described after the table.

Convenience functions

The functions you can use to control the widget once it has been created.


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