aboutsummaryrefslogtreecommitdiff
path: root/vendor/x11iraf/obm/ObmW/README
blob: b75418d3dd6d52751d10c8727b34ad85e53efee3 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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.