EZ_CreateWidget


NAME

EZ_CreateWidget - create an EZ widget

SYNOPSIS

#include <EZ.h> EZ_Widget *EZ_CreateWidget(int type, EZ_Widget *parent, ...)

ARGUMENTS

type Specifies a symbolic widget type (see below). parent Specifies the parent widget or NULL. ... Specifies configuration options, a list of symbols each followed by one or more values. The last symbol must be NULL, which is itself not followed by any values.

DESCRIPTION

EZ_CreateWidget creates a widget and initializes the wid- get using the specified configuration options. For example extern void exit(); EZ_Widget *button; /* type parent */ button = EZ_CreateWidget(EZ_WIDGET_NORMAL_BUTTON, NULL, /* option, option value(s) */ EZ_LABEL_STRING, "Hello World", EZ_UNDERLINE, 0, EZ_CALLBACK, exit, NULL, 0); creates a push button widget labeled by "Hello World" with the letter 'H' underlined.

SYMBOLIC WIDGET TYPES

EZ_WIDGET_FRAME, EZ_WIDGET_NORMAL_BUTTON, EZ_WIDGET_CHECK_BUTTON, EZ_WIDGET_RADIO_BUTTON, EZ_WIDGET_MENU_BUTTON, EZ_WIDGET_MENU_SEPARATOR, EZ_WIDGET_LABEL, EZ_WIDGET_RAW_XWINDOW, EZ_WIDGET_MENU_SUBMENU, EZ_WIDGET_MENU_NORMAL_BUTTON, EZ_WIDGET_MENU_CHECK_BUTTON, EZ_WIDGET_MENU_RADIO_BUTTON, EZ_WIDGET_VERTICAL_SLIDER, EZ_WIDGET_HORIZONTAL_SLIDER, EZ_WIDGET_ENTRY, EZ_WIDGET_VERTICAL_SCROLLBAR, EZ_WIDGET_HORIZONTAL_SCROLLBAR, EZ_WIDGET_LIST_BOX, EZ_WIDGET_TEXT, EZ_WIDGET_NOTE_BOOK, EZ_WIDGET_PANE_HANDLE, EZ_WIDGET_EXECUTOR, EZ_WIDGET_OPTIONAL_ENTRY, EZ_WIDGET_FILE_SELECTOR, EZ_WIDGET_TREE, EZ_WIDGET_LIST_TREE, EZ_WIDGET_FANCY_LIST_BOX, EZ_WIDGET_WORK_AREA, EZ_WIDGET_ROW_COLUMN, EZ_WIDGET_ICON, EZ_WIDGET_FREE_LABEL, EZ_WIDGET_3D_CANVAS, EZ_WIDGET_NB_PAGE, EZ_WIDGET_NW_LABEL

CONFIGURATION SYMBOLS AND THEIR VALUES

