Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

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

Media Vault

Software Library

Restoration Projects

Artifacts Sought



Exclusives(3W)                   UNIX System V                   Exclusives(3W)


NAME
      Exclusives - allows the end-user to select one of a set of choices

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

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

DESCRIPTION
      The Exclusives widget provides a simple way to build a one-of-many button
      selection object.  It manages a set of rectangular buttons, providing
      layout management.

   Grid Layout and Button Labels
      The Exclusives widget lays out the rectangular buttons in a grid in the
      order they are added as child widgets by the application.  The number of
      rows or columns in this grid can be controlled by the application.  If
      the grid has more than one row, the Exclusives widget forces the buttons
      in each column to be the same size as the widest in the column, and
      forces their labels to be left-justified.  (Note:  If the grid has a
      single row, each button will be only as wide as necessary to display the
      label.)
                       Figure 1.  Example of Exclusive Buttons
      Selection Control-One Set
      In one mode of operation (i.e, XtNnoneSet is FALSE), exactly one button
      in an Exclusives widget must be "set" (i.e. the XtNset resource set to
      TRUE).  An error is generated if an Exclusives is configured with two or
      more rectangular buttons set or with no button set.  The Exclusives
      widget maintains this condition by ensuring that when a button is set by
      the user clicking SELECT over it, the button that was set is cleared and
      its XtNunselect callbacks are invoked.  However, clicking SELECT over a
      button that was already set does nothing.

   Selection Control-None Set
      In the other mode of operation (i.e, XtNnoneSet is TRUE), at most one
      button in an Exclusives widget can be set.  An error is generated if an
      Exclusives is configured with two or more rectangular buttons set, but
      not if configured with no button set.  The Exclusives widget maintains
      this condition by ensuring that when a button is set by the user clicking
      SELECT over it, or by the application programmer with the XtNset
      resource, any button that was previously set is cleared.  Also, clicking
      SELECT over a button that was already set will unset it.  Clearing a
      button in either case invokes its XtNunselect callbacks.

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




10/89                                                                    Page 1







Exclusives(3W)                   UNIX System V                   Exclusives(3W)


   Child Constraint
      The Exclusives widget constrains its child widgets to be of the class
      rectButtonWidgetClass.

   Exclusives Coloration
      There is no explicit foreground or background in the Exclusives composite
      widget; each rectangular button has its own coloration.

   Keyboard Traversal
      The Exclusives widget manages the traversal between a set of RectButtons.
      When the user traverses to a Exclusives widget, the first RectButton in
      the set will receive input focus.  The MOVEUP, MOVEDOWN, MOVERIGHT, and
      MOVELEFT keys move the input focus between the RectButtons.  To traverse
      out of the Exclusives 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.

      The SELECTKEY acts as if the SELECT button had been clicked on the
      RectButton with input focus.  The MENUKEY acts as if the MENU button had
      been clicked on the RectButton with input focus.

RESOURCES
    _______________________________________________________________________________________
                                    Exclusives Resource Set
    _______________________________________________________________________________________
     Name                   Class                  Type              Default        Access
    _______________________________________________________________________________________
    _______________________________________________________________________________________
     XtNancestorSensitive   XtCSenstitive          Boolean           TRUE           G*
    _______________________________________________________________________________________
     XtNconsumeEvent        XtCConsumeEvent        XtCallbackList    NULL           SG
    _______________________________________________________________________________________
     XtNdepth               XtCDepth               int               (parent's)     GI
    _______________________________________________________________________________________
     XtNdestroyCallback     XtCCallback            XtCallbackList    NULL           SI
    _______________________________________________________________________________________
     XtNheight              XtCHeight              Dimension         (calculated)   SGI
    _______________________________________________________________________________________
     XtNlayoutType          XtCLayoutType          OlDefine          OL_FIXEDROWS   SGI
    _______________________________________________________________________________________
     XtNmappedWhenManaged   XtCMappedWhenManaged   Boolean           TRUE           SGI
    _______________________________________________________________________________________


Page 2                                                                    10/89







Exclusives(3W)                   UNIX System V                   Exclusives(3W)


   | XtNmeasure          |  XtCMeasure          |  int            |  1           |  SGI   |
   |_____________________|______________________|_________________|______________|________|
   | XtNnoneSet          |  XtCNoneSet          |  Boolean        |  FALSE       |  SGI   |
   |_____________________|______________________|_________________|______________|________|
   | XtNreferenceName    |  XtCReferenceName    |  String         |  NULL        |  GI    |
   |_____________________|______________________|_________________|______________|________|
   | XtNreferenceWidget  |  XtCReferenceWidget  |  Widget         |  NULL        |  GI    |
   |_____________________|______________________|_________________|______________|________|
   | XtNsensitive        |  XtCSensitive        |  Boolean        |  TRUE        |  GI*   |
   |_____________________|______________________|_________________|______________|________|
   | XtNtraversalOn      |  XtCTraversalOn      |  Boolean        |  TRUE        |  SGI   |
   |_____________________|______________________|_________________|______________|________|
   | XtNuserData         |  XtCUserData         |  XtPointer      |  NULL        |  SGI   |
   |_____________________|______________________|_________________|______________|________|
   | XtNwidth            |  XtCWidth            |  Dimension      |  (calculated)|  SGI   |
   |_____________________|______________________|_________________|______________|________|
   | XtNx                |  XtCPosition         |  Position       |  0           |  SGI   |
   |_____________________|______________________|_________________|______________|________|
   | XtNy                |  XtCPosition         |  Position       |  0           |  SGI   |
   |_____________________|______________________|_________________|______________|________|

   XtNlayoutType
      Range of Values:
           OLFIXEDROWS/"fixedrows"
           OLFIXEDCOLS/"fixedcols"

      This resource controls the type of layout of the child widgets by the
      Exclusives composite.  The choices are to specify the number of rows or
      the number of columns.  Only one of these dimensions can be specified
      directly; the other is determined by the number of child widgets added,
      and will always be enough to show all the child widgets.

      The values of the XtNlayoutType resource can be

      OLFIXEDROWS   if the layout should have a fixed number of rows;

      OLFIXEDCOLS   if the layout should have a fixed number of columns.

   XtNmeasure
      Range of Values:
           0 < XtNmeasure

      This resource gives the number of rows or columns in the layout of the
      child widgets.  If there are not enough child widgets to fill a row or
      column, the remaining space is left blank.  If there is only one row
      (column), and it is not filled with child widgets, the remaining
      ``space'' is of zero width (height).







10/89                                                                    Page 3







Exclusives(3W)                   UNIX System V                   Exclusives(3W)


   XtNnoneSet
      Range of Values:
           TRUE
           FALSE

      This resource controls whether the buttons controlled by the Exclusives
      composite can be toggled into an unset mode directly.  If set to FALSE,
      at all times exactly one button must be set.  Attempting to select the
      currently set button does nothing.  If set to TRUE, at all times no more
      than one button can be set.  However, the user can select the currently
      set button again to toggle it back into an unset mode.











































Page 4                                                                    10/89





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