## 3.1 Description of Pre-defined Widget Resources

In this section, we describe briefly all widget resources and configuration options defined in EZwgl.

- `EZ_X, EZ_Y, EZ_LOCATION`

  configOption | resourceName | valueType
  `EZ_X` | `x` | `int`
  `EZ_Y` | `y` | `int`
  `EZ_LOCATION` | `location` | `int_x int_y`

  These options set the position of the widget window. Coordinates are parent relative, measured in pixels from the upper-left corner of the widget window. In general, one should not hardcode the position of widgets. It will be determined by the geometry manager.

- `EZ_WIDTH, EZ_HEIGHT, EZ_SIZE`

  configOption | resourceName | valueType
  `EZ_WIDTH` | `width` | `int`
  `EZ_HEIGHT` | `height` | `int`
  `EZ_SIZE` | `size` | `int_w int_h`

  These options set the dimension of a widget, in pixels. Configured dimension will always be honored even if it is smaller than the minimal size required to hold its content.

- `EZ_GEOMETRY`

  configOption | resourceName | valueType
  `EZ_GEOMETRY` | `geometry` | `int_x int_y int_w int_h`

  This option combines `EZ_LOCATION` and `EZ_SIZE`. It sets the geometry of a widget. When set by resource, it also takes the standard geometry specification `WIDTH`x`HEIGHT``XOFFSET``YOFFSET`

- `EZ_WIDTH_HINT, EZ_HEIGHT_HINT, EZ_SIZE_HINT`

  configOption | resourceName | valueType
  `EZ_WIDTH_HINT` | `widthHint` | `int`
  `EZ_HEIGHT_HINT` | `heightHint` | `int`
  `EZ_SIZE_HINT` | `sizeHint` | `int_w int_h`

  These options sets the size hint of a widget. Size hint is not guaranteed to be honored.

- `EZ_BORDER_TYPE, EZ_BORDER_WIDTH`

  configOption | resourceName | valueType
  `EZ_BORDER_TYPE` | `borderType` | `enum`
  `EZ_BORDER_WIDTH` | `borderWidth` | `int`

  These two options set the border of a widget. Border types are listed in the following table.

  SymbolicConstant | resourceValue
  `EZ_BORDER_NONE` | `none`
  `EZ_BORDER_FLAT` | `flat`
  `EZ_BORDER_RIDGE` | `ridge`
  `EZ_BORDER_GROOVE` | `groove`
  `EZ_BORDER_RAISED` | `raised`
  `EZ_BORDER_SUNKEN` | `sunken`
  `EZ_BORDER_EMBOSSED` | `embossed`
  `EZ_BORDER_ENGRAVED` | `engraved`
  `EZ_BORDER_SHADOW` | `shadow`
  `EZ_BORDER_SHADOW3` | `shadow3`

- `EZ_PADX, EZ_PADY, EZ_FOCUS_PAD`

  configOption | resourceName | valueType
  `EZ_PADX` | `padx` | `int`
  `EZ_PADY` | `pady` | `int`
  `EZ_FOCUS_PAD` | `focusPad` | `int`

  `EZ_PADX` and `EZ_PADY` set the horizontal and the vertical paddings between the widget border and its contents, respectively. `EZ_FOCUS_PAD` sets the padding outside the widget border for highlighting keyboard focus.

- `EZ_FOREGROUND, EZ_BACKGROUND`

  configOption | resourceName | valueType
  `EZ_FOREGROUND` | `foreground` | `string`
  `EZ_BACKGROUND` | `background` | `string`

  `EZ_FOREGROUND` sets the foreground color of a widget. The foreground color is used to color textual labels and bitmap labels. `EZ_BACKGROUND` sets the background color of a widget. For each configured background color, EZwgl allocates three additional colors for rendering borders. Configured background colors will be honored only when EZwgl can allocate all four colors. Background colors propagates, i.e., children widgets inherit parent's background, unless a different background color is set for them.

- `EZ_BG_IMAGE_FILE, EZ_BG_IMAGE_FILE_B`

  configOption | resourceName | valueType
  `EZ_BG_IMAGE_FILE` | `bgImageFile` | `string`
  `EZ_BG_IMAGE_FILE_B` | `bgImageFileB` | `string`
  `EZ_BG_PIXMAP` | `N/A` | `EZ_Bitmap *`
  `EZ_BG_PIXMAP_B` | `N/A` | `EZ_Bitmap *`

  `EZ_BG_IMAGE_FILE` sets the pixmap to tile the background of a widget. `EZ_BG_IMAGE_FILE_B` is available for sliders, scrollbars and composite widgets that uses scrollbars. It sets an additional pixmap to tile the slider/scrollbar buttons. Like background color, these two resources propagates to children widgets.

