category-group: xwin
layer(s): 0, 2, 3, 4, 6 header file(s): z_xmutils.h, z_xmfdisp.h, z_xmlookup.h, z_xmmatrix.h, z_xmfdisp.h, z_xmbusy.h synopsis.
The existance of this group represents a departure from the Z Directory. The Vettasoft policy is to not get directly involved with window systems. But, the code was built, and is integrated with the Z Directory. However, since it appears that X Windows will not run under Microsoft operating systems, this code cannot be used in Microsoft environments anyway. If that has not yet dissuaded you, if you try to use the components herein you will immediately be faced with missing header files, as z_xmutils.h includes Xm.h, which would not be under a Microsoft OS. If you have [stubbornly] put the header files somewhere accessible, the final problem is that all the X Window functions will be missing, leaving your build with a pile of unresolved externals. Once again, the Z Directory doesn't provide window support code and anything we provide in this group is extra, outside the main trajectory, and should be considered as an extra module that works only on unix systems. An overview of what is provided here: layer 0 functions:
z_strlist_to_xmstring_table(): converts array of (char *) --> xmstring z_release_xmstring_table() ...: converse of "strlist_to_xmstring_table()" z_xt_get_topshell(): returns the [1st] parent shell of type window managerlayer 2 functions:
z_xm_create_label() z_xm_create_textfield(): simplified creation of field widgets z_xm_create_pushbutton(): simplified creation of push button widgets z_xm_create_arrow(): simplified creation of "arrow buttons" z_xm_create_full_horizontal_line(): creates a horizontal separator z_xm_center_widget(): align a widget horizontally z_xm_attach_widget(): attach one widget to another z_xm_align_widgets(): align an array of widgets, top / bottom / left / right z_xm_align_widget_pair(): aligns 2 widgets z_xm_equalize_2_heights(): makes a pair of widgets same height z_xm_setlabel(): put a string on a label widget; eg label a label z_xm_settextfield(): label a text widget z_xm_gettextfield(): gets the contents of a text field widget, as string_o z_xm_dollartextfield_to_double(): get dollar amount, as a double z_xm_double_to_dollartextfield(): write a dollar amount to a widget z_xm_settextfield_length(): sets max size of text field widget z_xm_settextfield_read_only(): make text field widget read-only z_xm_settextfield_read_write():make text field widget modifiable z_xm_toggle_button_label(): get label, motif toggle button is_z_xm_toggle_button_set(): tell if toggle button is set z_xm_set_toggle_button(): set a toggle button z_xm_clear_toggle_button(): clear a toggle button z_xm_reverse_fgbg_colors(): flip the foreground / background colors z_xm_fontheight(): get the height of a widget's font z_xm_create_errmsg_popup_window() z_xm_popup_errmsg_window() z_xm_popdown_errmsg_window()the tasks of layer 3 functions are self-explanatory by name:
z_xm_create_row_of_pushbuttons_onform() z_xm_create_toggle_box() z_xm_create_row_of_pushbuttons_onrowcol() z_xm_create_widget_grid() z_xm_create_popup_menu() z_xm_cb_popup(): make a pop-up visible z_xm_cb_popdown(): converse of z_xm_cb_popup()xmfdisp_item_o: lets you set up a list of "xmfdisp items", which correspond to [text widget] fields in an x-window. you add fields with the "add()" member function. you display values into the fields with "load_from_dbag()". xmmatrix_o: a simplified "wrapper" for a row-column widget xmlookup_o: displays a list of items classes in this group: xmmatrix_o, xmlookup_o, xmfdisp_item_o, xmbusy_o support/internal classes: {comma-delimited list of private classes}