Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ olFlatExclus(3W) — Dell System V Release 4 Issue 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought



FlatExclusives(3W)               UNIX System V               FlatExclusives(3W)


NAME
      FlatExclusives - allows the user to select one of a series of choices


SYNOPSIS
      #include <Intrinsic.h>
      #include <StringDefs.h>
      #include <OpenLook.h>
      #include <FExclusive.h>

      widget = XtCreateWidget(name, flatExclusivesWidgetClass, ...);


DESCRIPTION
                          Figure 1.  Flat Exclusives Widget

   Selection Control - One Set
      In one mode operation (i.e., XtNnoneSet is FALSE), exactly one sub-object
      in a FlatExclusives widget must be "set," i.e., the XtNset resource is
      TRUE for one of the sub-objects.  A warning is generated if two or more
      sub-objects are set.  If no items are set, the FlatExclusives makes the
      first sub-object that is both managed and mapped when managed be the set
      item.  No warning is produced in this case.  The FlatExclusives maintains
      this condition by ensuring that when a sub-object is set by the user
      clicking SELECT over it, the sub-object that was set is cleared and its
      XtNunselectProc procedure is called and the sub-object under the pointer
      is made to be set and its XtNselectProc procedure is called.  However,
      clicking SELECT over a sub-object that is already set does nothing.

   Selection Control - None Set
      In the other mode of operation (i.e., XtNnoneSet is TRUE), at most one
      sub-object in a FlatExclusives widget can be "set."  A warning is
      generated if two or more sub-objects are set.  The FlatExclusives
      maintains this condition by ensuring that when a sub-object is set by the
      user clicking SELECT over it, the sub-object that was set is cleared and
      its XtNunselectProc procedure is called and the sub-object under the
      pointer is made to be set and its XtNselectProc procedure is called.
      Clicking SELECT over a sub-object that is already set clears it and its
      XtNunselectProc procedure is called.

   Use in a Menu
      The FlatExclusives widget can be added as child in a menu pane to
      implement a one-of-many menu choice.

   FlatExclusives Coloration
      The FlatExclusives container inherits its background color from the
      container's parent widget.  Setting the background color affects only the
      sub-objects' background.

   Keyboard Traversal
      The FlatExclusives widget is a Primitive widget that manages the
      traversal between a set of sub-objects.  When the user traverses to a


10/89                                                                    Page 1







FlatExclusives(3W)               UNIX System V               FlatExclusives(3W)


      FlatExclusives widget, the first sub-object in the set will display
      itself as having input focus (see the RectButton Widget for a description
      of this appearance.)  The MOVEUP, MOVEDOWN, MOVERIGHT, and MOVELEFT keys
      move the input focus between the sub-objects.  To traverse out of the
      FlatExclusives widget, the following keys can be used:

     - NEXT_FIELD moves to the next traversable widget in the window

     - PREV_FIELD moves to the previous traversable widget in the window

     - NEXTWINDOW moves to the next window in the application.

     - PREVWINDOW moves to the previous window in the application.

     - NEXTAPP moves to the first window in the next application.

     - PREVAPP moves to the first window in the previous application.


   Keyboard Operation
      
     |          Flat Exclusives Activation Types         |
     |||
     | Activation Type  |  Expected Results              |
     |||
     | OLMENUDEFAULTKEY|  If the FlatExclusives is on a |
     |                  |  menu, this command will set   |
     |                  |  the item with focus to be     |
     |                  |  menu's default; otherwise,    |
     |                  |  this command is ignored.      |
     |||
     | OLSELECTKEY     |  This command acts as if the   |
     |                  |  SELECT mouse button had been  |
     |                  |  clicked on the RectButton with|
     |                  |  focus.  See "Selection        |
     |                  |  Control" sections above.      |
     |||