- `EZ_ORIENTATION, EZ_FILL_MODE, EZ_SIDE`

  configOption | resourceName | valueType
  `EZ_ORIENATTION` | `orientation` | `enum`
  `EZ_FILL_MODE` | `fillMode` | `enum`
  `EZ_SIDE` | `side` | `enum`
  `EZ_IPADX` | `iPadx` | `int`
  `EZ_IPADY` | `iPady` | `int`

  This resource is used by the default geometry manager to layout children widgets.

  `EZ_ORIENATTION` sets the orientation of a container widget. Orientation can be one of the following.

  SymbolicConstant | resourceValue
  `EZ_HORIZONTAL` | `horizontal`
  `EZ_HORIZONTAL_LEFT` | `horizontalLeft`
  `EZ_HORIZONTAL_RIGHT` | `horizontalRight`
  `EZ_HORIZONTAL_CENTER` | `horizontalCenter`
  `EZ_VERTICAL` | `vertical`
  `EZ_VERTICAL_TOP` | `verticalTop`
  `EZ_VERTICAL_BOTTOM` | `verticalBottom`
  `EZ_VERTICAL_CENTER` | `verticalCenter`

  `EZ_SIDE` specifies how to align children widgets in the direction perpendicular to the orientation. It takes one of the following values.

  SymbolicConstant | resourceValue
  `EZ_CENTER` | `center`
  `EZ_LEFT` | `left`
  `EZ_RIGHT` | `right`
  `EZ_TOP` | `top`
  `EZ_BOTTOM` | `bottom`

  `EZ_IPADX` and `EZ_IPADY` set the amount of spaces to be inserted between children widgets in the horizontal and the vertical direction respectively.

- `EZ_EXPAND, EZ_PROPAGATE`

  configOption | resourceName | valueType
  `EZ_EXPAND` | `expand` | `boolean`
  `EZ_PROPAGATE` | `propagate` | `boolean`

  `EZ_EXPAND` specifies whether or not a child should be stretched in one direction to the size of its parent. This attribute is used only by the default geomtry manager. A child widget can only be expanded in the direction perpendicular to its parent's orientation.

  `EZ_PROPAGATE` specifies whether a change of geometry of a child should propagate to the whole widget tree.

- `EZ_GRID_CONSTRAINS`

  configOption | resourceName | valueType
  `EZ_GRID_CONSTRAINS` | `gridConstrains` | `enum_row_column int_idx int_minsize int_weight int_pad`

  This option sets the row or column contrains. This resource is used by the grid bag geometry manager to layout children widgets. Values for `enum_row_column` are

  SymbolicConstant | resourceValue
  `EZ_ROW` | `row`
  `EZ_COLUMN` | `column`
  `EZ_ALL_ROWS` | `allRows`
  `EZ_ALL_COLUMNS` | `allColumns`

- `EZ_CELL_GEOMETRY, EZ_CELL_PLACEMENT`

  configOption | resourceName | valueType
  `EZ_GRID_CELL_GEOMETRY` | `gridCellGeometry` | `int_x int_y int_w int_h`
  `EZ_GRID_CELL_PLACEMENT` | `gridCellPlacement` | `enum_fill_mode enum_gravity`

  `EZ_GRID_CELL_GEOMETRY` sets the starting location and the number of cells a widget occupies (in both the horizontal and the vertical directions) in a grid bag. `EZ_GRID_CELL_PLACEMENT` specifies the rules to place the widget in the case when the cells assigned to it are larger than its dimension.

- `EZ_LABEL_STRING, EZ_FONT_NAME, EZ_TEXT_LINE_LENGTH`

  configOption | resourceName | valueType
  `EZ_LABEL_STRING` | `labelString` | `string`
  `EZ_FONT_NAME` | `fontName` | `string`
  `EZ_FONT_ID` | `fontId` | `int`
  `EZ_TEXT_LINE_LENGTH` | `textLineLength` | `int`

  `EZ_LABEL_STRING` sets the textual label. `EZ_FONT_NAME` specifies the font. `EZ_FONT_ID` specifies a font id.

  `EZ_TEXT_LINE_LENGTH` sets the length limit of one line. Long labels will be broken into multiple lines according to this limit.

- `EZ_LABEL_POSITON, EZ_JUSTIFICATION`

  configOption | resourceName | valueType
  `EZ_JUSTIFICATION` | `justification` | `enum`
  `EZ_LABEL_POSITION` | `labelPosition` | `enum`

  `EZ_JUSTIFICATION` specifies the justification of multiple line textual lables. Possible values are

  SymbolicConstant | resourceValue
  `EZ_CENTER` | `center`
  `EZ_LEFT` | `left`
  `EZ_RIGHT` | `right`

  `EZ_LABEL_POSITION` sets the anchor location for the label. Valid values are

  SymbolicConstant | resourceValue
  `EZ_CENTER` | `center`
  `EZ_LEFT` | `left`
  `EZ_RIGHT` | `right`
  `EZ_TOP` | `top`
  `EZ_BOTTOM` | `bottom`
  `EZ_TOP_LEFT` | `topLeft`
  `EZ_TOP_RIGHT` | `topRight`
  `EZ_BOTTOM_LEFT` | `bottomLeft`
  `EZ_BOTTOM_RIGHT` | `bottomRight`

- `EZ_LABEL_SHADOW`

  configOption | resourceName | valueType
  `EZ_LABEL_SHADOW` | `labelShadow` | `int_xoffset int_yoffset`

  `EZ_LABEL_SHADOW` specifies the way to render a shadow for a textual label. It is available for all widgets which has textual labels. The option values specify the XY offset to render the shadow.

