1XmContainer(library call)                            XmContainer(library call)
2
3
4

NAME

6       XmContainer — The Container widget class
7

SYNOPSIS

9       #include <Xm/Container.h>
10

DESCRIPTION

12       Container  manages  child  widgets  that  have the ContainerItem trait.
13       These child widgets can be viewed in several different layout  formats,
14       selected  using  different selection types and techniques, and directly
15       manipulated by the user.
16
17       Three different formats or views are supported by the Container.   They
18       are specified via the XmNentryViewType resource:
19
20          ·  XmLARGE_ICON
21
22          ·  XmSMALL_ICON
23
24          ·  XmANY_ICON
25
26       Three  different layout types are supported by the Container.  They are
27       specified by the XmNlayoutType resource:
28
29          ·  XmSPATIAL
30
31          ·  XmOUTLINE
32
33          ·  XmDETAIL
34
35       In the XmSPATIAL layout type, several other resources (XmNspatialStyle,
36       XmNspatialIncludeModel, XmNspatialSnapModel) control the positioning of
37       the items within the Container; an application programmer  can  specify
38       these resources so that the Container strictly enforces the position of
39       each item or so that the Container positions items  according  to  con‐
40       straint  resources  specified  for  each  item.  The user, however, can
41       alter the position of an item in the XmSPATIAL layout type  within  the
42       Container  by  direct  manipulation; for example, by pressing BTransfer
43       over the item and then dragging and releasing BTransfer over some loca‐
44       tion within the Container.
45
46       In the XmOUTLINE layout type, the Container controls the positioning of
47       the items. Items within the Container can have  parent-child  relation‐
48       ships  between  them.  Each  item's XmNentryParent resource can specify
49       another item in the same Container as its parent; items with a non-NULL
50       value  for XmNentryParent can only be displayed in the XmOUTLINE layout
51       type. In the XmOUTLINE layout type, items are positioned in a tree con‐
52       figuration with connecting lines drawn to illustrate the relationships.
53       Items are positioned top to bottom in the order specified  by  XmNposi‐
54       tionIndex  within  their parent.  Container positions a PushButton next
55       to each item that has a parent relationship to other items.  The  Push‐
56       Button  contains  a  pixmap  to  illustrate whether the child items are
57       shown or not; the user can activate the PushButton  to  toggle  between
58       showing  or  hiding  the child items.  Direct manipulation to alter the
59       position of the item is not supported in  the  XmOUTLINE  layout  type.
60       Note  that  the  XmNtraversalOn  resource of the PushButtons created by
61       Container are set to False.
62
63       The XmDETAIL layout type is the same as  XmOUTLINE,  except  that  each
64       item  can  also  display additional information as rows in columns with
65       column headers specified in the  XmNdetailColumnHeading  resources.  In
66       each item row, the item's detail information (see the reference page on
67       XmIconGadget for a description of the XmNentryDetail resource) is  dis‐
68       played.  Items  are  positioned top to bottom in the order specified by
69       XmNpositionIndex within the parent.
70
71   Selection
72       When a child widget of the container is selected, the container  speci‐
73       fies that the item should display the appropriate visual information to
74       the user via the ContainerItem trait.  The application program is noti‐
75       fied of selection changes through XmNselectionCallback.
76
77       The container uses four selection policies:
78
79          ·  Single
80
81          ·  Browse
82
83          ·  Multiple
84
85          ·  Extended
86
87       In Single Select and Browse Select modes, only one item can be selected
88       at a time. Pressing BSelect on an item selects  it  and  deselects  any
89       other  selected item.  Pressing BSelect over an empty space in the Con‐
90       tainer deselects all items. In Browse Select,  dragging  BSelect  moves
91       the selection as the pointer is moved.
92
93       In  Multiple  Select and Extended Select modes, any number of items can
94       be selected at the same time.  In Multiple Select, pressing  and  drag‐
95       ging BSelect or BExtend to specify an item, range of items, or group of
96       discontiguous items causes the selection states of those  items  to  be
97       toggled.  In Extended Select, pressing and dragging BSelect to indicate
98       an item, range of items, or group of discontiguous items selects  those
99       items  and  deselects  all  others.  Pressing  and  dragging BExtend in
100       Extended Select to indicate an item, range of items,  or  discontiguous
101       group  of  items  causes the selection states of those items to be tog‐
102       gled.
103
104       Several techniques are available to indicate an item, range  of  items,
105       or  group  of  discontiguous  items in the Multiple Select and Extended
106       Select modes.
107
108       In the XmSPATIAL and XmOUTLINE layout types, the  XmNselectionTechnique
109       resource  specifies  the  techniques  to be used to indicate items. The
110       default specification of XmTOUCH_OVER allows both the Random-Swipe  and
111       Marquee  techniques  to  be  used when XmNlayoutStyle is XmSPATIAL. The
112       default specification of XmTOUCH_OVER allows  the  Range-Swipe,  Range-
113       Click,  and Marquee techniques to be used when XmNlayoutStyle is XmOUT‐
114       LINE.
115
116       Discontiguous groups of items can be selected  using  the  Random-Swipe
117       technique.   In  the  Random-Swipe technique, pressing BSelect (or BEx‐
118       tend) over an item and dragging BSelect over other items selects all of
119       those items. Only those items that pointer passed over are selected.
120
121       In  the  Range-Swipe  technique,  the user presses BSelect (or BExtend)
122       over the first item and releases BSelect over the last item; all  items
123       within  the  range between the first and last item are selected whether
124       the pointer actually passed over them or not.  In the Range-Click tech‐
125       nique,  the  user  presses  and  releases BSelect (or BExtend) over the
126       first item and then presses and releases BExtend over the last item.
127
128       In the Marquee technique, pressing BSelect (or BExtend)  over  a  blank
129       space  within  the  Container indicates the starting point of a Marquee
130       rectangle. Dragging BSelect draws a Marquee rectangle (rubberband line)
131       between  the  starting  point and current pointer. All items completely
132       within the Marquee rectangle are selected.
133
134       Specifying XmTOUCH_ONLY for XmNselectionTechnique enforces the  Random-
135       Swipe  technique even when BSelect (or BExtend) is pressed over a blank
136       space.  Similarly, specifying XmMARQUEE enforces the Marquee  technique
137       even  when BSelect (or BExtend) is pressed over an item; since the item
138       over which the press occurs is only partially included in  the  Marquee
139       rectangle,  it  is  not  selected.   XmMARQUEE_EXTEND_START  and XmMAR‐
140       QUEE_EXTEND_BOTH enforce the Marquee technique and also cause the  rec‐
141       tangle to extend automatically around the first item indicated and, for
142       XmMARQUEE_EXTEND_BOTH, the last item.
143
144       In the XmDETAIL layout type, the Range-Swipe and Range-Click techniques
145       are available to indicate a range of items for selection.
146
147       Container  uses  the XmQTcontainerItem, XmQTscrollFrame, and XmQTspeci‐
148       fyRenderTable traits  and  holds  the  XmQTcontainer  and  XmQTtransfer
149       traits.
150
151   Data Transfer Behavior
152       Container supports dragging of selected items from the widget.  Depend‐
153       ing on the value of XmNprimaryOwnership,  Container  can  also  support
154       primary selection.
155
156       As a source of data, Container supports the following targets and asso‐
157       ciated conversions of data to these targets:
158
159       locale    If the locale target matches the widget's locale, the  widget
160                 transfers  the  selected items in the encoding of the locale.
161                 The  value  for  each  item  transferred,  except  the  last,
162                 includes a trailing separator.  Each item value is the XmNla‐
163                 belString of the item.
164
165       COMPOUND_TEXT
166                 The  widget  transfers  the  selected  items  as  type   COM‐
167                 POUND_TEXT.   The value for each item transferred, except the
168                 last, includes a trailing separator.  Each item value is  the
169                 XmNlabelString of the item.
170
171       DELETE    The widget deletes the selected items.
172
173       PIXMAP    The widget transfers a list of the pixmap IDs of the selected
174                 items as type DRAWABLE.
175
176       STRING    The widget transfers the selected items as type STRING.   The
177                 value  for each item transferred, except the last, includes a
178                 trailing separator.  Each item value is the XmNlabelString of
179                 the item.
180
181       TEXT      If  the  selected items are fully convertible to the encoding
182                 of the locale, the widget transfers the selected items in the
183                 encoding  of the locale.  Otherwise, the widget transfers the
184                 selected items as type COMPOUND_TEXT.   The  value  for  each
185                 item  transferred, except the last, includes a trailing sepa‐
186                 rator.  Each item value is the XmNlabelString of the item.
187
188       _MOTIF_CLIPBOARD_TARGETS
189                 The widget transfers, as type ATOM, a list of the targets  it
190                 supports  for immediate transfer for the CLIPBOARD selection.
191                 These include  _MOTIF_COMPOUND_STRING  and  PIXMAP.   If  the
192                 selected  items  are  fully convertible to STRING, these also
193                 include STRING; otherwise, they  also  include  COMPOUND_TEXT
194                 and UTF8_STRING.
195
196       _MOTIF_COMPOUND_STRING
197                 The  widget transfers the selected items as a compound string
198                 in Byte Stream format.  The value for each item  transferred,
199                 except  the  last,  includes a trailing separator.  Each item
200                 value is the XmNlabelString of the item.
201
202       UTF8_STRING
203                 The widget transfers the selected items as type  UTF8_STRING.
204                 The  value  for  each  item  transferred,  except  the  last,
205                 includes a trailing separator.  Each item value is the XmNla‐
206                 belString of the item.
207
208       _MOTIF_DEFERRED_CLIPBOARD_TARGETS
209                 The  widget transfers, as type ATOM, a list of the targets it
210                 supports for delayed transfer for  the  CLIPBOARD  selection.
211                 This    widget    currently    supplies    no   targets   for
212                 _MOTIF_DEFERRED_CLIPBOARD_TARGETS.
213
214       _MOTIF_DRAG_OFFSET
215                 The widget transfers a list of two 16-bit  numbers,  of  type
216                 INTEGER,  representing  an  x  and y offset for an item being
217                 dragged.  This offset is calculated so that,  if  the  offset
218                 were  added  to the x and y coordinates at the drop site, and
219                 the dragged pixmap placed at that position, it  would  corre‐
220                 spond  to  the  position  the user would expect the pixmap to
221                 placed at, based on the drag icon used at the drop site.
222
223       _MOTIF_EXPORT_TARGETS
224                 The widget transfers, as type ATOM, a list of the targets  to
225                 be used as the value of the DragContext's XmNexportTargets in
226                 a  drag-and-drop   transfer.    These   include   _MOTIF_COM‐
227                 POUND_STRING,  PIXMAP,  COMPOUND_TEXT,  the  encoding  of the
228                 locale,   STRING,   TEXT,   BACKGROUND,    FOREGROUND,    and
229                 UTF8_STRING.
230
231       As  a  source  of  data, Container also supports the following standard
232       Motif targets:
233
234       BACKGROUND
235                 The widget transfers XmNbackground as type PIXEL.
236
237       CLASS     The widget finds the first shell in the widget hierarchy that
238                 has a WM_CLASS property and transfers the contents as text in
239                 the current locale.
240
241       CLIENT_WINDOW
242                 The widget finds the first shell in the widget hierarchy  and
243                 transfers its window as type WINDOW.
244
245       COLORMAP  The widget transfers XmNcolormap as type COLORMAP.
246
247       FOREGROUND
248                 The widget transfers XmNforeground as type PIXEL.
249
250       NAME      The widget finds the first shell in the widget hierarchy that
251                 has a WM_NAME property and transfers the contents as text  in
252                 the current locale.
253
254       TARGETS   The  widget transfers, as type ATOM, a list of the targets it
255                 supports.  These include the standard targets in  this  list.
256                 These   also  include  _MOTIF_COMPOUND_STRING,  PIXMAP,  COM‐
257                 POUND_TEXT, the encoding of the  locale,  STRING,  TEXT,  and
258                 UTF8_STRING.
259
260       TIMESTAMP The widget transfers the timestamp used to acquire the selec‐
261                 tion as type INTEGER.
262
263       _MOTIF_RENDER_TABLE
264                 The widget transfers XmNrenderTable if it exists, or else the
265                 default text render table, as type STRING.
266
267       _MOTIF_ENCODING_REGISTRY
268                 The  widget  transfers  its encoding registry as type STRING.
269                 The value is a list of NULL separated items in  the  form  of
270                 tag encoding pairs.  This target symbolizes the transfer tar‐
271                 get for the Motif Segment  Encoding  Registry.   Widgets  and
272                 applications  can use this Registry to register text encoding
273                 formats for specified render table tags.  Applications access
274                 this   Registry   by  calling  XmRegisterSegmentEncoding  and
275                 XmMapSegmentEncoding.
276
277       As a destination for data, Container  supports  only  the  dropping  of
278       items being dragged from the same widget.  Subclasses and the XmNdesti‐
279       nationCallback procedures are responsible for any other data  transfers
280       to the widget.
281
282   Classes
283       Container  inherits behavior, resources, and traits from the Core, Com‐
284       posite, Constraint, and XmManager classes.
285
286       The class pointer is xmContainerWidgetClass.
287
288       The class name is XmContainer.
289
290   New Resources
291       The following table defines a set of widget resources used by the  pro‐
292       grammer  to specify data. The programmer can also set the resource val‐
293       ues for the inherited classes to set attributes for  this  widget.   To
294       reference  a  resource by name or by class in a .Xdefaults file, remove
295       the XmN or XmC prefix and use the remaining letters.  To specify one of
296       the  defined  values for a resource in a .Xdefaults file, remove the Xm
297       prefix and use the remaining letters (in either lowercase or uppercase,
298       but  include  any  underscores  between words). The codes in the access
299       column indicate whether the given resource can be set at creation  time
300       (C),  set by using XtSetValues (S), retrieved by using XtGetValues (G),
301       or is not applicable (N/A).
302
303       ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
304       │                            │              XmContainer Res│ource Set        │                          │        │
305Name                        Class                       Type           Default                  Access 
306       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
307       │XmNautomaticSelection       │ XmCAutomaticSelection       │ unsigned char  │ XmAUTO_SELECT            │ CSG    │
308       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
309       │XmNcollapsedStatePixmap     │ XmCCollapsedStatePixmap     │ Pixmap         │ dynamic                  │ CSG    │
310       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
311       │XmNconvertCallback          │ XmCCallback                 │ XtCallbackList │ NULL                     │ C      │
312       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
313       │XmNdefaultActionCallback    │ XmCCallback                 │ XtCallbackList │ NULL                     │ C      │
314       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
315       │XmNdestinationCallback      │ XmCCallback                 │ XtCallbackList │ NULL                     │ C      │
316       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
317       │XmNdetailColumnHeading      │ XmCDetailColumnHeading      │ XmStringTable  │ NULL                     │ CSG    │
318       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
319       │XmNdetailColumnHeadingCount │ XmCDetailColumnHeadingCount │ Cardinal       │ 0                        │ CSG    │
320       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
321       │XmNdetailOrder              │ XmCDetailOrder              │ Cardinal *     │ NULL                     │ CSG    │
322       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
323       │XmNdetailOrderCount         │ XmCDetailOrderCount         │ Cardinal       │ dynamic                  │ CSG    │
324       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
325       │XmNdetailTabList            │ XmCDetailTabList            │ XmTabList      │ NULL                     │ CSG    │
326       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
327       │XmNentryViewType            │ XmCEntryViewType            │ unsigned char  │ XmANY_ICON               │ CSG    │
328       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
329       │XmNexpandedStatePixmap      │ XmCExpandedStatePixmap      │ Pixmap         │ dynamic                  │ CSG    │
330       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
331       │XmNfontList                 │ XmCFontList                 │ XmFontList     │ NULL                     │ CSG    │
332       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
333       │XmNlargeCellHeight          │ XmCCellHeight               │ Dimension      │ dynamic                  │ CSG    │
334       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
335       │XmNlargeCellWidth           │ XmCCellWidth                │ Dimension      │ dynamic                  │ CSG    │
336       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
337       │XmNlayoutType               │ XmCLayoutType               │ unsigned char  │ XmSPATIAL                │ CSG    │
338       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
339       │XmNmarginHeight             │ XmCMarginHeight             │ Dimension      │ 0                        │ CSG    │
340       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
341       │XmNmarginWidth              │ XmCMarginWidth              │ Dimension      │ 0                        │ CSG    │
342       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
343       │XmNoutlineButtonPolicy      │ XmCOutlineButtonPolicy      │ unsigned char  │ XmOUTLINE_BUTTON_PRESENT │ CSG    │
344       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
345       │XmNoutlineChangedCallback   │ XmCCallback                 │ XtCallbackList │ NULL                     │ C      │
346       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
347       │XmNoutlineColumnWidth       │ XmCOutlineColumnWidth       │ Dimension      │ dynamic                  │ CSG    │
348       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
349       │XmNoutlineIndentation       │ XmCOutlineIndentation       │ Dimension      │ 40                       │ CSG    │
350       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
351       │XmNoutlineLineStyle         │ XmCLineStyle                │ unsigned char  │ XmSINGLE                 │ CSG    │
352       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
353       │XmNprimaryOwnership         │ XmCprimaryOwnership         │ unsigned char  │ XmOWN_POSSIBLE_MULTIPLE  │ CSG    │
354       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
355       │XmNrenderTable              │ XmCRenderTable              │ XmRenderTable  │ dynamic                  │ CSG    │
356       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
357       │XmNselectColor              │ XmCSelectColor              │ Pixel          │ dynamic                  │ CSG    │
358       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
359       │XmNselectedObjects          │ XmCSelectedObjects          │ WidgetList     │ NULL                     │ SG     │
360       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
361       │XmNselectedObjectCount      │ XmCSelectedObjectCount      │ unsigned int   │ 0                        │ SG     │
362       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
363       │XmNselectionCallback        │ XmCCallback                 │ XtCallbackList │ NULL                     │ C      │
364       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
365       │XmNselectionPolicy          │ XmCSelectionPolicy          │ unsigned char  │ XmEXTENDED_SELECT        │ CSG    │
366       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
367       │XmNselectionTechnique       │ XmCSelectionTechnique       │ unsigned char  │ XmTOUCH_OVER             │ CSG    │
368       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
369       │XmNsmallCellHeight          │ XmCCellHeight               │ Dimension      │ dynamic                  │ CSG    │
370       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
371       │XmNsmallCellWidth           │ XmCCellWidth                │ Dimension      │ dynamic                  │ CSG    │
372       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
373       │XmNspatialIncludeModel      │ XmCSpatialIncludeModel      │ unsigned char  │ XmAPPEND                 │ CSG    │
374       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
375       │XmNspatialResizeModel       │ XmCSpatialResizeModel       │ unsigned char  │ XmGROW_MINOR             │ CSG    │
376       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
377       │XmNspatialSnapModel         │ XmCSpatialSnapModel         │ unsigned char  │ XmNONE                   │ CSG    │
378       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
379       │XmNspatialStyle             │ XmCSpatialStyle             │ unsigned char  │ XmGRID                   │ CSG    │
380       ├────────────────────────────┼─────────────────────────────┼────────────────┼──────────────────────────┼────────┤
381       └────────────────────────────┴─────────────────────────────┴────────────────┴──────────────────────────┴────────┘
382       XmNautomaticSelection
383                 Indicates whether the Container invokes  selection  callbacks
384                 when  each item is selected (or toggled) or whether selection
385                 callbacks are not invoked until the user has completed selec‐
386                 tion  actions  (for  example, the user has released the mouse
387                 button). It can have one of the following values:
388
389                 XmAUTO_SELECT
390                           Makes selection callbacks automatically  when  each
391                           item  is  selected or toggled. This may also be the
392                           value TRUE.
393
394                 XmNO_AUTO_SELECT
395                           Delays selection callbacks until the user has  fin‐
396                           ished selection actions. This may also be the value
397                           FALSE.
398
399       XmNcollapsedStatePixmap
400                 Specifies the pixmap to display on a  PushButton  next  to  a
401                 Container  item with child items, when XmNoutlineButtonPolicy
402                 is XmOUTLINE_BUTTON_PRESENT.   XmNcollapsedStatePixmap  indi‐
403                 cates  that  the  child  items  are not displayed.  If set to
404                 XmUNSPECIFIED_PIXMAP,  a  default  pixmap  showing  an  arrow
405                 pointing up is used.
406
407       XmNconvertCallback
408                 Specifies  a  list  of callbacks called when the Container is
409                 asked to convert a selection.   The  type  of  the  structure
410                 whose  address is passed to these callbacks is XmConvertCall‐
411                 backStruct.  The reason is XmCR_OK.
412
413       XmNdefaultActionCallback
414                 Specifies a list of callbacks to call when the  user  double-
415                 clicks  an  item or presses <Enter> or <Return> over an item.
416                 The callback  structure  is  XmContainerSelectCallbackStruct.
417                 The reason is XmCR_DEFAULT_ACTION.
418
419       XmNdestinationCallback
420                 Specifies  a  list  of callbacks called when the Container is
421                 the destination of a transfer operation.   The  type  of  the
422                 structure  whose  address  is  passed  to  these callbacks is
423                 XmDestinationCallbackStruct.  The reason is XmCR_OK.
424
425       XmNdetailColumnHeading
426                 Specifies a table of XmStrings to display as the headings  to
427                 columns.   If  NULL,  or if XmNlayoutType is not XmDETAIL, no
428                 heading is displayed.
429
430       XmNdetailColumnHeadingCount
431                 Specifies a count of XmStrings in  the  table  specified  for
432                 XmNdetailColumnHeading.
433
434       XmNdetailOrder
435                 Specifies  an  array  of Cardinals that indicate which column
436                 detail information, and in which order, each Container  child
437                 will  display  its  detail  information.   This  resource  is
438                 ignored if XmNlayoutType is not XmDETAIL.  If NULL,  the  the
439                 default behavior is determined by XmNdetailOrderCount.
440
441       XmNdetailOrderCount
442                 Specifies  a  count  of  Cardinals in the array specified for
443                 XmNdetailOrder.  If  XmNdetailOrder  is  NULL  and  XmNdetai‐
444                 lOrderCount  is not 0, then each Container child displays its
445                 detail information in order from column 1  to  the  XmNdetai‐
446                 lOrderCount  column number. If XmNdetailOrderCount is 0, then
447                 a default is calculated from the detail order count  informa‐
448                 tion of each item accessed via the ContainerItem trait.
449
450       XmNdetailTabList
451                 Indicates an XmTabList specifying the start of each column in
452                 the XmDETAIL layout.  If this resource is set to  NULL,  then
453                 Container  calculates an XmTabList.  This resource is ignored
454                 if XmNlayoutType is not XmDETAIL.
455
456       XmNentryViewType
457                 Specifies the view type for all Container children. The  view
458                 type  is specified for each item via the ContainerItem trait.
459                 It can have one of the following values:
460
461                 XmANY_ICON
462                           No specification is made  for  Container  children.
463                           Children use their own default specifications.
464
465                 XmLARGE_ICON
466                           The view type for all children is XmLARGE_ICON.
467
468                 XmSMALL_ICON
469                           The view type for all children is XmSMALL_ICON.
470
471       XmNexpandedStatePixmap
472                 Specifies  the  pixmap  to  display on a PushButton next to a
473                 Container item with child items, when  XmNoutlineButtonPolicy
474                 is  XmOUTLINE_BUTTON_PRESENT.   XmNexpandedStatePixmap  indi‐
475                 cates that the child items are displayed.  If  set  to  XmUN‐
476                 SPECIFIED_PIXMAP,  a default pixmap showing an arrow pointing
477                 down is used.
478
479       XmNfontList
480                 Specifies  the  fontlist  associated  with  XmContainer.  The
481                 fontlist  is an obsolete construct and has been superseded by
482                 the render table.  It is included for compatibility with ear‐
483                 lier versions of Motif, and for applications that do not eas‐
484                 ily support render tables. The default  fontlist  is  derived
485                 from  the  default render table; and if both a fontlist and a
486                 render table are specified, the  render  table  takes  prece‐
487                 dence.
488
489       XmNlargeCellHeight
490                 Specifies  the height of a cell for XmGRID or XmCELLS spatial
491                 style when XmNentryViewType is XmLARGE_ICON or XmANY_ICON.
492
493       XmNlargeCellWidth
494                 Specifies the width of a cell for XmGRID or  XmCELLS  spatial
495                 style when XmNentryViewType is XmLARGE_ICON or XmANY_ICON.
496
497       XmNlayoutType
498                 Specifies  the policy for laying out child widgets within the
499                 Container.  It can have one of the following values:
500
501                 XmDETAIL  Displays items in  the  same  manner  as  when  the
502                           resource  is  XmOUTLINE, except that each item dis‐
503                           plays detail information next to it.
504
505                 XmOUTLINE Displays items in a tree configuration, in XmNposi‐
506                           tionIndex  within  XmNentryParent  order, with con‐
507                           necting lines  drawn  to  show  their  parent-child
508                           relationships.
509
510                 XmSPATIAL Displays items according to XmNspatialStyle.  Items
511                           with XmNentryParent values are not displayed.
512
513       XmNmarginHeight
514                 Specifies the margin spacing at the top  and  bottom  of  the
515                 Container.
516
517       XmNmarginWidth
518                 Specifies  the  margin spacing at the left and right sides of
519                 the Container.
520
521       XmNoutlineButtonPolicy
522                 Specifies whether or not to  display  buttons  for  users  to
523                 expand and collapse the display of items.  It can have one of
524                 the following values:
525
526                 XmOUTLINE_BUTTON_ABSENT
527                           Do not display the outline buttons.
528
529                 XmOUTLINE_BUTTON_PRESENT
530                           Display the outline buttons.
531
532       XmNoutlineChangedCallback
533                 Specifies a list of callbacks to call when an item's  XmNout‐
534                 lineState is changed.  The callback structure is XmContainer‐
535                 OutlineCallbackStruct.   The  reason  is  XmCR_COLLAPSED   or
536                 XmCR_EXPANDED, depending on the new value of XmNoutlineState.
537
538       XmNoutlineColumnWidth
539                 Specifies  the  width of the first column displayed when XmN‐
540                 layoutType is XmDETAIL. Specifies the preferred width of  the
541                 Container  (without the margins) when XmNlayoutType is XmOUT‐
542                 LINE.  If not specified, Container will determine  a  default
543                 value  equal  to  the  widest  space  necessary to display an
544                 item's pixmap and XmNoutlineIndentation.
545
546       XmNoutlineIndentation
547                 Specifies the distance to indent for  the  display  of  child
548                 items when XmNlayoutType is XmOUTLINE or XmDETAIL.
549
550       XmNoutlineLineStyle
551                 Specifies  whether  to  draw lines between items with parent-
552                 child relationships when XmNlayoutType is XmOUTLINE or  XmDE‐
553                 TAIL.  It can have one of the following values:
554
555                 XmNO_LINE Draws no line.
556
557                 XmSINGLE  Draws a line one pixel wide.
558
559       XmNprimaryOwnership
560                 Specifies  whether  Container  takes ownership of the primary
561                 selection when a selection is made inside it.  This  resource
562                 can take the following values:
563
564                 XmOWN_NEVER
565                           Never takes ownership.
566
567                 XmOWN_ALWAYS
568                           Always takes ownership.
569
570                 XmOWN_MULTIPLE
571                           Only  takes  ownership if more than one element has
572                           been selected.
573
574                 XmOWN_POSSIBLE_MULTIPLE
575                           Only takes ownership if more than one  element  can
576                           be selected at a time.
577
578       XmNrenderTable
579                 Specifies the XmRenderTable that is inherited by all children
580                 of the Container.  The default is  implementation  dependent.
581                 If both a render table and a fontlist are specified, the ren‐
582                 der table will take precedence.
583
584       XmNselectColor
585                 Specifies a Pixel that can be accessed  by  children  of  the
586                 Container  and  used  to  indicate  that  the  child  is in a
587                 selected state. In addition to a Pixel value,  the  following
588                 symbolic values can be specified:
589
590                 XmDEFAULT_SELECT_COLOR
591                           Specifies  a  color  between the background and the
592                           bottom shadow color.
593
594                 XmREVERSED_GROUND_COLORS
595                           Forces the select color to the foreground color and
596                           causes  the default color of any text rendered over
597                           the select color to be the background color.
598
599                 HIGHLIGHT_COLOR
600                           Forces the fill color to use the highlight color.
601
602       XmNselectedObjectCount
603                 Specifies the number of widgets in the selected  items  list.
604                 The value must be the number of items in XmNselectedObjects.
605
606       XmNselectedObjects
607                 An  array of widgets that represents the Container items that
608                 are currently selected, either by the user or by the applica‐
609                 tion.
610
611                 If  the  application  sets  XmNselectedObjects to an array of
612                 widgets, those array elements that are valid Container  items
613                 are selected.
614
615       XmNselectionCallback
616                 Specifies  a  list  of  callbacks  to  call  when  an item is
617                 selected.  The callback structure  is  XmContainerSelectCall‐
618                 backStruct.      The     reason     is    XmCR_SINGLE_SELECT,
619                 XmCR_BROWSE_SELECT,         XmCR_MULTIPLE_SELECT,          or
620                 XmCR_EXTENDED_MULTIPLE, depending on XmNselectionPolicy.
621
622       XmNselectionPolicy
623                 Defines  the interpretation of the selection action. This can
624                 be one of the following values:
625
626                 XmSINGLE_SELECT
627                           Allows only single selections.
628
629                 XmBROWSE_SELECT
630                           Allows "drag and browse" selections.
631
632                 XmMULTIPLE_SELECT
633                           Allows multiple selections.
634
635                 XmEXTENDED_SELECT
636                           Allows extended selections.
637
638       XmNselectionTechnique
639                 Specifies the selection technique to use when  the  Container
640                 displays items in a 2-dimensional layout (XmNentryViewType is
641                 XmLARGE_ICON or XmSMALL_ICON).  In the XmDETAIL  layout,  the
642                 XmNselectionTechnique resource is treated as XmTOUCH_ONLY. In
643                 either case, it can have one of the following values:
644
645                 XmMARQUEE Uses the Marquee technique only.
646
647                 XmMARQUEE_EXTEND_START
648                           Uses the Marquee technique  only  and  extends  the
649                           Marquee rectangle around any item under the Marquee
650                           start point.
651
652                 XmMARQUEE_EXTEND_BOTH
653                           Uses the Marquee technique  only  and  extends  the
654                           Marquee  rectangle  around any items under the Mar‐
655                           quee start and end points.
656
657                 XmTOUCH_ONLY
658                           Uses the Random-Swipe technique only if  XmNlayout‐
659                           Type is XmSPATIAL.  Otherwise, uses the Range-Swipe
660                           and Range-Click techniques.
661
662                 XmTOUCH_OVER
663                           If the selection action begins  over  an  item  and
664                           XmNlayoutType  is  XmSPATIAL, uses the Random-Swipe
665                           technique.  If the selection action begins over  an
666                           item  and  XmNlayoutType  is XmOUTLINE or XmDETAIL,
667                           uses the Range-Swipe  and  Range-Click  techniques.
668                           Uses  the  Marquee  technique  if the select action
669                           begins over an unoccupied area in the Container.
670
671       XmNsmallCellHeight
672                 Specifies the height of a cell for XmGRID or XmCELLS  spatial
673                 style when XmNentryViewType is XmSMALL_ICON.
674
675       XmNsmallCellWidth
676                 Specifies  the  width of a cell for XmGRID or XmCELLS spatial
677                 style when XmNentryViewType is XmSMALL_ICON.
678
679       XmNspatialIncludeModel
680                 Specifies the layout of an item when the item is  managed  in
681                 the Container when XmNlayoutType is XmSPATIAL and XmNspatial‐
682                 Style is XmGRID or XmCELLS.  It can have one of the following
683                 values:
684
685                 XmAPPEND  Places  the  item  after  the  last  occupied  cell
686                           according to XmNlayoutDirection.
687
688                 XmCLOSEST Places the item in the free  cell  closest  to  the
689                           position specified by XmNx and XmNy.
690
691                 XmFIRST_FIT
692                           Places the item in the first free cell according to
693                           XmNlayoutDirection.
694
695       XmNspatialResizeModel
696                 Specifies how Container will attempt to grow  its  dimensions
697                 when XmNlayoutType is XmSPATIAL and XmNspatialStyle is XmGRID
698                 or XmCELLS and there are not enough cells to  contain  a  new
699                 Container item.  It can have one of the following values:
700
701                 XmGROW_BALANCED
702                           Container will request both width and height growth
703                           from its parent.
704
705                 XmGROW_MAJOR
706                           Container will request growth in its  major  dimen‐
707                           sion  from its parent.  Container's major dimension
708                           is width when the precedence of  XmNlayoutDirection
709                           is horizontal, and height when vertical.
710
711                 XmGROW_MINOR
712                           Container  will  request growth in its minor dimen‐
713                           sion from its parent.  Container's minor  dimension
714                           is height when the precedence of XmNlayoutDirection
715                           is horizontal, and width when vertical.
716
717       XmNspatialSnapModel
718                 Specifies how Container will position an item within the cell
719                 layout when XmNlayoutType is XmSPATIAL and XmNspatialStyle is
720                 XmGRID or XmCELLS.  It can have one of the following values:
721
722                 XmCENTER  Center the items as follows, depending on the value
723                           of XmNentryViewType:
724
725                           XmLARGE_ICON
726                                     The  child  is centered in the cell hori‐
727                                     zontally and baseline-aligned vertically.
728
729                           XmSMALL_ICON
730                                     The child is centered in the cell  verti‐
731                                     cally  on  its  baseline and aligned with
732                                     the left or right of  the  cell  horizon‐
733                                     tally,  depending on the value of XmNlay‐
734                                     outDirection.
735
736                 XmSNAP_TO_GRID
737                           Position the item at the upper-left or  upper-right
738                           corner  of  the  cell(s), depending on the value of
739                           XmNlayoutDirection.
740
741                 XmNONE    Position the item according to the position  speci‐
742                           fied  by  XmNx  and  XmNy.   If the position is not
743                           within the coordinates of the cell(s),  then  posi‐
744                           tion the item at the upper-left or upper-right cor‐
745                           ner of the cell(s), depending on the value of  XmN‐
746                           layoutDirection.
747
748       XmNspatialStyle
749                 Specifies the layout of Container items when XmNlayoutType is
750                 XmSPATIAL. It can have one of the following values:
751
752                 XmCELLS   Lays out items within a grid  of  same-size  cells.
753                           Each  item  occupies  as  many cells as required to
754                           contain the item dimensions.
755
756                 XmGRID    Lays out items within a grid  of  same-size  cells.
757                           Each  item  occupies  only one cell. Items that are
758                           larger than the cell size may overlap other items.
759
760                 XmNONE    Lays out items according to XmNx and XmNy.
761
762       ┌───────────────────────────────────────────────────────────────────────────┐
763       │                 │ XmContainer Const│raint Resource S│et            │        │
764Name             Class            Type          Default     Access 
765       ├─────────────────┼──────────────────┼───────────────┼─────────────┼────────┤
766       │XmNentryParent   │ XmCWidget        │ Widget        │ NULL        │ CSG    │
767       ├─────────────────┼──────────────────┼───────────────┼─────────────┼────────┤
768       │XmNoutlineState  │ XmCOutlineState  │ unsigned char │ XmCOLLAPSED │ CSG    │
769       ├─────────────────┼──────────────────┼───────────────┼─────────────┼────────┤
770       │XmNpositionIndex │ XmCPositionIndex │ int           │ dynamic     │ CSG    │
771       ├─────────────────┼──────────────────┼───────────────┼─────────────┼────────┤
772       └─────────────────┴──────────────────┴───────────────┴─────────────┴────────┘
773       XmNentryParent
774                 Specifies the widget that is this item's logical  parent.   A
775                 value  of NULL indicates that this is a root-level item. Par‐
776                 ent-child information is displayed only when  the  XmNlayout‐
777                 Policy is XmOUTLINE or XmDETAIL.
778
779       XmNoutlineState
780                 Specifies whether to display child items when XmNlayoutPolicy
781                 is XmOUTLINE or XmDETAIL.  It can have one of  the  following
782                 values:
783
784                 XmCOLLAPSED
785                           Does not display child items.
786
787                 XmEXPANDED
788                           Displays child items.
789
790       XmNpositionIndex
791                 Specifies  the  order  of items in the Container for display.
792                 When XmNlayoutType is XmOUTLINE or XmDETAIL, items  are  dis‐
793                 played   in  XmNpositionIndex  order  within  XmNentryParent.
794                 Items that have an XmNentryParent resource are  ignored  when
795                 XmNlayoutType is XmSPATIAL.  If XmNpositionIndex is not spec‐
796                 ified, it defaults to the XmNpositionIndex value  plus  1  of
797                 the  item with the highest XmNpositionIndex that has the same
798                 XmNentryParent if such an item exists; otherwise, it defaults
799                 to 0.
800
801   Inherited Resources
802       Container   inherits  behavior  and  resources  from  the  superclasses
803       described in the following tables.  For a complete description of  each
804       resource, refer to the reference page for that superclass.
805
806       ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
807       │                        │             XmManager │Resource Set        │                      │        │
808Name                    Class                 Type              Default              Access 
809       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
810       │XmNbottomShadowColor    │ XmCBottomShadowColor  │ Pixel             │ dynamic              │ CSG    │
811       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
812       │XmNbottomShadowPixmap   │ XmCBottomShadowPixmap │ Pixmap            │ XmUNSPECIFIED_PIXMAP │ CSG    │
813       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
814       │XmNforeground           │ XmCForeground         │ Pixel             │ dynamic              │ CSG    │
815       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
816       │XmNhelpCallback         │ XmCCallback           │ XtCallbackList    │ NULL                 │ C      │
817       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
818       │XmNhighlightColor       │ XmCHighlightColor     │ Pixel             │ dynamic              │ CSG    │
819       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
820       │XmNhighlightPixmap      │ XmCHighlightPixmap    │ Pixmap            │ dynamic              │ CSG    │
821       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
822       │XmNinitialFocus         │ XmCInitialFocus       │ Widget            │ NULL                 │ CSG    │
823       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
824       │XmNlayoutDirection      │ XmCLayoutDirection    │ XmDirection       │ dynamic              │ CG     │
825       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
826       │XmNnavigationType       │ XmCNavigationType     │ XmNavigationType  │ XmTAB_GROUP          │ CSG    │
827       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
828       │XmNpopupHandlerCallback │ XmCCallback           │ XtCallbackList    │ NULL                 │ C      │
829       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
830       │XmNshadowThickness      │ XmCShadowThickness    │ Dimension         │ 0                    │ CSG    │
831       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
832       │XmNstringDirection      │ XmCStringDirection    │ XmStringDirection │ dynamic              │ CG     │
833       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
834       │XmNtopShadowColor       │ XmCTopShadowColor     │ Pixel             │ dynamic              │ CSG    │
835       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
836       │XmNtopShadowPixmap      │ XmCTopShadowPixmap    │ Pixmap            │ dynamic              │ CSG    │
837       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
838       │XmNtraversalOn          │ XmCTraversalOn        │ Boolean           │ True                 │ CSG    │
839       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
840       │XmNunitType             │ XmCUnitType           │ unsigned char     │ dynamic              │ CSG    │
841       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
842       │XmNuserData             │ XmCUserData           │ XtPointer         │ NULL                 │ CSG    │
843       ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
844       └────────────────────────┴───────────────────────┴───────────────────┴──────────────────────┴────────┘
845       ┌───────────────────────────────────────────────────────────────────────┐
846       │                  │     Composite Reso│urce Set      │         │        │
847Name              Class             Type        Default Access 
848       ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
849       │XmNchildren       │ XmCReadOnly       │ WidgetList  │ NULL    │ G      │
850       ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
851       │XmNinsertPosition │ XmCInsertPosition │ XtOrderProc │ NULL    │ CSG    │
852       ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
853       │XmNnumChildren    │ XmCReadOnly       │ Cardinal    │ 0       │ G      │
854       ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
855       └──────────────────┴───────────────────┴─────────────┴─────────┴────────┘
856       ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
857       │                              │               Core Resource Se│t                │                      │        │
858Name                          Class                         Type           Default              Access 
859       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
860       │XmNaccelerators               │ XmCAccelerators               │ XtAccelerators │ dynamic              │ CSG    │
861       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
862       │XmNancestorSensitive          │ XmCSensitive                  │ Boolean        │ dynamic              │ G      │
863       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
864       │XmNbackground                 │ XmCBackground                 │ Pixel          │ dynamic              │ CSG    │
865       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
866       │XmNbackgroundPixmap           │ XmCPixmap                     │ Pixmap         │ XmUNSPECIFIED_PIXMAP │ CSG    │
867       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
868       │XmNborderColor                │ XmCBorderColor                │ Pixel          │ XtDefaultForeground  │ CSG    │
869       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
870       │XmNborderPixmap               │ XmCPixmap                     │ Pixmap         │ XmUNSPECIFIED_PIXMAP │ CSG    │
871       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
872       │XmNborderWidth                │ XmCBorderWidth                │ Dimension      │ 0                    │ CSG    │
873       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
874       │XmNcolormap                   │ XmCColormap                   │ Colormap       │ dynamic              │ CG     │
875       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
876       │XmNdepth                      │ XmCDepth                      │ int            │ dynamic              │ CG     │
877       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
878       │XmNdestroyCallback            │ XmCCallback                   │ XtCallbackList │ NULL                 │ C      │
879       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
880       │XmNheight                     │ XmCHeight                     │ Dimension      │ dynamic              │ CSG    │
881       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
882       │XmNinitialResourcesPersistent │ XmCInitialResourcesPersistent │ Boolean        │ True                 │ C      │
883       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
884       │XmNmappedWhenManaged          │ XmCMappedWhenManaged          │ Boolean        │ True                 │ CSG    │
885       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
886       │XmNscreen                     │ XmCScreen                     │ Screen *       │ dynamic              │ CG     │
887       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
888       │XmNsensitive                  │ XmCSensitive                  │ Boolean        │ True                 │ CSG    │
889       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
890       │XmNtranslations               │ XmCTranslations               │ XtTranslations │ dynamic              │ CSG    │
891       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
892       │XmNwidth                      │ XmCWidth                      │ Dimension      │ dynamic              │ CSG    │
893       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
894       │XmNx                          │ XmCPosition                   │ Position       │ 0                    │ CSG    │
895       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
896       │XmNy                          │ XmCPosition                   │ Position       │ 0                    │ CSG    │
897       ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
898       └──────────────────────────────┴───────────────────────────────┴────────────────┴──────────────────────┴────────┘
899   Callback Information
900       A pointer to the following structure is passed to callbacks for XmNout‐
901       lineChangedCallback.
902
903       typedef struct
904       {
905               int reason;
906               XEvent * event;
907               Widget item;
908               unsigned char new_outline_state;
909       } XmContainerOutlineCallbackStruct;
910
911       reason    Specifies the reason for the callback.
912
913       event     Points to the XEvent that triggered the callback. It  can  be
914                 NULL.
915
916       item      Specifies the container item affected by the event.
917
918       new_outline_state
919                 Specifies  the  next  XmNoutlineState  for item. The user can
920                 change this value in the callback.
921
922       A pointer to the following structure is passed to callbacks for  XmNde‐
923       faultActionCallback and XmNselectionCallback.
924
925       typedef struct
926       {
927               int reason;
928               XEvent * event;
929               WidgetList selected_items;
930               int selected_item_count;
931               unsigned char auto_selection_type;
932       } XmContainerSelectCallbackStruct;
933
934       reason    Specifies  the reason for the callback. It corresponds to the
935                 XmNselectionPolicy at the time the  selection  was  made,  or
936                 indicates that the default action should be taken.
937
938       event     Points  to  the XEvent that triggered the callback. It can be
939                 NULL.
940
941       selected_items
942                 Specifies a list of items selected at the time of  the  event
943                 that caused the callback.  The selected_items field points to
944                 a temporary storage space that is reused after  the  callback
945                 is  finished.  Therefore, if an application needs to save the
946                 selected list, it should copy the  list  into  its  own  data
947                 space.
948
949       selected_item_count
950                 Specifies  the  number  of  items in the selected_items list.
951                 This number must be positive or 0 (zero).
952
953       auto_selection_type
954                 Indicates the cause of the selection when  XmNautomaticSelec‐
955                 tion is XmAUTO_SELECT. Valid values are the following:
956
957                 XmAUTO_UNSET
958                           Returned      when     XmNautomaticSelection     is
959                           XmNO_AUTO_SELECT.
960
961                 XmAUTO_BEGIN
962                           Indicates the beginning of automatic selection.
963
964                 XmAUTO_MOTION
965                           Indicates that there is a button drag selection.
966
967                 XmAUTO_CANCEL
968                           Indicates that the new selection is canceled.
969
970                 XmAUTO_NO_CHANGE
971                           Indicates that the currently selected item  matches
972                           the initial item.
973
974                 XmAUTO_CHANGE
975                           Indicates that the currently selected item does not
976                           match the initial item.
977
978       A pointer to the following structure is passed to  the  XmNconvertCall‐
979       back procedures:
980
981       typedef struct
982       {
983               int reason;
984               XEvent  *event;
985               Atom selection;
986               Atom target;
987               XtPointer source_data;
988               XtPointer location_data;
989               int flags;
990               XtPointer parm;
991               int parm_format;
992               unsigned long parm_length;
993               int status;
994               XtPointer value;
995               Atom type;
996               int format;
997               unsigned long length;
998       } XmConvertCallbackStruct;
999
1000       reason    Indicates why the callback was invoked.
1001
1002       event     Points  to the XEvent that triggered the callback.  It can be
1003                 NULL.
1004
1005       selection Indicates  the  selection  for  which  conversion  is   being
1006                 requested.   Possible  values  are  CLIPBOARD,  PRIMARY, SEC‐
1007                 ONDARY, and _MOTIF_DROP.
1008
1009       target    Indicates the conversion target.
1010
1011       source_data
1012                 Contains information about the selection  source.   When  the
1013                 selection  is  _MOTIF_DROP,  source_data  is the DragContext.
1014                 Otherwise, it is NULL.
1015
1016       location_data
1017                 Contains information about the location of data  to  be  con‐
1018                 verted.   If  the  value  is NULL, the data to be transferred
1019                 consists of the widget's current selection.  Otherwise, it is
1020                 the widget ID of the item being transferred, or the widget ID
1021                 of the Container if all items are being transferred.
1022
1023       flags     Indicates the status of the  conversion.  Following  are  the
1024                 possible values:
1025
1026                 XmCONVERTING_NONE
1027                           This flag is currently unused.
1028
1029                 XmCONVERTING_PARTIAL
1030                           The  target  widget  was  able to be converted, but
1031                           some data was lost.
1032
1033                 XmCONVERTING_SAME
1034                           The conversion target is the source of the data  to
1035                           be transferred.
1036
1037                 XmCONVERTING_TRANSACT
1038                           This flag is currently unused.
1039
1040       parm      Contains  parameter  data  for  this target.  If no parameter
1041                 data exists, the value is NULL.
1042
1043                 When  selection  is  CLIPBOARD  and  target  is  _MOTIF_CLIP‐
1044                 BOARD_TARGETS or _MOTIF_DEFERRED_CLIPBOARD_TARGETS, the value
1045                 is the requested operation (XmCOPY, XmMOVE, or XmLINK).
1046
1047       parm_format
1048                 Specifies whether the data in parm should be viewed as a list
1049                 of  char,  short,  or long quantities.  Possible values are 0
1050                 (when parm is NULL), 8 (when  the  data  in  parm  should  be
1051                 viewed  as a list of chars), 16 (when the data in parm should
1052                 be viewed as a list of shorts), or 32 (when the data in  parm
1053                 should  be viewed as a list of longs).  Note that parm_format
1054                 symbolizes a data type, not the number of bits in  each  list
1055                 element.   For example, on some machines, a parm_format of 32
1056                 means that the data in parm should be viewed  as  a  list  of
1057                 64-bit quantities, not 32-bit quantities.
1058
1059       parm_length
1060                 Specifies  the number of elements of data in parm, where each
1061                 element has the size specified by parm_format.  When parm  is
1062                 NULL, the value is 0.
1063
1064       status    An IN/OUT member that specifies the status of the conversion.
1065                 The initial value is XmCONVERT_DEFAULT.  The callback  proce‐
1066                 dure can set this member to one of the following values:
1067
1068                 XmCONVERT_DEFAULT
1069                           The  widget  class conversion procedure, if any, is
1070                           called after the callback  procedures  return.   If
1071                           the  widget class conversion procedure produces any
1072                           data, it overwrites the data provided by the  call‐
1073                           back procedures in the value member.
1074
1075                 XmCONVERT_MERGE
1076                           The  widget  class conversion procedure, if any, is
1077                           called after the callback  procedures  return.   If
1078                           the  widget class conversion procedure produces any
1079                           data, it appends its data to the data  provided  by
1080                           the  callback procedures in the value member.  This
1081                           value is intended for use with targets that  result
1082                           in lists of data, such as TARGETS.
1083
1084                 XmCONVERT_DONE
1085                           The  callback  procedure  has successfully finished
1086                           the conversion.  The widget class conversion proce‐
1087                           dure, if any, is not called after the callback pro‐
1088                           cedures return.
1089
1090                 XmCONVERT_REFUSE
1091                           The callback procedure has terminated  the  conver‐
1092                           sion  process without completing the requested con‐
1093                           version.  The widget class conversion procedure, if
1094                           any,  is  not  called after the callback procedures
1095                           return.
1096
1097       value     An IN/OUT parameter that contains any data that the  callback
1098                 procedure  produces  as a result of the conversion.  The ini‐
1099                 tial value is NULL.  If the callback procedure sets this mem‐
1100                 ber, it must ensure that the type, format, and length members
1101                 correspond to the data in value.  The callback  procedure  is
1102                 responsible  for allocating, but not for freeing, memory when
1103                 it sets this member.
1104
1105       type      An IN/OUT parameter that indicates the type of  the  data  in
1106                 the value member.  The initial value is INTEGER.
1107
1108       format    An  IN/OUT parameter that specifies whether the data in value
1109                 should be viewed as a list of char, short,  or  long  quanti‐
1110                 ties.   The  initial  value is 8.  The callback procedure can
1111                 set this member to 8 (for a list of char), 16 (for a list  of
1112                 short), or 32 (for a list of long).
1113
1114       length    An  IN/OUT  member  that  specifies the number of elements of
1115                 data in value, where each element has the size symbolized  by
1116                 format.  The initial value is 0 (zero).
1117
1118       A  pointer to the following callback structure is passed to the XmNdes‐
1119       tinationCallback procedures:
1120
1121       typedef struct
1122       {
1123               int reason;
1124               XEvent  *event;
1125               Atom selection;
1126               XtEnum operation;
1127               int flags;
1128               XtPointer transfer_id;
1129               XtPointer destination_data;
1130               XtPointer location_data;
1131               Time time;
1132       } XmDestinationCallbackStruct;
1133
1134       reason    Indicates why the callback was invoked.
1135
1136       event     Points to the XEvent that triggered the callback.  It can  be
1137                 NULL.
1138
1139       selection Indicates  the  selection  for  which  data transfer is being
1140                 requested.  Possible  values  are  CLIPBOARD,  PRIMARY,  SEC‐
1141                 ONDARY, and _MOTIF_DROP.
1142
1143       operation Indicates the type of transfer operation requested.
1144
1145                    ·  When  the  selection  is  PRIMARY,  possible values are
1146                       XmMOVE, XmCOPY, and XmLINK.
1147
1148                    ·  When the selection is SECONDARY or CLIPBOARD,  possible
1149                       values are XmCOPY and XmLINK.
1150
1151                    ·  When  the selection is _MOTIF_DROP, possible values are
1152                       XmMOVE,  XmCOPY,  XmLINK,  and  XmOTHER.   A  value  of
1153                       XmOTHER means that the callback procedure must get fur‐
1154                       ther information from the  XmDropProcCallbackStruct  in
1155                       the destination_data member.
1156
1157       flags     Indicates  whether  or not the destination widget is also the
1158                 source of the data to be transferred.  Following are the pos‐
1159                 sible values:
1160
1161                 XmCONVERTING_NONE
1162                           The  destination  widget  is  not the source of the
1163                           data to be transferred.
1164
1165                 XmCONVERTING_SAME
1166                           The destination widget is the source of the data to
1167                           be transferred.
1168
1169       transfer_id
1170                 Serves as a unique ID to identify the transfer transaction.
1171
1172       destination_data
1173                 Contains  information about the destination.  When the selec‐
1174                 tion is _MOTIF_DROP, the callback procedures  are  called  by
1175                 the  drop  site's  XmNdropProc,  and  destination_data  is  a
1176                 pointer to the XmDropProcCallbackStruct passed  to  the  XmN‐
1177                 dropProc  procedure.  When the selection is SECONDARY, desti‐
1178                 nation_data is an Atom representing a target recommmended  by
1179                 the  selection  owner  for  use  in converting the selection.
1180                 Otherwise, destination_data is NULL.
1181
1182       location_data
1183                 Contains information about the location where data is  to  be
1184                 transferred.   The value is always NULL when the selection is
1185                 SECONDARY or CLIPBOARD.  If the value is NULL, the data is to
1186                 be  inserted at the widget's cursor position.  Otherwise, the
1187                 value is a pointer to an XPoint structure  containing  the  x
1188                 and  y  coordinates  at  the location where the data is to be
1189                 transferred.  Once  XmTransferDone  procedures  start  to  be
1190                 called, location_data will no longer be stable.
1191
1192       time      Indicates the time when the transfer operation began.
1193
1194   Translations
1195       The XmContainer translations are listed below.
1196
1197       The following key names are listed in the X standard key event transla‐
1198       tion table syntax.  This format is the one used by Motif to specify the
1199       widget  actions  corresponding to a given key.  A brief overview of the
1200       format is provided under VirtualBindings(3).  For a  complete  descrip‐
1201       tion  of the format, please refer to the X Toolkit Instrinsics Documen‐
1202       tation.
1203
1204       ∼c ∼s ∼m ∼a <Btn1Down>:
1205                 ContainerBeginSelect()
1206
1207       <Btn1Motion>:
1208                 ContainerButtonMotion()
1209
1210       ∼c ∼s ∼m ∼a <Btn1Up>:
1211                 ContainerEndSelect()
1212
1213       c ∼s ∼m ∼a <Btn1Down>:
1214                 ContainerBeginToggle()
1215
1216       c ∼s ∼m ∼a <Btn1Up>:
1217                 ContainerEndToggle()
1218
1219       ∼c s ∼m ∼a <Btn1Down>:
1220                 ContainerBeginExtend()
1221
1222       ∼c s ∼m ∼a <Btn1Up>:
1223                 ContainerEndExtend()
1224
1225       c s ∼m ∼a <Btn1Down>:
1226                 ContainerBeginExtend()
1227
1228       c s ∼m ∼a <Btn1Up>:
1229                 ContainerEndExtend()
1230
1231       ∼c ∼s ∼m ∼a <Btn2Down>:
1232                 ContainerStartTransfer(Copy)
1233
1234       c s ∼m ∼a <Btn2Down>:
1235                 ContainerStartTransfer(Link)
1236
1237       ∼c s ∼m ∼a <Btn2Down>:
1238                 ContainerStartTransfer(Move)
1239
1240       ∼m ∼a <Btn2Up>:
1241                 ContainerEndTransfer()
1242
1243       :c s a <Key><osfInsert>:
1244                 ContainerPrimaryLink()
1245
1246       :c s m <Key><osfInsert>:
1247                 ContainerPrimaryLink()
1248
1249       :a <Key><osfInsert>:
1250                 ContainerPrimaryCopy()
1251
1252       :m <Key><osfInsert>:
1253                 ContainerPrimaryCopy()
1254
1255       :s a <Key><osfDelete>:
1256                 ContainerPrimaryMove()
1257
1258       :s m <Key><osfDelete>:
1259                 ContainerPrimaryMove()
1260
1261       :<Key><osfCancel>:
1262                 ContainerCancel()
1263
1264       :s <Key><osfSelect>:
1265                 ContainerExtend()
1266
1267       :<Key><osfSelect>:
1268                 ContainerSelect()
1269
1270       :<Key><osfSelectAll>:
1271                 ContainerSelectAll()
1272
1273       :<Key><osfDeselectAll>:
1274                 ContainerDeselectAll()
1275
1276       :<Key><osfAddMode>:
1277                 ContainerToggleMode()
1278
1279       :<Key><osfActivate>:
1280                 ContainerActivate()
1281
1282       s ∼c ∼m ∼a <Key>space:
1283                 ContainerExtend()
1284
1285       ∼s ∼c ∼m ∼a <Key>space:
1286                 ContainerSelect()
1287
1288       ∼s ∼c ∼m ∼a <Key>Return:
1289                 ContainerActivate()
1290
1291       ∼s c ∼m ∼a <Key>slash:
1292                 ContainerSelectAll()
1293
1294       ∼s c ∼m ∼a <Key>backslash:
1295                 ContainerDeselectAll()
1296
1297       :c s <Key><osfBeginLine>:
1298                 ContainerExtendCursor(First)
1299
1300       :c s <Key><osfEndLine>:
1301                 ContainerExtendCursor(Last)
1302
1303       :c <Key><osfBeginLine>:
1304                 ContainerMoveCursor(First)
1305
1306       :c <Key><osfEndLine>:
1307                 ContainerMoveCursor(Last)
1308
1309       :c <Key><osfLeft>:
1310                 ContainerExpandOrCollapse(Left)
1311
1312       :c <Key><osfRight>:
1313                 ContainerExpandOrCollapse(Right)
1314
1315       :s <Key><osfUp>:
1316                 ContainerExtendCursor(Up)
1317
1318       :s <Key><osfDown>:
1319                 ContainerExtendCursor(Down)
1320
1321       :s <Key><osfLeft>:
1322                 ContainerExtendCursor(Left)
1323
1324       :s <Key><osfRight>:
1325                 ContainerExtendCursor(Right)
1326
1327       :<Key><osfUp>:
1328                 ContainerMoveCursor(Up)
1329
1330       :<Key><osfDown>:
1331                 ContainerMoveCursor(Down)
1332
1333       :<Key><osfLeft>:
1334                 ContainerMoveCursor(Left)
1335
1336       :<Key><osfRight>:
1337                 ContainerMoveCursor(Right)
1338
1339       s ∼m ∼a <Key>Tab:
1340                 ManagerGadgetPrevTabGroup()
1341
1342       ∼s ∼m ∼a <Key>Tab:
1343                 ManagerGadgetNextTabGroup()
1344
1345       The Container button event translations  are  modified  when  Display's
1346       XmNenableBtn1Transfer resource does not have a value of XmOFF (in other
1347       words, it  is  either  XmBUTTON2_TRANSFER  or  XmBUTTON2_ADJUST).  This
1348       option  allows  the actions for selection and transfer to be integrated
1349       on <Btn1>, and the actions for extending the selection can be bound  to
1350       <Btn2>.  The  actions for <Btn1> that are defined in the preceding list
1351       still apply when  the  <Btn1>  event  occurs  over  text  that  is  not
1352       selected. The following actions apply when the <Btn1> event occurs over
1353       text that is selected:
1354
1355       ~c ~s ~m ~a <Btn1Down>:
1356                 ContainerHandleBtn1Down(ContainerBeginSelect,Copy)
1357
1358       c ~s ~m ~a <Btn1Down>:
1359                 ContainerHandleBtn1Down(ContainerBeginToggle,Copy)
1360
1361       c s ~m ~a <Btn1Down>:
1362                 ContainerHandleBtn1Down(ContainerNoop,Link)
1363
1364       ~c s ~m ~a <Btn1Down>:
1365                 ContainerHandleBtn1Down(ContainerBeginExtend,Move)
1366
1367       <Btn1Motion>:
1368                 ContainerHandleBtn1Motion(ContainerButtonMotion)
1369
1370       ~c ~s ~m ~a <Btn1Up>:
1371                 ContainerHandleBtn1Up(ContainerEndSelect)
1372
1373       c ~s ~m ~a <Btn1Up>:
1374                 ContainerHandleBtn1Up(ContainerEndToggle)
1375
1376       ~c s ~m ~a <Btn1Up>:
1377                 ContainerHandleBtn1Up(ContainerEndExtend)
1378
1379       c s ~m ~a <Btn1Down>:
1380                 ContainerHandleBtn1Down(ContainerBeginExtend)
1381
1382       c s ~m ~a <Btn1Up>:
1383                 ContainerHandleBtn1Up(ContainerEndExtend)
1384
1385       When Display's XmNenableBtn1Transfer resource has  a  value  of  XmBUT‐
1386       TON2_ADJUST, the following actions apply:
1387
1388       ~c ~s ~m ~a <Btn2Down>:
1389                 ContainerHandleBtn2Down(ContainerStartTransfer,Copy)
1390
1391       c s ~m ~a <Btn2Down>:
1392                 ContainerHandleBtn2Down(ContainerStartTransfer,Link)
1393
1394       ~c s ~m ~a <Btn2Down>:
1395                 ContainerHandleBtn2Down(ContainerStartTransfer,Move)
1396
1397       <Btn2Motion>:
1398                 ContainerHandleBtn2Motion(ContainerButtonMotion)
1399
1400       ~m ~a <Btn2Up>:
1401                 ContainerHandleBtn2Up(ContainerEndTransfer)
1402
1403   Action Routines
1404       The  Container action routines are described below.  The current selec‐
1405       tions are always shown with the background color specified by the XmNs‐
1406       electColor resource.
1407
1408       ContainerActivate():
1409                 This   action   calls  XmNdefaultActionCallback  with  reason
1410                 XmCR_DEFAULT_ACTION.
1411
1412       ContainerBeginExtend():
1413                 Simply returns if XmNselectionPolicy  is  XmSINGLE_SELECT  or
1414                 XmBROWSE_SELECT.   Simply  returns if XmNlayoutType is XmSPA‐
1415                 TIAL.
1416
1417                 Otherwise, this action sets the selection state of all  items
1418                 between the anchor item and the item under the pointer to the
1419                 selection state of the anchor item.  The location  cursor  is
1420                 moved  to  the item under the pointer.  If XmNautomaticSelec‐
1421                 tion is XmAUTO_SELECT, the XmNselectionCallback(s) is  called
1422                 with  either  XmCR_MULTIPLE_SELECT or XmCR_EXTENDED_SELECT as
1423                 the  reason  depending  on   XmNselectionPolicy,   and   with
1424                 auto_selection_type XmAUTO_CHANGE.
1425
1426       ContainerBeginSelect():
1427                 If  this  is  a second ContainerBeginSelect() action that has
1428                 occurred within the time  specified  by  the  display's  mul‐
1429                 ticlick time, this action calls XmNdefaultActionCallback with
1430                 reason XmCR_DEFAULT_ACTION and returns.
1431
1432                 Otherwise, processing depends on the value  of  XmNselection‐
1433                 Policy as follows:
1434
1435                 XmSINGLE_SELECT
1436                           This  action  deselects  all  items and toggles the
1437                           item (if any) under the pointer.
1438
1439                 XmBROWSE_SELECT
1440                           This action deselects all  items  and  toggles  the
1441                           item  (if any) under the pointer.  This item is now
1442                           the anchor item for further selection.  If XmNauto‐
1443                           maticSelection is XmAUTO_SELECT and a change in any
1444                           item's selection state is made,  the  XmNselection‐
1445                           Callback(s)      is      called     with     reason
1446                           XmCR_BROWSE_SELECT     and      auto_selection_type
1447                           XmAUTO_BEGIN.
1448
1449                 XmMULTIPLE_SELECT
1450                           If  the  pointer  is over an item and XmNselection‐
1451                           Technique is not XmMARQUEE, this action toggles the
1452                           selection state of that item.  The item becomes the
1453                           anchor item for further  selection.   If  XmNselec‐
1454                           tionTechnique is XmMARQUEE, XmMARQUEE_EXTEND_START,
1455                           or  XmMARQUEE_EXTEND_BOTH,  this  action  sets  the
1456                           start  point  for the Marquee rectangle.  If XmNse‐
1457                           lectionTechnique   is   XmMARQUEE_EXTEND_START   or
1458                           XmMARQUEE_EXTEND_BOTH  and  the  pointer is over an
1459                           item,  this  action  draws  the  Marquee  rectangle
1460                           around   the  item.   If  XmNautomaticSelection  is
1461                           XmAUTO_SELECT,   the   XmNselectionCallback(s)   is
1462                           called   with   reason   XmCR_MULTIPLE_SELECT   and
1463                           auto_selection_type XmAUTO_BEGIN.
1464
1465                 XmEXTENDED_SELECT
1466                           All items are first deselected. Processing is  then
1467                           identical  to  the case where XmNselectionPolicy is
1468                           XmMULTIPLE_SELECT, except that XmCR_EXTENDED_SELECT
1469                           is  the  callback reason given if XmNselectionCall‐
1470                           back is called.
1471
1472       ContainerBeginToggle():
1473                 Simply returns if XmNselectionPolicy  is  XmSINGLE_SELECT  or
1474                 XmBROWSE_SELECT.
1475
1476                 Otherwise,  if  the pointer is over an item and XmNselection‐
1477                 Technique is not XmMARQUEE, this action toggles the selection
1478                 state  of  that  item.   The item becomes the anchor item for
1479                 further selection.  If  XmNselectionTechnique  is  XmMARQUEE,
1480                 XmMARQUEE_EXTEND_START,  or XmMARQUEE_EXTEND_BOTH this action
1481                 sets the start point for the Marquee rectangle.  If XmNselec‐
1482                 tionTechnique    is    XmMARQUEE_EXTEND_START    or    XmMAR‐
1483                 QUEE_EXTEND_BOTH and the pointer is over an item, this action
1484                 draws  the Marquee rectangle around the item.  If XmNautomat‐
1485                 icSelection is XmAUTO_SELECT, the XmNselectionCallback(s)  is
1486                 called      with      either      XmCR_MULTIPLE_SELECT     or
1487                 XmCR_EXTENDED_SELECT as the reason,  depending  on  XmNselec‐
1488                 tionPolicy, and with auto_selection_type XmAUTO_BEGIN.
1489
1490       ContainerButtonMotion():
1491                 Processing  depends  on  the  value of XmNselectionPolicy, as
1492                 follows:
1493
1494                 XmSINGLE_SELECT
1495                           This action simply returns to the caller.
1496
1497                 XmBROWSE_SELECT
1498                           Simply returns if this action follows a  Container‐
1499                           BeginExtend()   action   or  ContainerBeginToggle()
1500                           action.
1501
1502                           If the pointer is no longer over the current anchor
1503                           item,  this  action toggles the current anchor item
1504                           and then toggles the item  under  the  pointer  (if
1505                           any)  and  makes it the new anchor item for further
1506                           processing.     If     XmNautomaticSelection     is
1507                           XmAUTO_SELECT  and a change in any item's selection
1508                           state  is  made,  the  XmNselectionCallback(s)   is
1509                           called    with    reason   XmCR_BROWSE_SELECT   and
1510                           auto_selection_type XmAUTO_MOTION.
1511
1512                 XmMULTIPLE_SELECT
1513                           If a previous action has set  a  Marquee  rectangle
1514                           start  point, this action draws the Marquee rectan‐
1515                           gle between the current pointer  position  and  the
1516                           Marquee  start  point. If the XmNselectionTechnique
1517                           is XmMARQUEE_EXTEND_BOTH and the pointer is over an
1518                           item,  the  end  point  of the Marquee rectangle is
1519                           extended to include the item. The selection  states
1520                           of  all items within the Marquee rectangle are tog‐
1521                           gled to match the state of the anchor item.
1522
1523                           If no Marquee rectangle start point is set and  the
1524                           pointer  is over an item, processing depends on the
1525                           XmNlayoutType resource.  The anchor item  from  the
1526                           previous action is used. If XmNlayoutType is XmSPA‐
1527                           TIAL, the selection state of  the  item  under  the
1528                           pointer  is toggled to match the selection state of
1529                           the anchor item.  If XmNlayoutType is XmOUTLINE  or
1530                           XmDETAIL,  the selection state of all items between
1531                           the anchor item and the item under the pointer  are
1532                           toggled  to match the selection state of the anchor
1533                           item.
1534
1535                           If XmNautomaticSelection  is  XmAUTO_SELECT  and  a
1536                           change  in  any item's selection state is made, the
1537                           XmNselectionCallback(s)  is  called   with   reason
1538                           XmCR_MULTIPLE_SELECT     and    auto_selection_type
1539                           XmAUTO_MOTION.
1540
1541                 XmEXTENDED_SELECT
1542                           Processing is identical to the case where XmNselec‐
1543                           tionPolicy   is   XmMULTIPLE_SELECT,   except  that
1544                           XmCR_EXTENDED_SELECT is the callback  reason  given
1545                           if XmNselectionCallback is called.
1546
1547       ContainerCancel():
1548                 If a selection is in progress, this action restores selection
1549                 states of all items  to  their  state  before  the  selection
1550                 began.   If XmNautomaticSelection is True and a change in any
1551                 item's selection state is made, the  XmNselectionCallback  is
1552                 called  with reason XmCR_BROWSE_SELECT, XmMULTIPLE_SELECT, or
1553                 XmCR_EXTENDED_SELECT  depending  on  the   XmNselectionPolicy
1554                 resource and auto_selection_type XmAUTO_CANCEL.
1555
1556       ContainerDeselectAll():
1557                 This  action  deselects all items and calls XmNselectionCall‐
1558                 back with reason depending on XmNselectionPolicy.
1559
1560       ContainerEndExtend():
1561                 Simply returns if XmNselectionPolicy  is  XmSINGLE_SELECT  or
1562                 XmBROWSE_SELECT.   Simply  returns if XmNlayoutType is XmSPA‐
1563                 TIAL.
1564
1565                 Otherwise,  if  XmNautomaticSelection  is   XmNO_AUTO_SELECT,
1566                 XmNselectionCallback(s)  is  called  with  either XmCR_MULTI‐
1567                 PLE_SELECT or XmCR_EXTENDED_SELECT as the reason depending on
1568                 XmNselectionPolicy.       If     XmNautomaticSelection     is
1569                 XmAUTO_SELECT and no change is made in any  item's  selection
1570                 state  by this action, XmNselectionCallback(s) is called with
1571                 either XmCR_MULTIPLE_SELECT or  XmCR_EXTENDED_SELECT  as  the
1572                 reason   depending   on  XmNselectionPolicy  and  auto_selec‐
1573                 tion_type   XmAUTO_CHANGE.    If   XmNautomaticSelection   is
1574                 XmAUTO_SELECT  and  this action makes no change in any item's
1575                 selection  state,  XmNselectionCallback(s)  is  called   with
1576                 either  XmCR_MULTIPLE_SELECT  or  XmCR_EXTENDED_SELECT as the
1577                 reason  depending  on  XmNselectionPolicy   and   auto_selec‐
1578                 tion_type XmAUTO_NO_CHANGE.
1579
1580       ContainerEndSelect():
1581                 Processing  depends  on  the  value of XmNselectionPolicy, as
1582                 follows:
1583
1584                 XmSINGLE_SELECT
1585                           This action calls XmNselectionCallback with  reason
1586                           XmCR_SINGLE_SELECT.
1587
1588                 XmBROWSE_SELECT
1589                           If the pointer is no longer over the current anchor
1590                           item, this action toggles the current  anchor  item
1591                           and  then  toggles  the  item under the pointer (if
1592                           any). If XmNautomaticSelection is XmNO_AUTO_SELECT,
1593                           the  XmNselectionCallback(s)  is called with reason
1594                           XmCR_BROWSE_SELECT.   If  XmNautomaticSelection  is
1595                           XmAUTO_SELECT  and a change in any item's selection
1596                           state is made,  XmNselectionCallback(s)  is  called
1597                           with   reason  XmCR_BROWSE_SELECT  and  auto_selec‐
1598                           tion_type XmAUTO_CHANGE.  If  XmNautomaticSelection
1599                           is  XmAUTO_SELECT  and  no  change  is  made in any
1600                           item's selection state by  this  action,  XmNselec‐
1601                           tionCallback(s)     is     called    with    reason
1602                           XmCR_BROWSE_SELECT     and      auto_selection_type
1603                           XmAUTO_NO_CHANGE.
1604
1605                 XmMULTIPLE_SELECT
1606                           This  action  first performs the same processing as
1607                           the  ContainerButtonMotion()  action,  except  that
1608                           XmNselectionCallback is not called.  If XmNautomat‐
1609                           icSelection is XmNO_AUTO_SELECT, the  XmNselection‐
1610                           Callback(s)   is  called  with  reason  XmCR_MULTI‐
1611                           PLE_SELECT.     If     XmNautomaticSelection     is
1612                           XmAUTO_SELECT  and a change in any item's selection
1613                           state  is  made,  the  XmNselectionCallback(s)   is
1614                           called   with   reason   XmCR_MULTIPLE_SELECT   and
1615                           auto_selection_type XmAUTO_CHANGE.  If  XmNautomat‐
1616                           icSelection  is XmAUTO_SELECT and this action makes
1617                           no change in any item's selection state,  XmNselec‐
1618                           tionCallback(s)  is  called with reason XmCR_MULTI‐
1619                           PLE_SELECT         and          auto_selection_type
1620                           XmAUTO_NO_CHANGE.
1621
1622                 XmEXTENDED_SELECT
1623                           This  action  first performs the same processing as
1624                           the  ContainerButtonMotion()  action,  except  that
1625                           XmNselectionCallback is not called.  If XmNautomat‐
1626                           icSelection is XmNO_AUTO_SELECT, the  XmNselection‐
1627                           Callback(s)      is      called     with     reason
1628                           XmCR_EXTENDED_SELECT.  If XmNautomaticSelection  is
1629                           XmAUTO_SELECT  and a change in any item's selection
1630                           state is made,  XmNselectionCallback(s)  is  called
1631                           with  reason  XmCR_EXTENDED_SELECT  and auto_selec‐
1632                           tion_type XmAUTO_CHANGE.  If  XmNautomaticSelection
1633                           is XmAUTO_SELECT and this action makes no change in
1634                           any item's selection state, XmNselectionCallback(s)
1635                           is  called  with  reason  XmCR_EXTENDED_SELECT  and
1636                           auto_selection_type XmAUTO_NO_CHANGE.
1637
1638       ContainerEndToggle():
1639                 Simply returns if XmNselectionPolicy  is  XmSINGLE_SELECT  or
1640                 XmBROWSE_SELECT.   If XmNselectionPolicy is XmMULTIPLE_SELECT
1641                 or XmEXTENDED_SELECT, this action performs the same  process‐
1642                 ing as the ContainerEndSelect() action.
1643
1644       ContainerEndTransfer()::
1645                 If  the  elapsed time since a ContainerStartTransfer() action
1646                 has occurred exceeds the time span specified by the display's
1647                 multiclick time, this action returns.
1648
1649                 Otherwise,    the   ContainerPrimaryCopy(),   ContainerPrima‐
1650                 ryLink(),  or  ContainerPrimaryMove()  action   is   invoked,
1651                 depending  on  the  value of the operation parameter saved by
1652                 ContainerStartTransfer().
1653
1654       ContainerExpandOrCollapse(Left|Right|Collapse|Expand):
1655                 This action changes the value of the XmNoutlineState  of  the
1656                 current  focus  widget.  If the argument value is Collapse or
1657                 Left, the XmNoutlineState resource value  is  set  to  XmCOL‐
1658                 LAPSED. If the argument value is Expand or Right, the XmNout‐
1659                 lineState resource value is set to XmEXPANDED.
1660
1661                 If the argument is Left or Right and the layout is  right  to
1662                 left,  then  the  setting  of  the  XmNoutlineState  value is
1663                 reversed from that described in the preceding paragraph.
1664
1665                 Simply returns if XmNlayoutType is XmSPATIAL.
1666
1667       ContainerExtend():
1668                 Processing depends on the  value  of  XmNselectionPolicy,  as
1669                 follows:
1670
1671                 If    the    selection    policy    is   XmSINGLE_SELECT   or
1672                 XmBROWSE_SELECT, this action returns.   If  XmNlayoutType  is
1673                 XmSPATIAL, this action returns.
1674
1675                 If  the  selection  policy  is XmMULTIPLE_SELECT, this action
1676                 sets the selection state of all items between the anchor item
1677                 and  the location cursor to the selection state of the anchor
1678                 item.
1679
1680                 If the selection policy is  XmEXTENDED_SELECT  and  the  Con‐
1681                 tainer is in Normal Mode, this action deselects all items and
1682                 selects all items between the anchor item  and  the  location
1683                 cursor.  If the selection policy is XmEXTENDED_SELECT and the
1684                 Container is in Add Mode,  this  action  sets  the  selection
1685                 state  of  all items between the anchor item and the location
1686                 cursor to the selection state of the anchor item.
1687
1688                 XmNselectionCallback  is  called  with   reason   XmCR_MULTI‐
1689                 PLE_SELECT or XmCR_EXTENDED_SELECT depending on XmNselection‐
1690                 Policy.
1691
1692       ContainerExtendCursor(Left|Right|Up|Down):
1693                 Processing depends on the  value  of  XmNselectionPolicy,  as
1694                 follows:
1695
1696                 If    the    selection    policy    is   XmSINGLE_SELECT   or
1697                 XmBROWSE_SELECT, this action returns.   If  XmNlayoutType  is
1698                 XmSPATIAL, this action returns.
1699
1700                 This  action  moves the location cursor one item in the indi‐
1701                 cated direction, if possible.  If the value of  the  argument
1702                 string  is First or Last, this action moves the location cur‐
1703                 sor to the indicated item. For other values of  the  argument
1704                 string, the location cursor is not affected.
1705
1706                 If  the  selection  policy  is XmMULTIPLE_SELECT, this action
1707                 sets the selection state of all items between the anchor item
1708                 and  the location cursor to the selection state of the anchor
1709                 item.
1710
1711                 If the selection policy is  XmEXTENDED_SELECT  and  the  Con‐
1712                 tainer is in Normal Mode, this action deselects all items and
1713                 selects all items between the anchor item  and  the  location
1714                 cursor.  If the selection policy is XmEXTENDED_SELECT and the
1715                 Container is in Add Mode,  this  action  sets  the  selection
1716                 state  of  all items between the anchor item and the location
1717                 cursor to the selection state of the anchor item.
1718
1719                 XmNselectionCallback  is  called  with   reason   XmCR_MULTI‐
1720                 PLE_SELECT or XmCR_EXTENDED_SELECT depending on XmNselection‐
1721                 Policy.
1722
1723       ContainerHandleBtn1Down(string)
1724                 When Display's XmNenableBtn1Transfer resource is  not  XmOFF,
1725                 the  actions  for  selection  and  transfer are integrated on
1726                 <Btn1>.  If the pointer is over an unselected item  or  back‐
1727                 ground,  the  item  is  first selected before the transfer is
1728                 started. Otherwise, if the  item  is  already  selected,  the
1729                 transfer  is  started.  The value of string can be one of the
1730                 following actions:
1731
1732                    ·  ContainerBeginSelect,Copy
1733
1734                    ·  ContainerBeginToggle,Copy
1735
1736                    ·  ContainerNoop,Link
1737
1738                    ·  ContainerBeginExtend,Move
1739
1740       ContainerHandleBtn1Motion(string)
1741                 When Display's XmNenableBtn1Transfer resource is  not  XmOFF,
1742                 the  actions  for  selection  and  transfer are integrated on
1743                 <Btn1>. When this action is invoked, and a  selection  is  in
1744                 progress,  a drag is performed. Otherwise, the default action
1745                 as specified in string is performed. The value of string  can
1746                 be ContainerButtonMotion.
1747
1748       ContainerHandleBtn1Up(string)
1749                 If a Button 1 transfer was in progress, then when this action
1750                 is  invoked,  that  transfer  is  cancelled.  Otherwise,  the
1751                 default action as specified in string is performed. The value
1752                 of string can be one of the following actions:
1753
1754                    ·  ContainerEndSelect
1755
1756                    ·  ContainerEndToggle
1757
1758                    ·  ContainerEndExtend
1759
1760       ContainerHandleBtn2Down(string)
1761                 When Display's XmNenableBtn1Transfer resource has a value  of
1762                 XmBUTTON2_ADJUST,  the  actions  for  extending selection are
1763                 bound on <Btn2>. Otherwise,  the  action  that  is  performed
1764                 depends  on the value of string, which can be one of the fol‐
1765                 lowing actions:
1766
1767                    ·  ContainerStartTransfer,Copy
1768
1769                    ·  ContainerStartTransfer,Link
1770
1771                    ·  ContainerStartTransfer,Move
1772
1773       ContainerHandleBtn2Motion(string)
1774                 When Display's XmNenableBtn1Transfer resource is  not  XmBUT‐
1775                 TON2_ADJUST,  and  a selection is in progress, a drag is per‐
1776                 formed.  Otherwise, the  default  action  that  is  performed
1777                 depends on the value of string, which can be ContainerButton‐
1778                 Motion.
1779
1780       ContainerHandleBtn2Up(string)
1781                 When Display's XmNenableBtn1Transfer resource has a value  of
1782                 XmBUTTON2_ADJUST,  this action ends an extend. Otherwise, the
1783                 action that is performed depends  on  the  value  of  string,
1784                 which can be ContainerEndTransfer.
1785
1786       ContainerMoveCursor(Left|Right|Up|Down|First|Last):
1787                 If  the  argument  is  Left,  Right, Up, or Down, this action
1788                 moves the location cursor one item in  the  indicated  direc‐
1789                 tion,  if  possible.   If the value of the argument string is
1790                 First or Last, this action moves the location cursor  to  the
1791                 indicated item. Any other arguments are ignored.
1792
1793                 If XmNselectionPolicy is XmBROWSE_SELECT, or if XmNselection‐
1794                 Policy is XmEXTENDED_SELECT and the Container  is  in  Normal
1795                 Mode,  this  action  deselects all items, selects the item at
1796                 the location cursor, and calls XmNselectionCallback with  the
1797                 reason depending on XmNselectionPolicy.
1798
1799       ContainerPrimaryCopy():
1800                 This action requests that primary selection data be copied to
1801                 the Container.  This action calls the  XmNdestinationCallback
1802                 procedures  for  the  PRIMARY selection and the XmCOPY opera‐
1803                 tion.  By default, the Container does not  do  any  transfer,
1804                 and  copying  the selection is the responsibility of the XmN‐
1805                 destinationCallback procedures.
1806
1807       ContainerPrimaryLink():
1808                 This action requests that primary selection data be linked to
1809                 the  Container.  This action calls the XmNdestinationCallback
1810                 procedures for the PRIMARY selection and  the  XmLINK  opera‐
1811                 tion.   By  default,  the Container does not do any transfer,
1812                 and linking the selection is the responsibility of  the  XmN‐
1813                 destinationCallback procedures.
1814
1815       ContainerPrimaryMove():
1816                 This action requests that primary selection data be copied to
1817                 the Container and deleted  from  the  primary  source.   This
1818                 action  calls  the  XmNdestinationCallback procedures for the
1819                 PRIMARY selection and the XmMOVE operation.  By default,  the
1820                 Container  does not do any transfer, and moving the selection
1821                 is the responsibility of  the  XmNdestinationCallback  proce‐
1822                 dures.  If the transfer is successful, this action then calls
1823                 the selection owner's XmNconvertCallback procedures  for  the
1824                 PRIMARY selection and the DELETE target.
1825
1826       ContainerSelect():
1827                 Processing  depends  on  the  value of XmNselectionPolicy, as
1828                 follows:
1829
1830                 If   the   selection    policy    is    XmSINGLE_SELECT    or
1831                 XmBROWSE_SELECT,  this action deselects all items and selects
1832                 the item at the location cursor.
1833
1834                 If the selection policy  is  XmMULTIPLE_SELECT,  this  action
1835                 toggles  the selection state of the item at the location cur‐
1836                 sor.  This item becomes the anchor item  for  further  selec‐
1837                 tions.
1838
1839                 If  the  selection  policy  is XmEXTENDED_SELECT and the Con‐
1840                 tainer is in Normal Mode, this action deselects all items and
1841                 selects  the  item  at  the location cursor. If the selection
1842                 policy is XmEXTENDED_SELECT and the Container is in Add Mode,
1843                 this  action  toggles  the selection state of the item at the
1844                 location  cursor.   The  selected/toggled  item  becomes  the
1845                 anchor item for further selections.
1846
1847                 XmNselectionCallback  is  called with the reason depending on
1848                 XmNselectionPolicy.
1849
1850       ContainerSelectAll():
1851                 If XmNselectionPolicy is XmSINGLE_SELECT or  XmBROWSE_SELECT,
1852                 this  action  deselects all items and selects the item at the
1853                 location cursor position.
1854
1855                 If   XmNselectionPolicy   is   XmMULTIPLE_SELECT   or   XmEX‐
1856                 TENDED_SELECT, this action selects all items.
1857
1858                 XmNselectionCallback  is  called with the reason depending on
1859                 the value of XmNselectionCallback.
1860
1861       ContainerStartTransfer(Copy|Move|Link):
1862                 This action saves the event and the  operation  specified  in
1863                 the  argument  string  for  use by subsequent actions.  If no
1864                 ContainerEndTransfer() actions occur  within  the  time  span
1865                 specified  by the display's multiclick time and if XmNlayout‐
1866                 Type is XmSPATIAL, this  action  creates  a  DragContext  and
1867                 starts  a drag transfer by using string to specify the trans‐
1868                 fer operation. If no argument string is  specified,  Copy  is
1869                 the default value.
1870
1871                 Unless  default drag and drop behavior has been overridden by
1872                 a XmNconvertCallback procedure, if the drop operation  occurs
1873                 within  the  Container,  then  the  item(s) being dragged are
1874                 relocated at the position of the drop operation. If the  item
1875                 targeted  by the Drag operation is not in the selected state,
1876                 then only that item is moved. If the item is in the  selected
1877                 state, however, all items in the selected state are moved.
1878
1879       ContainerToggleMode():
1880                 If  XmNselectionPolicy is XmEXTENDED_SELECT, this action tog‐
1881                 gles the Container between Normal Mode and Add Mode.
1882
1883   Additional Behavior
1884       The Container widget has the following additional behavior:
1885
1886       <Btn1Down>(2+)
1887                 If a button click is followed by another button click  within
1888                 the time span specified by the display's multiclick time, the
1889                 Container interprets that as a  double-click  and  calls  the
1890                 XmNdefaultActionCallback callbacks.
1891
1892       <FocusIn>:
1893                 If the focus policy is explicit, sets the focus and draws the
1894                 location cursor.
1895
1896       <FocusOut>:
1897                 If the focus policy is explicit, removes the focus and erases
1898                 the location cursor.
1899
1900   Virtual Bindings
1901       The  bindings  for  virtual  keys are vendor specific.  For information
1902       about bindings for virtual buttons and keys, see VirtualBindings(3).
1903
1905       Composite(3), Constraint(3), Core(3), XmContainerCopy, XmContainerCopy‐
1906       Link,   XmContainerCut,  XmContainerGetItemChildren,  XmContainerPaste,
1907       XmContainerPasteLink,  XmContainerRelayout(3),   XmContainerReorder(3),
1908       XmCreateContainer(3),  XmCreateIconGadget(3),  XmIconGadget(3),  XmMan‐
1909       ager(3), XmVaCreateContainer(3), and XmVaCreateManagedContainer(3).
1910
1911
1912
1913                                                     XmContainer(library call)
Impressum