RESOURCES
      The following table lists the resources for the FlatExclusives.
      Resources that have a bullet (⊕) in the Access column denote sub-object
      resources.  If these resources are not included in the XtNitemFields
      list, they are inherited from the container widget.  An application can
      change the default values for sub-object resources by setting them on the
      container directly.  Even though a sub-object resource is not included in
      the XtNitemFields list, the application can query the value of any sub-
      object resource with OlFlatGetValues().



      _____________________________________________________________________________________________________________
                                    Flat Exclusives Resource Set


Page 2                                                                    10/89







FlatExclusives(3W)               UNIX System V               FlatExclusives(3W)


      _____________________________________________________________________________________________________________
     |                              Flat Exclusives Resource Set                                                  |
     |_____________________|_____________________|_______________|____________________|___________________________|
     | Name                | Class               | Type          | Default            | Access                    |
     ||||||
     |_____________________|_____________________|_______________|____________________|___________________________|
     | Name                | Class               | Type          | Default            | Access                    |
     ||||||
       XtNaccelerator        XtCAccelerator        String          NULL                 SGI⊕
      _____________________________________________________________________________________________________________
       XtNacceleratorText    XtCAcceleratorText    String          Dynamic              SGI⊕
      _____________________________________________________________________________________________________________
       XtNancestorSensitive  XtCSensitive          Boolean         TRUE                 G⊕
      _____________________________________________________________________________________________________________
       XtNbackground         XtCBackground         Pixel           XtDefaultBackground  SGI⊕
      _____________________________________________________________________________________________________________
       XtNbackgroundPixmap   XtCBackgroundPixmap   Pixmap          None                 SGI⊕
      _____________________________________________________________________________________________________________
       XtNborderWidth        XtCBorderWidth        Dimension       0                    SGI⊕
      _____________________________________________________________________________________________________________
       XtNclientData         XtCClientData         XtPointer       NULL                 SGI⊕
      _____________________________________________________________________________________________________________
       XtNconsumeEvent       XtCConsumeEvent       XtCallbackList  NULL                 SGI
      _____________________________________________________________________________________________________________
       XtNdefault            XtCDefault            Boolean         FALSE                SGI†⊕
      _____________________________________________________________________________________________________________
       XtNdepth              XtCDepth              Cardinal        (parent's)           GI
      _____________________________________________________________________________________________________________
       XtNdim                XtCDim                Boolean         FALSE                SGI⊕
      _____________________________________________________________________________________________________________
       XtNfont               XtCFont               XFontStruct *   (OPEN LOOK font)     SI⊕
      _____________________________________________________________________________________________________________
       XtNfontColor          XtCFontColor          Pixel           XtDefaultForeground  SGI⊕
      _____________________________________________________________________________________________________________
       XtNforeground         XtCForeground         Pixel           XtDefaultForeground  SGI
      _____________________________________________________________________________________________________________
       XtNgravity            XtCGravity            int             CenterGravity        SGI
      _____________________________________________________________________________________________________________
       XtNinputFocusColor    XtCInputFocusColor    Pixel           Black                SGI⊕
      _____________________________________________________________________________________________________________
       XtNhPad               XtCHPad               Dimension       0                    SGI
      _____________________________________________________________________________________________________________
       XtNheight             XtCHeight             Dimension       (calculated)         SGI
      _____________________________________________________________________________________________________________
       XtNitemFields         XtCItemFields         String *        NULL                 GI
      _____________________________________________________________________________________________________________
       XtNitemMaxHeight      XtCItemMaxHeight      Dimension       OL_IGNORE            SGI
      _____________________________________________________________________________________________________________
       XtNitemMaxWidth       XtCItemMaxWidth       Dimension       OL_IGNORE            SGI
      _____________________________________________________________________________________________________________
       XtNitemMinHeight      XtCItemMinHeight      Dimension       OL_IGNORE            SGI
      _____________________________________________________________________________________________________________


10/89                                                                    Page 3







FlatExclusives(3W)               UNIX System V               FlatExclusives(3W)


      _____________________________________________________________________________________________________________
     |                              Flat Exclusives Resource Set                                                  |
     |_____________________|_____________________|_______________|____________________|___________________________|
     | Name                | Class               | Type          | Default            | Access                    |
     ||||||
       XtNitemMinWidth       XtCItemMinWidth       Dimension       OL_IGNORE            SGI
      _____________________________________________________________________________________________________________
       XtNitems              XtCItems              XtPointer       NULL                 SGI
      _____________________________________________________________________________________________________________
       XtNitemsTouched       XtCItemsTouched       Boolean         FALSE                SG
      _____________________________________________________________________________________________________________
       XtNlabel              XtCLabel              String          NULL                 SGI⊕
      _____________________________________________________________________________________________________________
       XtNlabelImage         XtCLabelImage         XImage *        NULL                 SGI⊕
      _____________________________________________________________________________________________________________
       XtNlabelJustify       XtCLabelJustify       OlDefine        OL_LEFT              SGI⊕
      _____________________________________________________________________________________________________________
       XtNlabelTile          XtCLabelTile          Boolean         FALSE                SGI⊕
      _____________________________________________________________________________________________________________
       XtNlayoutHeight       XtCLayoutHeight       OlDefine        OL_MINIMIZE          SGI
      _____________________________________________________________________________________________________________
       XtNlayoutType         XtCLayoutType         OlDefine        OL_FIXEDROWS         SGI
      _____________________________________________________________________________________________________________
       XtNlayoutWidth        XtCLayoutWidth        OlDefine        OL_MINIMIZE          SGI
      _____________________________________________________________________________________________________________
       XtNmanaged            XtCManaged            Boolean         TRUE                 SGI
      _____________________________________________________________________________________________________________
       XtNmappedWhenManaged  XtCMappedWhenManaged  Boolean         TRUE                 SGI⊕
      _____________________________________________________________________________________________________________
       XtNmeasure            XtCMeasure            int             1                    SGI
      _____________________________________________________________________________________________________________
       XtNmnemonic           XtCMnemonic           unsigned char   NULL                 SGI⊕
      _____________________________________________________________________________________________________________
       XtNnoneSet            XtCNoneSet            Boolean         FALSE                SGI
      _____________________________________________________________________________________________________________
       XtNnumItemFields      XtCNumItemFields      Cardinal        0                    SGI
      _____________________________________________________________________________________________________________
       XtNnumItems           XtCNumItems           Cardinal        0                    SGI
      _____________________________________________________________________________________________________________
       XtNreferenceName      XtCReferenceName      String          NULL                 SGI
      _____________________________________________________________________________________________________________
       XtNreferenceWidget    XtCReferenceWidget    Widget          NULL                 SGI
      _____________________________________________________________________________________________________________
       XtNsameHeight         XtCSameHeight         OlDefine        OL_ALL               SGI
      _____________________________________________________________________________________________________________
       XtNsameWidth          XtCSameWidth          OlDefine        OL_COLUMNS           SGI
      _____________________________________________________________________________________________________________
       XtNselectProc         XtCCallbackProc       XtCallbackProc  NULL                 SGI⊕
      _____________________________________________________________________________________________________________
       XtNsensitive          XtCSensitive          Boolean         TRUE                 SGI⊕
      _____________________________________________________________________________________________________________
       XtNset                XtCSet                Boolean         FALSE                SGI†⊕


Page 4                                                                    10/89







FlatExclusives(3W)               UNIX System V               FlatExclusives(3W)


      _____________________________________________________________________________________________________________
     |                              Flat Exclusives Resource Set                                                  |
     |_____________________|_____________________|_______________|____________________|___________________________|
     | Name                | Class               | Type          | Default            | Access                    |
     ||||||
     |_____________________|_____________________|_______________|____________________|___________________________|
     | XtNtraversalOn      | XtCTraversalOn      | Boolean       | TRUE               | SGI⊕                      |
     |_____________________|_____________________|_______________|____________________|___________________________|
     | XtNunselectProc     | XtCCallbackProc     | XtCallbackProc| NULL               | SGI⊕                      |
     |_____________________|_____________________|_______________|____________________|___________________________|
     | XtNuserData         | XtCUserData         | XtPointer     | NULL               | SGI⊕                      |
     |_____________________|_____________________|_______________|____________________|___________________________|
     | XtNvPad             | XtCVPad             | Dimension     | 0                  | SGI                       |
     |_____________________|_____________________|_______________|____________________|___________________________|
     | XtNwidth            | XtCWidth            | Dimension     | (calculated)       | SGI                       |
     |_____________________|_____________________|_______________|____________________|___________________________|
     | XtNx                | XtCPosition         | Position      | 0                  | SGI                       |
     |_____________________|_____________________|_______________|____________________|___________________________|
     | XtNy                | XtCPosition         | Position      | 0                  | SGI                       |
     |_____________________|_____________________|_______________|____________________|___________________________|

   XtNancestorSensitive
      Range of Values:
                           TRUE/"true"
                           FALSE/"false"

      This resource indicates the sensitivity of the sub-object's ancestors.
      If TRUE, all the sub-object's ancestors are sensitive and the sub-object
      is sensitive to user input. If FALSE, one or more of the sub-object's
      ancestors are insensitive, so the sub-object displays an inactive visual
      and is not sensitive to user input.

   XtNbackground
      This is the pixel color used to fill in the background of the sub-object.

   XtNbackgroundPixmap
      This resource specifies the pixmap that is displayed as the sub-object's
      label.  Any supplied pixmap must have the same depth as the flat widget's
      depth.  Pixmaps of None and ParentRelative are not considered valid
      values.  If either XtNlabel or XtNlabelImage has a non-NULL value, this
      resource is ignored.

   XtNclientData
      This is the client data supplied to all callback procedures.

   XtNdefault
      Range of Values:
                           TRUE/"true"
                           FALSE/"false"

      When used on the sub-object, this resource specifies whether or not the
      sub-object is a default item.  If more than one item is a set as a


10/89                                                                    Page 5







FlatExclusives(3W)               UNIX System V               FlatExclusives(3W)


      default item, a warning is generated and all but the first default item
      is unselected.

      When used on the container, this resource indicates whether or not one of
      the sub-objects is a default item.  If a sub-object is a default item,
      XtNdefault has a value of TRUE; else it has a value of FALSE.  Setting
      this resource on the container widget indicates whether or not one of the
      sub-objects should be a default item.  If the application sets this value
      to TRUE on the container, the container will set the first managed and
      mapped sub-object as the default item if a default item does not exist.
      If the application sets this value to FALSE, the container will unset its
      default item if one exists.

      Even if the application does not use XtNdefault in its item fields list,
      the container will correctly maintain the default item and the
      application can change the default item via OlFlatSetValues.

   XtNdim
      Range of Values:
                           TRUE/"true"
                           FALSE/"false"

      If TRUE, the sub-object shows a dimmed visual indicating that the item
      represents the state of one or more objects, that as a group, are in
      different states.

   XtNfont
      This resource displays the string specified by the XtNlabel resource.

   XtNfontColor
      This resource specifies the foreground color of the sub-object's label,
      even if the label is an XImage.

   XtNforeground
      This is the pixel color used when drawing the sub-object's outline.

   XtNitems
      This is the list of sub-object items.  This value must point to a static
      list since flat containers reference this list after initialization but
      do not cache its information.

   XtNitemFields
      This is the list of resource names used to parse the records in the
      XtNitems list.  This resource does not have to point to static
      information since the flat container does not use this information after
      initialization.  Though the flat container does not reference this
      resource's value after initialization, it holds onto it for responding to
      an XtGetValues() request and supplying it in the OlFlatCallData structure
      during callbacks.  Therefore, if the application plans on querying this
      resource, it's recommended that the application make this resource point
      to static information.



Page 6                                                                    10/89







FlatExclusives(3W)               UNIX System V               FlatExclusives(3W)


   XtNitemsTouched
      Range of Values:
                           TRUE
                           FALSE

      Whenever the application modifies an item list directly, it must supply
      this resource (with a value of TRUE) to the flat widget container so that
      the container can update the visual.  If the resource value is supplied,
      the flat widget container treats its current item list as a new list and
      hence, updates its entire visual.  Since the list is treated as a new
      list, the flat container may request a change in geometry from its
      parent.

      Note:
      It is not necessary to use this resource if the application modifies the
      list with the OlFlatSetValues procedure; nor is it necessary to use this
      resource whenever the application supplies a new list to the flat
      container.

   XtNlabel
      This is the text string that appears in the sub-object.

   XtNlabelImage
      This is an XImage pointer that can appear in a sub-object.  This resource
      is ignored if XtNlabel is non-NULL.

   XtNlabelJustify
      Range of Values:
                           OL_LEFT/"left"
                           OL_CENTER/"center"
                           OL_RIGHT/"right"

      This resource specifies the justification of the label or XImage that
      appears within a sub-object.

   XtNlabelTile
      Range of Values:
                           TRUE/"true"
                           FALSE/"false"

      This resource augments the XtNlabelImage/XtNlabelPixmap resource to allow
      tiling of the sub-object's background.  For an image/pixmap that is
      smaller than the sub-object's background, the label area is tiled with
      the image/pixmap to fill the sub-object's background if this resource is
      TRUE; otherwise, the label is placed as described by the XtNlabelJustify
      resource.

      The XtNlabelTile resource is ignored for text labels.


   XtNmappedWhenManaged
      Range of Values:


10/89                                                                    Page 7







FlatExclusives(3W)               UNIX System V               FlatExclusives(3W)


                           TRUE/"true"
                           FALSE/"false"

      This resource specifies whether or not a managed sub-object is displayed.
      Regardless of this resource's value, all managed sub-objects will be
      including when determining the layout.

      Note:
      This resource is never inherited from the container, so its default value
      is always TRUE.

   XtNnoneSet
      Range of Values:
                           TRUE/"true"
                           FALSE/"false"

      This resource controls whether the settings can be toggled into an unset
      mode directly.  If set to FALSE, exactly one sub-object must be in the
      set state always.  Attempting to select the currently set sub-object does
      nothing.  If set to TRUE, no more than one sub-object can be set at any
      time.  However, the user can select the currently set sub-object and
      toggle it back to an unset state.

   XtNnumItems
      This resource specifies the number of sub-object items.

   XtNnumItemFields
      This resource indicates the number of resource names contained in
      XtNitemFields.

   XtNsameHeight
      Range of Values:
                           OL_ALL/"all"
                           OL_ROWS/"rows"

      This resource specifies the rows that are forced to the same height.

   XtNsameWidth
      Range of Values:
                           OL_ALL/"all"
                           OL_COLUMNS/"columns"

      This resource specifies the columns that are forced to the same width.

   XtNselectProc
      This callback procedure is called whenever the sub-object becomes
      selected by user input.



   XtNsensitive
      Range of Values:


Page 8                                                                    10/89







FlatExclusives(3W)               UNIX System V               FlatExclusives(3W)


                           TRUE/"true"
                           FALSE/"false"

      If TRUE, the sub-object is sensitive to user input.  If FALSE, the sub-
      object is insensitive to user input and an inactive visual is displayed
      to indicate this state.

      Note:
      This resource is never inherited from the container, so its default value
      is always TRUE.

   XtNset
      Range of Values:
                           TRUE/"true"
                           FALSE/"false"

      This resource reflects the current state of the sub-object.

      Note:
      This resource is never inherited from the container, so its default value
      is always FALSE.

      Even if the application does not use XtNset in its item fields list, the
      container will correctly maintain the set item and the application can
      change the set item via OlFlatSetValues.

   XtNunselectProc
      This callback procedure is called whenever the sub-object becomes
      unselected by user input.

























10/89                                                                    Page 9





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026