- `EZ_PIXMAP_FILE, EZ_IMAGE_FILE`

  configOption | resourceName | valueType
  `EZ_PIXMAP_FILE` | `pixmapFile` | `string`
  `EZ_IMAGE_FILE` | `imageFile` | `string`
  `EZ_BITMAP_DATA` | `N/A` | `string`
  `EZ_PIXMAP_DATA` | `N/A` | `char **`
  `EZ_X_PIXMAP` | `N/A` | `Pixmap`
  `EZ_LABEL_PIXMAP` | `N/A` | `EZ_Bitmap *`

  `EZ_PIXMAP_FILE` makes an image lable from a XPM image file or an X11 bitmap file. `EZ_IMAGE_FILE` makes an image label from a GIF, XPM, JPEG, PNG or TIFF image file.

  The other four options can only be used as configuration options. One can not set them by resources.

  When an image label is set succefully. Textual label will be ignored.

- `EZ_SLIDER_LENGTH, EZ_SLIDER_WIDTH, EZ_SLIDER_BORDER_WIDTH`

  configOption | resourceName | valueType
  `EZ_SLIDER_LENGTH` | `sliderLength` | `int`
  `EZ_SLIDER_WIDTH` | `sliderWidth` | `int`
  `EZ_SLIDER_BORDER_WIDTH` | `sliderBorderWidth` | `int`
  `EZ_SLIDER_STYLE` | `sliderStyle` | `enum`

  `EZ_SLIDER_LENGTH` and `EZ_SLIDER_WIDTH` set the size of the slider button. `EZ_SLIDER_BORDER_WIDTH` sets the border width of a slider. `EZ_SLIDER_STYLE` selects one of the 6 kinds (small variations) of sliders. Values are one of 0--5.

- `EZ_SLIDER_RANGE, EZ_SLIDER_RESOLUTION`

  configOption | resourceName | valueType
  `EZ_SLIDER_DISPLAY_VALUE` | `sliderDisplayValue` | `boolean`
  `EZ_SLIDER_RANGE` | `sliderRange` | `float_min float_max`
  `EZ_SLIDER_RESOLUTION` | `sliderResolution` | `float`
  `EZ_SLIDER_INIT_VALUE` | `sliderInitialValue` | `float`

  `EZ_SLIDER_DISPLAY_VALUE` toggles display numerical values on/off. `EZ_SLIDER_RANGE` specifies the range of a slider. `EZ_SLIDER_RESOLUTION` specifies the unit of increment. `EZ_SLIDER_INIT_VALUE` sets the slider value.

- `EZ_SHOW_TICK`

  configOption | resourceName | valueType
  `EZ_SHOW_TICK` | `showTicks` | `int, int`

  `EZ_SHOW_TICK` controlls the tickmarks on a slider or a dial. This resource takes a pair of integers, the first one specifies the number of ticks to be displayed, the second value specifies the length of tickmarks.

- `EZ_SCROLLBAR_WIDTH, EZ_HSCROLL_INCREMENT`

  configOption | resourceName | valueType
  `EZ_SCROLLBAR_WIDTH` | `scrollbarWidth` | `int`
  `EZ_SCROLLBAR_BORDER_WIDTH` | `scrollbarBorderWidth` | `int`
  `EZ_HSCROLL_INCREMENT` | `hScrollIncrement` | `int`
  `EZ_VSCROLL_INCREMENT` | `vScrollIncrement` | `int`

  `EZ_HSCROLLBAR_WIDTH` and `EZ_HSCROLLBAR_BORDER_WIDTH` set the geometry of a scrollbar. `EZ_HSCROLL_INCREMENT` and `EZ_VSCROLL_INCREMENT` set the scroll unit for the arrow buttons on the scrollbar. These resources are also available for composite widgets that use scrollbars (text, listbox, fancyListbox, tree and workarea).

- `EZ_INDICATOR_TYPE, EZ_INDICATOR_COLOR`

  configOption | resourceName | valueType
  `EZ_INDICATOR_TYPE` | `indicatorType` | `enum`
  `EZ_INDICATOR_COLOR` | `indicatorColor` | `string`
  `EZ_INDICATOR_SIZE_ADJUST` | `indicatorSizeAdjust` | `int`

  These options set check button and radio button indicators. `EZ_INDICATOR_TYPE` specifies the kind of indicator. Must be one of

  SymbolicConstant | resourceValue
  `EZ_EMPTY_INDICATOR` | `none`
  `EZ_SQUARE_INDICATOR` | `square`
  `EZ_SUNKEN_SQUARE_INDICATOR` | `sunkenSquare`
  `EZ_DIAMOND_INDICATOR` | `diamond`
  `EZ_SUNKEN_DIAMOND_INDICATOR` | `sunkenDiamond`
  `EZ_CIRCLE_INDICATOR` | `circle`
  `EZ_CHECK_INDICATOR` | `check`
  `EZ_RECTANGLE_INDICATOR` | `rectangle`
  `EZ_MENU_BUTTON_INDICATOR` | `mbutton`
  `EZ_TICK_INDICATOR` | `tick`

  `EZ_INDICATOR_COLOR` sets the foreground color of the indicator. `EZ_INDICATOR_SIZE_ADJUST` adjusts the size of the indicator. Value must be in the range from -4 to 4.

