ObmW -- Custom widgets used by the Object Manager. This directory contains standalone X toolkit widgets; these are not tied to the Object Manager in any way. The widgets in this collection are included here if they are used in the Object Manager but are not part of any standard toolkit. To interface a new widget to the Object Manager, one can add the widget source to this directory and modify ObmP.h and obmres.dat (which is generated using obmres.c) in the OBM root directory to tell OBM about the widget and its resources. One may optionally wish to subclass the OBM Widget class to make any widget-specific functions available to interpreted GUI code. Widets: Gterm Gterm gterm-image widget (2D graphics and imaging) Layout Layout geometry widget, uses layout description language Arrow Arrow arrow widget, as in a scrollbar Board Board geometry widget, organizes children by coordinate Frame Frame draws a frame around a child widget Group Group organize multiple children into a group Icon Icon display a color pixmap MultiList MultiList list widget with multiple selections RadioGrp RadioGroup radio group, subclass of Group RowCol RowCol geometry widget, arranges children in a table Scrollbar Scrollbar2 alternative to Athena scrollbar widget Slider2 Slider2D 2D slider widget (can be used as 1D slider) Label TextBox framed box with formatted text Button TextButton TextBox as a button with callback Toggle TextToggle button with on,off bitmap to the left Common XfwfCommon used internally by all FWF widgets MenuBar MenuBar doesn't work, placeholder for now Notes on widget callbacks (used internally by OBM, not GUIs). -------------------------------------------------------------- FWF widgets: Boolean XfwfMultiListGetItemInfo (mlw,item_index,str_ptr,h_ptr,s_ptr) Boolean XfwfMultiListHighlightItem (mlw,item_index) Boolean XfwfMultiListIsHighlighted (mlw,item_index) struct = XfwfMultiListGetHighlighted (mlw) XfwfMultiListSetNewData (mlw,list,nitems,longest,resize, sensitivity_array) int XfwfMultiListToggleItem (mlw,item_index) XfwfMultiListHighlightAll (mlw) XfwfMultiListUnhighlightAll (mlw) XfwfMultiListUnhighlightItem (mlw,item_index) XfwfGetThumb (self,info) XfwfMoveThumb (self,x,y) XfwfResizeThumb (self,wd,ht) XfwfSetScrollbar (self,pos,size) void XfwfConnectScrollingWidgets (w1, w2) Athena widgets: char* XawDialogGetValueString (w) XtFormDoLayout (w, do_layout) XawListChange (w, list, nitems, longest, resize) XawListHighlight (w, item) XawListUnhighlight (w) XawListShowCurrent (w) XawScrollbarSetThumb (w, top, shown) Panner: Callback when panner moves. Porthole: Multiple children, only one managed at a time. Single callback called when child is moved or resized. Repeater: Repeating version of command widget. Two callbacks, start callback and stop callback. Scrollbar: Callbacks: jumpProc, scrollProc StripChart: getValue callback called to get new data point Tree: No special callbacks or functions Viewport: Report callback called if child moved or resized All geometry widgets have a function to disable/force layout of the children, used to disable layout when multiple children are modified.