The set of widget configuration options and their values are listed below. For each option value, the string before the last _ is its type. EZ_X, int_x Specifies the x coordinate of the upper-left corner of the widget window in its parent window. EZ_Y, int_y Specifies the y coordinate of the upper-left corner of the widget window in its parent window. EZ_WIDTH, int_w Specifies the width of a widget. EZ_HEIGHT, int_h Specifies the height of a widget. EZ_WIDTH_HINT, int_w Specifies the suggested width of a widget. EZ_HEIGHT_HINT, int_h Specifies the suggested height of widget. EZ_BORDER_WIDTH, int_bw Specifies a border width. EZ_BORDER_TYPE, int_bt Specifies a border type. int_bt must be one of EZ_BORDER_NONE, EZ_BORDER_FLAT, EZ_BORDER_RIDGE, EZ_BORDER_GROOVE, EZ_BORDER_RAISED or EZ_BOR- DER_SUNKEN. EZ_PADX, int_px Specifies the horizontal padding between the widget border and its contents. EZ_PADY, int_py Specifies the vertical padding between the widget border and its contents. EZ_IPADX, int_ipx Specifies the amount of spaces to be inserted hori- zontally between children widgets. EZ_IPADY, int_ipy Specifies the amount of spaces to be inserted verti- cally between children widgets. EZ_ORIENTATION, int_ori Specifies the orientation of a container wid- get(except row-column widget). int_ori must be one of EZ_HORIZONTAL, EZ_HORIZONTAL_LEFT,EZ_HORIZON- TAL_RIGHT, EZ_HORIZONTAL_CENTER, EZ_VERTICAL,EZ_VER- TICAL_TOP, EZ_VERTICAL_BOTTOM or EZ_VERTICAL_CENTER. EZ_SIDE, int_sd Specifies a way to align children widgets. int_sd must be one of EZ_CENTER, EZ_LEFT, EZ_RIGHT, EZ_TOP or EZ_BOTTOM. EZ_LABEL_POSITION, int_lp Specifies a location to anchor a label. int_lp must be one of EZ_CENTER, EZ_LEFT, EZ_RIGHT, EZ_TOP, EZ_BOTTOM, EZ_TOP_LEFT, EZ_TOP_RIGHT, EZ_BOTTOM_LEFT or EZ_BOTTOM_RIGHT. EZ_LABEL_JUSTIFICATION, int_jst Specifies the justfication for textual labels. int_jst must be one of EZ_CENTER, EZ_LEFT or EZ_RIGHT. EZ_FILL_MODE, int_fmode Specifies a way to stretch children widgets. int_fmode must be one of EZ_FILL_NONE, EZ_FILL_HORI- ZONTALLY, EZ_FILL_VERTICALLY or EZ_FILL_BOTH. EZ_PROPAGATE, int_tf Specifies whether or not change of geometry of a wid- get be propagated to the whole widget tree. EZ_CALLBACK, EZ_CallBack_cbk, voidptr_cdata Specifies a callback procedure and a client data to be passed to the callback. Use this option only when a widget is to have only one callback. EZ_FOREGROUND, str_fg Specifies a forground color. EZ_BACKGROUND, str_bg Specifies a background color. EZ_PIXMAP_FILE, str_file Specifies an X bitmap file or a X pixmap file (an xpm image). EZ_BITMAP_DATA, array_of_char,int_width,int_height Specify an X bitmap. EZ_PIXMAP_DATA, array_of_str Specifies an XPM image data. EZ_X_PIXMAP, Pixmap_p,int_x,int_y,int_width,int_height Specify a regular region of a native X pixmap to used to label a widget. EZ_LABEL_PIXMAP, EZ_Pixmap_p Specifies an internal pixmap. EZ_FONT_ID, int_id Specifies a fond id. EZ_FONT_NAME, str_name Spcifies an X11 font name. EZ_TEXT_LINE_LENGTH, int_len Specifies the wrap around length for textual labels. EZ_SLIDER_LENGTH, int_len Specifies the length of the sliding button on a slider. EZ_SLIDER_WIDTH, int_width Specifies the width of the sliding button on a slider. EZ_SLIDER_BORDER_WIDTH, int_bw Specifies the border width of the sliding button on a slider. EZ_SLIDER_RESOLUTION, float_re Specifies the resolution of a slider. EZ_SLIDER_RANGE, float_mn, float_mx Specifies the range of a slider. EZ_SLIDER_DISPLAY_VALUE, int_tf Specifies whether or not to display the current value on a slider widget. EZ_SLIDER_INIT_VALUE, float_v Specifies the initial value on a slider. EZ_INDICATOR_SIZE_ADJUST, int_a Specifies an adjustment of the size of the indicator on a radiobutton or a checkbutton. EZ_IMAGE_FILE, str_filename Specifies an image file name. Supported image formats are: ppm, xpm, bmp, gif and jpeg. EZ_BUTTON_SHORTCUT, str_ks Specifies a keyboard shortcut for a button type wid- get. str_ks must be in the format C-key or M-key or Control-key or Meta-key. EZ_EVENT_HANDLER, EZ_EventHandler_handler, ptr_data Specifies an event handler and a client data to be passed to the event handler. Use this option only if a widget is to have only one private event handler. EZ_LABEL_STRING, str_label Specifies a textual label. EZ_RESERVE_MENU_BUTTON, int_tf Specifies whether or not Button3 should be reserved for posting popup menus for a 3D canvas widget. EZ_BACKING_STORE, int_tf Specifies whether or not to set the backing store attribute on the window of a widget. EZ_EXPAND, int_tf Specifies whether or not a widget be stretched in the direction opposite to its parent' orientation, to the corresponding size of its parent. EZ_TRANSIENT, int_tf Specifies whether or not to set the XA_WM_TRAN- SIENT_FOR window manager hint on a toplevel widget window. EZ_SCROLLBAR_WIDTH, int_w Specifies the width of the sliding button on a scrollbar widget. EZ_SCROLLBAR_BORDER_WIDTH, int_bw Specifies the border width of the sliding button on a scrollbar widget. EZ_TEXT_SPACING, int_sp Specifies the spacing between lines in a text widget. EZ_UNDERLINE, int_idx Specifies the index of the character to be underlined on a textual label. Underlined characters are used as keyboard shortcuts for button type widgets. EZ_BUBBLE_HELP, str_help Specifies a bubble help string. EZ_FREELABEL_MOVABLE, int_tf Specifies whether or not a freelabel widget be mov- able by Button1 press-drag-release. EZ_INDICATOR_TYPE, int_type Specifies an indicator type for a radiobutton or a checkbutton. int_type must be one of EZ_EMPTY_INDI- CATOR, EZ_SQUARE_INDICATOR, EZ_SUNKEN_SQUARE_INDICA- TOR, EZ_DIAMOND_INDICATOR, EZ_SUNKEN_DIAMOND_INDICA- TOR, EZ_CIRCLE_INDICATOR, EZ_CHECK_INDICATOR or EZ_RECTANGLE_INDICATOR. EZ_INDICATOR_COLOR, str_clr Specifies a highlight color for the indicator on a radiobutton or a checkbutton. EZ_TEXT_BACKGROUND, str_clr Specifies the background color for a text widget. EZ_SELECTION_BACKGROUND, str_clr Specifies the background color for the slection in text widget, entry, listbox, tree, fancy-listbox or work-area. EZ_SELECTION_FOREGROUND, str_clr Specifies the foreground color for the selected item(s) in a fancy-listbox, a tree or a work-area widget. EZ_CLIENT_PTR_DATA, ptr_data Specifies a generic pointer to be stored in a widget. EZ_CLIENT_INT_DATA, int_data Specifies an integer to be stored in a widget. EZ_DESTROY_CALLBACK, EZ_CallBack_callback, ptr_data Specify a destroy callback and a client data to be passed to the callback. Use this option if a widget is to have only one destroy callback. EZ_IS_EMBEDER, int_tf Specifies whether or not the widget should reparent other toplevel windows that lie entirely in its wid- get window. EZ_DND_DRAG_CURSOR, Cursor_cur Specifies an X cursor for drag and drop. The speci- fied cursor will replace the default cursor when the widget is being draged. EZ_DND_BUBBLE_HELP, str_hlp Specifies a DND bubble help string. DND bubble will be displayed when a drag is paused over the widget window and the widget is a drop site. EZ_SHAPED_WINDOW, int_tf Specifies whether or not the shape mask in a image label should be used to reshape the widget window. EZ_MOTION_CALLBACK, EZ_CallBack_callback, ptr_data Specify a motion callback and a client data to be passed to the callback. Use this option if a widget is to have only one motion callback. EZ_CHECK_BUTTON_ON_VALUE, int_v Specifies the value corresponding to the on state of a check button. EZ_CHECK_BUTTON_OFF_VALUE, int_v Specifies the value corresponding to the off state of a check button. EZ_CHECK_BUTTON_ON_OFF, int_tf Specifies a state for a checkbutton. int_tf must be EZ_ON or EZ_OFF. EZ_RADIO_BUTTON_GROUP, int_id Specifies the group id for a radio button. EZ_RADIO_BUTTON_VALUE, int_v Specifies the value to set to the group variable when a radiobutton is checked. EZ_OPTIONAL_HSCROLLBAR, int_tf Specifies whether or not to create a horizontal scrollbar for a textwidget, a tree, a listbox, a fancy-listbox or a work-area. EZ_OPTIONAL_VSCROLLBAR, int_tf Specifies whether or not to create a vertocal scroll- bar for a textwidget, a tree, a listbox, a fancy- listbox or a work-area. EZ_FANCY_LIST_BOX_TYPE, int_type Specifies the selection mode in a fancy-listbox wid- get. There are two selection modes, a row mode (rep- resented by 1) and a item mode (represented by 0). EZ_FANCY_LIST_BOX_COLUMNS, int_cln Specifies the number of columns in a fancy-listbox widget. EZ_GLOB_PATTERN, str_pattern Specifies the initial glob pattern in a file-selector widget. EZ_TEXT_WIDGET_EDITABLE, int_tf Specifies whether editing is allowed in a text wid- get. EZ_ENTRY_STRING, str_datr Specifies a initial string for an entry widget. EZ_RETURN_VALUE, int_v Specifies the return value for a menu-item. EZ_OPTIONAL_ENTRY_REMEMBER_HISTORY, int_tf Specifies whether or not an optional-entry should remember its histroy. EZ_OPTIONAL_ENTRY_EDITABLE, int_tf Specifies whether or not editing is allowed an optional-entry widget. EZ_MENU_TEAR_OFF, int_tf Specifies whether or not to add a tear-off item (a dashed line) on a menu. EZ_LOCATION, int_x, int_y Specify the coordinates of the upper-left corner of a widget window relative to its parent's widget window. EZ_SIZE, int_w, int_h Specify the width and height of a widget. EZ_GEOMETRY, int_x, int_y, int_w, int_h Specify the location and dimension of a widget. EZ_SIZE_HINT, int_w, int_h Specify the suggested width and height of a widget. EZ_HIGHLIGHT_PAD, int_hb Specifies the amount of space to be inserted outside the border of a widget window. This extra space is used to draw keyboard focus highlight box around the widget. EZ_NAME, str_name Specifies a name for a widget. EZ_GRID_CELL_GEOMETRY, int_x,int_y,int_w,int_h Specify the geometry of a cell in a row-column wid- get. int_x,int_y specify the location of the cell and int_w,int_h specify the horizontal and vertical span of the cell. EZ_GRID_CELL_PLACEMENT, int_fill, int_anchor Specify the fill mode and anchor position for a cell in a row-column widget. int_fill must be one of EZ_FILL_NONE, EZ_FILL_HORIZONTALLY, EZ_FILL_VERTI- CALLY or EZ_FILL_BOTH. This option is used to dis- tribute extra space of the cell to its occupant. int_anchor must be one of EZ_CENTER, EZ_LEFT, EZ_RIGHT, EZ_TOP, EZ_BOTTOM, EZ_TOP_LEFT, EZ_TOP_RIGHT, EZ_BOTTOM_LEFT or EZ_BOTTOM_RIGHT. This option is used to determine the anchor position for a cell occupant in case the cell is larger than the dimension of its occupant. EZ_GRID_ROW_CONSTRAINS, int_idx, int_min, int_weight, int_pad Specify the row constrains for a row in a row-column widget. int_idx is the index of the row to which the constrins will be set; int_min is the minimal height of the row; int_weight is the weight of the row, it is used to compute the extra space to be added/removed to the row when the row-column widget is resized; int_pad specifies the amount of extra space to be inserted at the top and the bottom of the row. EZ_GRID_COLUMN_CONSTRAINS, int_idx, int_min, int_weight, int_pad Specify the column constrains for a column in a row- column widget. int_idx is the index of the column to which the constrins will be set; int_min is the mini- mal width of the column; int_weight is the weight of the column, it is used to distribute the extra space to be added/removed to the column when the row-column widget is resized; int_pad specifies the amount of extra space to be inserted at the left and the right of the row. EZ_GRID_CONSTRAINS, int_RorC, int_idx, int_min, int_weight, int_pad Specify a row constrains or a column constrains. int_RorC must be one of EZ_ROW or EZ_COLUMN.

SEE ALSO

EZ_DisplayWidget(3), EZ_ConfigureWidget(3), EZ_DestroyWidget(3)