- `EZ_CHECK_BUTTON_ON_VALUE, EZ_CHECK_BUTTON_ON_OFF`

  configOption | resourceName | valueType
  `EZ_CHECK_BUTTON_ON_VALUE` | `checkButtonOnValue` | `int`
  `EZ_CHECK_BUTTON_OFF_VALUE` | `checkButtonOnValue` | `int`
  `EZ_CHECK_BUTTON_ON_OFF` | `checkButtonOnOff` | `boolean`

  These options set the value or state of a check button.

- `EZ_RADIO_BUTTON_GROUP, EZ_RADIO_BUTTON_VALUE`

  configOption | resourceName | valueType
  `EZ_RADIO_BUTTON_GROUP` | `radioButtonGroup` | `int`
  `EZ_RADIO_BUTTON_VALUE` | `radioButtonValue` | `int`

  These options sets the value or state of a radio button.

- `EZ_CLIENT_PTR_DATA, EZ_CLIENT_INT_DATA`

  configOption | resourceName | valueType
  `EZ_CLIENT_PTR_DATA` | `N/A` | `void*`
  `EZ_CLIENT_INT_DATA` | `N/A` | `int`

  The `EZ_Widget` structure has two slots for applications to hook in client data. These two options set the data in these fields.

- `EZ_CALLBACK, EZ_EVENT_HANDLER`

  configOption | resourceName | valueType
  `EZ_CALLBACK` | `N/A` | `void* void*`
  `EZ_MOTION_CALLBACK` | `N/A` | `EZ_CallBack void*`
  `EZ_DESTROY_CALLBACK` | `N/A` | `EZ_CallBack void*`
  `EZ_EVENT_HANDLER` | `N/A` | `EZ_EventHandler void*`

  These four options register callbacks or event handlers to a widget. Callbacks and event handlers are not settable via resources. Use `EZ_AddWidgetCallBack` and `EZ_AddEventHandler` if you want to register more than one callbacks or event handlers on a widget.

- `EZ_SHORTCUT_KEY, EZ_UNDERLINE`

  configOption | resourceName | valueType
  `EZ_SHORTCUT_KEY` | `shortcutKey` | `string`
  `EZ_UNDERLINE` | `underline` | `int`

  `EZ_SHORTCUT_KEY` sets a keyboard accelerator for a button type widget. Valid values are strings like `C-a`, `M-x` or `Ctrl-s`. `EZ_UNDERLINE` sets the keyboard accelerator from the button label. The button can be activated via `Alt-underlined_char`.

- `EZ_LCD_NDIGITS, EZ_LCD_FONT_SIZE`

  configOption | resourceName | valueType
  `EZ_LCD_NDIGITS` | `lcdNDigits` | `int`
  `EZ_LCD_FONT_SIZE` | `lcdFontSize` | `int`
  `EZ_LCD_FOREGROUND` | `lcdForeground` | `string`
  `EZ_LCD_BACKGROUND` | `lcdBackground` | `string`

  These options sets up a LCD, a widget displaying fixed width numerical values.

- `EZ_LED_WIDTH, EZ_LED_PIXEL_SIZE`

  configOption | resourceName | valueType
  `EZ_LED_WIDTH` | `ledWidth` | `int`
  `EZ_LED_HEIGHT` | `ledHeight` | `int`
  `EZ_LED_PIXEL_COLOR` | `ledPixelColor` | `string`
  `EZ_LED_BACKGROUND` | `ledBackground` | `string`
  `EZ_LED_PIXEL_SIZE` | `ledPixelSize` | `int`
  `EZ_LED_COLOR_FUNCTION` | `N/A` | `(ulong *)(int int)`

  These options sets up a LED, a widget with a fixed size that simulate a real LED.

- `EZ_OPTIONAL_ENTRY_HISTORY, EZ_OPTIONAL_ENTRY_EDITABLE`

  configOption | resourceName | valueType
  `EZ_OPTIONAL_ENTRY_HISTORY` | `optionalEntryHistroy` | `boolean`
  `EZ_OPTIONAL_ENTRY_EDITABLE` | `optionalEntryEditable` | `boolean`
  `EZ_OPTIONAL_ENTRY_STYLE` | `optionalEntryStyle` | `enum`

  These three options modifies the characteristics of an optional entry. The first option toggles histroy mode on/off. If turned on, entry selections will be inserted in the popup listbox. The second option turns editing on/off. The last option selects one of the two display styles (represented by 0 and 1) for the optional entry.

- `EZ_OPTIONAL_HSCROLLBAR, EZ_OPTIONAL_VSCROLLBAR`

  configOption | resourceName | valueType
  `EZ_OPTIONAL_HSCROLLBAR` | `optionalHScrollbar` | `boolean`
  `EZ_OPTIONAL_VSCROLLBAR` | `optionalVScrollbar` | `boolean`

  `EZ_OPTIONAL_HSCROLLBAR` turns the optional horizontal scrollbar on a composite widget on/off. Likewise, `EZ_OPTIONAL_VSCROLLBAR` turns the optional vertical scrollbar on/off.

- `EZ_HIGHLIGHT_FOREGROUND, EZ_HIGHLIGHT_BACKGROUND`

  configOption | resourceName | valueType
  `EZ_HIGHLIGHT_FOREGROUND` | `highlightForeground` | `string`
  `EZ_HIGHLIGHT_BACKGROUND` | `highlightBackground` | `string`

  These resources specifies the colors to highlight the current selections.

- `EZ_SELECTION_FOREGROUND, EZ_SELECTION_BACKGROUND`

  configOption | resourceName | valueType
  `EZ_SELECTION_FOREGROUND` | `selectionForeground` | `string`
  `EZ_SELECTION_BACKGROUND` | `selectionBackground` | `string`
  `EZ_TEXT_BACKGROUND` | `textBackground` | `string`

  These resources are available for ListBox, Text, FancyListBox, Tree and WorkArea widgets. The first two resources set the selection background and foreground. These two colors are used to highlight the relevent selections. `EZ_TEXT_BACKGROUND` sets the background color for the internal display window.

- `EZ_HIGHLIGHT_MODE, EZ_RUBBER_BAND`

  configOption | resourceName | valueType
  `EZ_HIGHLIGHT_MODE` | `highlightMode` | `enum`
  `EZ_RUBBER_BAND` | `rubberBand` | `boolean`

  These two resources are available for fancyListBox, Tree and WorkArea widgets. `EZ_HIGHLIGHT_MODE` selects one of the four modes for highlighting display items. Values are 0,1,2 and 3. The default value is 0. The value is used by EZwgl in the following way:

  - if bit 1 is on, turn off the marching ants.

  - if any other bits are on, highlight pixmap and textual lable individually.
  `EZ_RUBBER_BAND` turns rubber band on and off. When turned on, multiple items may be selected.

- `EZ_ROW_BG`

  configOption | resourceName | valueType
  `EZ_ROW_BG` | `rowBg` | `boolean string string`

  This option is available to FancyListBox and Tree widgets. It sets up two colors to be used as alternating row backgrounds. It needs three values, the first one is a boolean value which turns this feature on and off. The last two are colors names, or `nil`, in which case a default color will be selected.

- `EZ_TEXT_WIDGET_EDITABLE, EZ_TEXT_SPACING`

  configOption | resourceName | valueType
  `EZ_TEXT_SPACING` | `textSpacing` | `int`
  `EZ_TEXT_WIDGET_EDITABLE` | `textWidgetEditable` | `boolean`

  These two resources are available only for text widget. `EZ_TEXT_SPACING` sets the insertions between text lines. `EZ_TEXT_WIDGET_EDITABLE` turns text editing on/off.

- `EZ_FANCY_LISTBOX_TYPE, EZ_FANCY_LISTBOX_COLUMNS`

  configOption | resourceName | valueType
  `EZ_FANCY_LISTBOX_TYPE` | `fancyListBoxType` | `enum`
  `EZ_FANCY_LISTBOX_COLUMNS` | `fancyListBoxColumns` | `int`

  `EZ_FANCY_LISTBOX_TYPE` specifies the selection mode of a fancyListBox. Values are either 0 or 1. When sets to 0, individual items can be selected; when set to 1, only rows can be selected.

  `EZ_FANCY_LISTBOX_COLUMNS` specifies the number of columns in a fancyListBox widget.

- `EZ_BACKING_STORE, EZ_TRANSIENT, EZ_CURSOR`

  configOption | resourceName | valueType
  `EZ_BACKING_STORE` | `backingStore` | `boolean`
  `EZ_OVERRIDE_REDIRECT` | `overrideRedirect` | `boolean`
  `EZ_TRANSIENT` | `transient` | `boolean`
  `EZ_CURSOR` | `cursur` | `???`

  `EZ_BACKING_STORE` sets the backing store window attributes on the widget window. `EZ_OVERRIDE_REDIRECT` sets the override redirect window attributes on the widget window. `EZ_TRANSIENT` sets the transientFor window manager hint on the widget window. `EZ_CURSOR` defines the widget window cursor. When set by resource, value is a cursor name. When set by `EZ_CreateWidget`, value is a symbolic constant.

- `EZ_CLASS, EZ_NAME`

  configOption | resourceName | valueType
  `EZ_CLASS` | `class` | `string`
  `EZ_NAME` | `name` | `string`

  These two resources set the widget class name and the widget instance name. They override the default widget class and instance names.

- `EZ_SMETER_VALUE, EZ_SMETER_RANGE, EZ_SMETER_VALUE_N`

  configOption | resourceName | valueType
  `EZ_SMETER_RANGE` | `statusMeterRange` | `float_min float_max`
  `EZ_SMETER_RANGE_N` | `statusMeterRange` | `int_n float_min float_max`
  `EZ_SMETER_VALUE` | `statusMeterValue` | `float`
  `EZ_SMETER_VALUE_N` | `statusMeterValueN` | `int_n float_v`

  A status meter can monitor 5 quantities simultaneously. These options set the range and value of these quantities.`EZ_SMETER_RANGE_N` sets the range of the nth quantity. `EZ_SMETER_RANGE` sets the range of the first quantity. `EZ_SMETER_VALUE_N` sets the values of the nth quantity. `EZ_SMETER_VALUE` sets the value of the first quantity.

- `EZ_SMETER_STYLE, EZ_SMETER_ORIENTATION`

  configOption | resourceName | valueType
  `EZ_SMETER_STYLE` | `statusMeterStyle` | `int int`
  `EZ_SMETER_ORIENTATION` | `statusMeterOrientation` | `enum`

  `EZ_SMETER_STYLE` defines the display style of a status meter. Value is a pair of integers representing the width of on/off rectangles. `EZ_SMETER_ORIENTATION` selects the orientation of a status meter, value is `EZ_HORIZONTAL` or `EZ_VERTICAL`.

- `EZ_SMETER_FOREGROUND, EZ_SMETER_BACKGROUND, EZ_SMETER_FOREGROUND_N`

  configOption | resourceName | valueType
  `EZ_SMETER_BACKGROUND` | `statusMeterBackground` | `string`
  `EZ_SMETER_FOREGROUND` | `statusMeterForeground` | `string`
  `EZ_SMETER_FOREGROUND_N` | `statusMeterForegroundN` | `int_n string`

  `EZ_SMETER_BACKGROUND` sets the background color of a status meter. `EZ_SMETER_FOREGROUND` sets the color to display the first quantity a status meter monitors. `EZ_SMETER_FOREGROUND_N` sets the foreground color to display the nth quantity.

- `EZ_SMETER_STOP, EZ_SMETER_SHOW_VALUE`

  configOption | resourceName | valueType
  `EZ_SMETER_STOP` | `statusMeterStop` | `boolean`
  `EZ_SMETER_SHOW_VALUE` | `statusMeterShowValue` | `boolean`

  `EZ_SMETER_STOP` activate or deactivate a status meter. `EZ_SMETER_SHOW_VALUE` toggle numeric display on off.

- `EZ_WM_WINDOW_NAME, EZ_WM_ICON_NAME, EZ_WM_INITIAL_STATE`

  configOption | resourceName | valueType
  `EZ_WM_WINDOW_NAME` | `wmWindowName` | `string`
  `EZ_WM_ICON_NAME` | `wmIconName` | `string`
  `EZ_WM_INITIAL_STATE` | `wmInitialState` | `enum`

  These three options set the window manager hints for windowName, iconName and initialState. Value for `wmInitialState` is `normalState` or `iconState`. These options are relevent only for toplevel widgets.

- `EZ_WM_ICON_LOCATION, EZ_WM_ICON_XPM_FILE`

  configOption | resourceName | valueType
  `EZ_WM_ICON_LOCATION` | `wmIconLocation` | `int_x int_y`
  `EZ_WM_ICON_XPM_FILE` | `wmIconXpmFile` | `string`
  `EZ_WM_ICON_PIXMAP` | `N/A` | `EZ_Bitmap *`

  These options set the window manager hints for iconPosition and iconPixmap. The last option sets the icon pixmap to be an EZwgl internal pixmap, it cannot be set via resources. These options are relevent only for toplevel widgets.

- `EZ_WM_LOCATION, EZ_WM_SIZE_HINT, EZ_WM_MAX_SIZE_HINT`

  configOption | resourceName | valueType
  `EZ_WM_LOCATION` | `wmLocation` | `int_x int_y`
  `EZ_WM_SIZE_HINT` | `wmSizeHint` | `int_w int_h`
  `EZ_WM_MIN_SIZE_HINT` | `wmMinSizeHint` | `int_w int_h`
  `EZ_WM_MAX_SIZE_HINT` | `wmMaxSizeHint` | `int_w int_h`

  These options set the window manager hints for position, size, minSize and maxSize respectively. These options are relevent only for toplevel widgets.

- `EZ_WMHINTS`

  configOption | resourceName | valueType
  `EZ_WM_HINTS` | `wmHints` | `int_mask`

  This option sets the window manager hint, value is bitwise or'ed from `PMinSize`, `PMaxSize`, `PAspect` and `PWinGravity`. These options are relevent only for toplevel widgets.

- `EZ_INTERIOR_BORDER`

  configOption | resourceName | valueType
  `EZ_INTERIOR_BORDER` | `interiorBorder` | `int_width enum_style`

  This option sets the internal border of a labeled frame or a labeled icon. It takes two values, a border width and a border style. The later must be one of the valid border types defined in EZwgl.

- {`EZ_ARROW_LABEL`

  configOption | resourceName | valueType
  {`EZ_ARROW_LABEL`} | {`arrowLabel`} | {`enum`}

  This option is available only for Button, Label and NoWindowLabel. It labels the widget with an internally defined symbol (arrow). Value is a symbolic constant listed below. These symbolic constants are not internally defined as resource values. Therefore, when set via resources, the resource value must be an integer between 1 and 36.

      #define EZ_UP_TRIANGLE          1       #define EZ_DOUBLE_UP_TRIANGLE    19
      #define EZ_DOWN_TRIANGLE        2       #define EZ_DOUBLE_DOWN_TRIANGLE  20
      #define EZ_LEFT_TRIANGLE        3       #define EZ_LEFT_RIGHT_ARROW      21
      #define EZ_RIGHT_TRIANGLE       4       #define EZ_UP_DOWN_ARROW         22
      #define EZ_UP_ARROW             5       #define EZ_LEFT_BAR_TRIANGLE     23
      #define EZ_DOWN_ARROW           6       #define EZ_RIGHT_BAR_TRIANGLE    24
      #define EZ_LEFT_ARROW           7       #define EZ_UP_BAR_TRIANGLE       25
      #define EZ_RIGHT_ARROW          8       #define EZ_DOWN_BAR_TRIANGLE     26
      #define EZ_UP_TRIANGLE_BAR      9       #define EZ_ELLIPSE               27
      #define EZ_DOWN_TRIANGLE_BAR    10      #define EZ_RECTANGLE             28
      #define EZ_LEFT_TRIANGLE_BAR    11      #define EZ_UP_TRIANGLE_UP        29
      #define EZ_RIGHT_TRIANGLE_BAR   12      #define EZ_UP_TRIANGLE_DOWN      30
      #define EZ_UP_ARROW_BAR         13      #define EZ_DOWN_TRIANGLE_UP      31
      #define EZ_DOWN_ARROW_BAR       14      #define EZ_DOWN_TRIANGLE_DOWN    32
      #define EZ_LEFT_ARROW_BAR       15      #define EZ_LEFT_TRIANGLE_UP      33
      #define EZ_RIGHT_ARROW_BAR      16      #define EZ_LEFT_TRIANGLE_DOWN    34
      #define EZ_DOUBLE_LEFT_TRIANGLE  17     #define EZ_RIGHT_TRIANGLE_UP     35
      #define EZ_DOUBLE_RIGHT_TRIANGLE 18     #define EZ_RIGHT_TRIANGLE_DOWN   36

  }

- `EZ_SCROLL_TYPE`

  configOption | resourceName | valueType
  `EZ_SCROLL_TYPE` | `scrollType` | `enum`

  This option is available only for scrollButton widget. It specifies how to render the scroll arrow. Valid values are listed below.

  SymbolicConstant | resourceValue
  `EZ_LEFT` | `left`
  `EZ_RIGHT` | `right`
  `EZ_UP` | `up`
  `EZ_DOWN` | `down`
  `EZ_LEFT_RIGHT` | `leftRight`
  `EZ_UP_DOWN` | `upDown`

- `EZ_DOCKABLE, EZ_DRAGHANDLE`

  configOption | resourceName | valueType
  `EZ_DOCKABLE` | `dockable` | `boolean`
  `EZ_DRAG_HANDLE` | `dragHandle` | `enum`

  These two resources are available for Frames and MenuBars. `EZ_DOCKABLE` sets or removes the dockable attribute on a frame or menubar. `EZ_DRAG_HANDLE` sets the location to draw the drag handle. Valid values are

  SymbolicConstant | resourceValue
  `EZ_LEFT` | `left`
  `EZ_RIGHT` | `right`
  `EZ_TOP` | `top`

- `EZ_LOCATOR_XY`

  configOption | resourceName | valueType
  `EZ_LOCATOR_XY` | `locatorXY` | `float,float`

  This resource is available only for the locator widget. It sets the location of the locator (inside [0,1]x[0,1]).

- `EZ_SPIN_VALUE, EZ_SPIN_FUNCTION`

  configOption | resourceName | valueType
  `EZ_SPIN_VALUE` | `spinValue` | `int,string`
  `EZ_SPIN_FUNCTION` | `spinValue` | `func,pointer`

  These resources are available only for the spin button widget. They alter the state of a spin button. `EZ_ENTRY_STRING` sets the current value and its position in the list of possible values of the spin button. `EZ_ENTRY_FUNCTION` register the function to compute the next value for the spin button. It is a function of type:

  `char *(*func)(int current, int next, void *clientData)`

  When invoked, `current/next` are the index of the current and the next spin value, `clientData` is arbitary client data registered to the spin function.

- `EZ_FORGET_LOCATION, EZ_FORGET_SIZE, EZ_FORGET_GEOMETRY`

  configOption | resourceName | valueType
  `EZ_FORGET_X` | `forgetX` | `boolean`
  `EZ_FORGET_Y` | `forgetY` | `boolean`
  `EZ_FORGET_W` | `forgetW` | `boolean`
  `EZ_FORGET_H` | `forgetH` | `boolean`
  `EZ_FORGET_LOCATION` | `forgetLocation` | `boolean`
  `EZ_FORGET_SIZE` | `forgetSize` | `boolean`
  `EZ_FORGET_GEOMETRY` | `forgetGeometry` | `boolean`

  These options informs the geometry manager to forget about the configured geometry after using it. They are meant to be used by applications to set the initial geometry of internal widgets.

- `EZ_ENTRY_STRING`

  configOption | resourceName | valueType
  `EZ_ENTRY_STRING` | `entryString` | `string`

  This resource sets the entry string for Entry and OptionalEntry widgets.

- `EZ_BUBBLE_STRING`

  configOption | resourceName | valueType
  `EZ_BUBBLE_STRING` | `bubbleString` | `string`

  This resource sets the bubble help message for a widget.

- `EZ_DND_BUBBLE_STRING`

  configOption | resourceName | valueType
  `EZ_DND_BUBBLE_STRING` | `dndBubbleString` | `string`

  This resource sets the bubble message for a drop target.

- `EZ_DND_DRAG_CURSOR`

  configOption | resourceName | valueType
  `EZ_DND_DRAG_CURSOR` | `dndDragCursor` | `string`

  This option sets the drag cursor for a drag source. When set by resource, value is a cursor name. When set by `EZ_CreateWidget`, value is a symbolic constant.

- `EZ_RETURN_VALUE`

  configOption | resourceName | valueType
  `EZ_RETURN_VALUE` | `returnValue` | `int`

  This option sets return value for menu-items. The return value field in the widget structure can also be used to hold an extra client data.

- `EZ_GLOB_PATTERN`

  configOption | resourceName | valueType
  `EZ_GLOB_PATTERN` | `globPattern` | `string`

  This resource sets the glob pattern for a `FileSelector` widget.

- `EZ_SHAPED_WINDOW`

  configOption | resourceName | valueType
  `EZ_SHAPED_WINDOW` | `shapedWindow` | `boolean`

  This resource sets shape window attribute on a button or label widget. When set, the widget window will be masked by the shape mask of its pixmap label.

- `EZ_SHAPE_FILE`

  configOption | resourceName | valueType
  `EZ_SHAPE_FILE` | `shapedFile` | `string`

  This resource sets shape mask resource. Value is a X11 bitmap file. If set succesfully, it sets the `EZ_SHAPED_WINDOW` resource also.

- `EZ_SHAPE_PIXMAP`

  configOption | resourceName | valueType
  `EZ_SHAPE_FILE` | `N/A` | \verbpointer+

  This resource sets shape mask resource. Value is an internal pixmap allocated by one of the `EZ_CreateLabelPixmapFrom...`.

- `EZ_MENU_TEAR_OFF`

  configOption | resourceName | valueType
  `EZ_MENU_TEAR_OFF` | `menuTearOff` | `boolean`

  This resource inserts or removes the tear-off bar on a popup menu.

- `EZ_POPUP_NAME`

  configOption | resourceName | valueType
  `EZ_POPUP_NAME` | `popupName` | `string`

  This resource is available for OptionalEntry and FileSelector widgets. For OptionalEntry, it sets the instance name of the pull down listbox. For FileSelector, it sets the instance names for the two pull down listboxes, to be the specified name with the letter 'A' and 'B' appended.

- `EZ_IS_EMBEDER`

  configOption | resourceName | valueType
  `EZ_IS_EMBEDER` | `isEmbeder` | `boolean`

  This option sets the embeding attribute on a widget. When set, the widget swallows other EZwgl client's window when moved over to the widget window.

- `EZ_MOVABLE`

  configOption | resourceName | valueType
  `EZ_MOVABLE` | `movable` | `boolean`

  This option is available for WorkArea and FreeLabel. For a WorkArea widget, it enable/disable moving items around by the left mouse button. For FreeLabel, it enable/disable moving the widget window by the left mouse button.

- `EZ_LABELED_ICON`

  configOption | resourceName | valueType
  `EZ_LABELED_ICON` | `movable` | `int`

  This option is available for toplevel FreeLabels. It selects one of the three display styles (correspond to 0,1,2) for icons. If value is 0, the icon ignores the textual label when it has a pixmap label. If value is 1, it displays both the textual and the pixmap label, and it shape mask the pixmap label unless the `EZ_SHAPED_WINDOW` resource is set to False. If value is 2, it shape mask both the pixmap label and the textual label, unless the `EZ_SHAPED_WINDOW` resource is set to False.

- `EZ_MARK_CLEAN`

  configOption | resourceName | valueType
  `EZ_MARK_CLEAN` | `N/A` | `boolean`

  What is this for?

- `EZ_RESERVE_MENU_BUTTON`

  configOption | resourceName | valueType
  `EZ_RESERVE_MENU_BUTTON` | `reserveMenuButton` | `boolean`

  This resource is available for 3DCanvas only. It tells EZwgl to reserve the right mouse button as the menu button.

- `EZ_GEOMETRY_MANAGER`

  configOption | resourceName | valueType
  `EZ_GEOMETRY_MANAGER` | `N/A` | `???`

  This configuration option is available for container widgets. It sets the geometry manager for laying our children widgets.

- `EZ_DIAL_RANGE, EZ_DIAL_SPAN`

  configOption | resourceName | valueType
  `EZ_DIAL_RANGE` | `dialRange` | `float float`
  `EZ_DIAL_RESOLUTION` | `dialResolution` | `float`
  `EZ_DIAL_SPAN` | `dialSpan` | `float`
  `EZ_DIAL_VALUE` | `dialValue` | `float`
  `EZ_DIAL_DISPLAY_VALUE` | `dialDisplayValue` | `int`
  `EZ_DIAL_STYLE` | `dialStyle` | `enum`

  These resources modify the specified dial attributes.

- `EZ_BAR_RANGE, EZ_BAR_COLOR_N`

  configOption | resourceName | valueType
  `EZ_BAR_RANGE` | `barRange` | `float float`
  `EZ_BAR_WIDTH` | `barWidth` | `int`
  `EZ_BAR_EDITABLE` | `barEditable` | `bool`
  `EZ_BAR_ORIENTATION` | `barOrientation` | `enum`
  `EZ_BAR_COLOR_N` | `barColorN` | `int str ...`

  These resources modify the specified attributes of a gradient bar.

- `EZ_SHEET_HEADER_SIZE, EZ_SHEET_CELL_SIZE`

  configOption | resourceName | valueType
  `EZ_SHEET_HEADER_SIZE` | `sheetHeaderSize` | `int int`
  `EZ_SHEET_CELL_SIZE` | `sheetCellSize` | `int int`

  These options modify the specified attributes of a spread sheet.

HTML Documentation Maintainance:`Arturo Espinosa <arturo@nuclecu.unam.mx>`