Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — MultiPersonal System R32V2

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



     NAME
          XmToggleButton - the ToggleButton widget class.


     AES SUPPORT LEVEL
          full-use

     SYNOPSIS
          #include <Xm/ToggleB.h>


     DESCRIPTION
          ToggleButton sets nontransitory state data within an
          application.  Usually this widget consists of an
          indicator (square or diamond) with either text or a
          pixmap to its right.  However, it can also consist of
          just text or a pixmap without the indicator.

          The toggle graphics display a 1-of-many or N-of-many
          selection state.  When a toggle indicator is displayed,
          a square indicator shows a N-of-many selection state
          and a diamond indicator shows a 1-of-many selection
          state.

          ToggleButton implies a selected or unselected state. In
          the case of a label and an indicator, an empty
          indicator (square or diamond shaped) indicates that
          ToggleButton is unselected, and a filled indicator
          shows that it is selected.  In the case of a pixmap
          toggle, different pixmaps are used to display the
          selected/unselected states.

          Normally, mouse button 1 is used to arm and activate
          the button.  However, if the ToggleButton resides
          within a menu, then the mouse button used is determined
          by the RowColumn resources XmNrowColumnType and
          XmNwhichButton.

          To accommodate the toggle indicator when created,
          Label's resource XmNmarginLeft may be increased.


        Classes
          ToggleButton inherits behavior and resources from Core,
          XmPrimitive, and XmLabel Classes.

          The class pointer is xmToggleButtonWidgetClass.

          The class name is XmToggleButton.


        New Resources



                                - 1 -





     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



          The following table defines a set of widget resources
          used by the programmer to specify data.  The programmer
          can also set the resource values for the inherited
          classes to set attributes for this widget.  To
          reference a resource by name or by class in a
          .Xdefaults file, remove the XmN or XmC prefix and use
          the remaining letters.  To specify one of the defined
          values for a resource in a .Xdefaults file, remove the
          Xm prefix and use the remaining letters (in either
          lower case or upper case, but include any underscores
          between words).  The codes in the access column
          indicate if the given resource can be set at creation
          time (C), set by using XtSetValues (S), retrieved by
          using XtGetValues (G), or is not applicable (N/A).

                                                XmToggleButton Resource Set
          Name                         Class                        Type             Default                Access

          ________________________________________________________________________________________________________
          XmNarmCallback               XmCArmCallback               XtCallbackList   NULL                   C
          XmNdisarmCallback            XmCDisarmCallback            XtCallbackList   NULL                   C
          XmNfillOnSelect              XmCFillOnSelect              Boolean          True                   CSG
          XmNindicatorOn               XmCIndicatorOn               Boolean          True                   CSG
          XmNindicatorType             XmCIndicatorType             unsigned char    XmN_OF_MANY            CSG
          XmNselectColor               XmCSelectColor               Pixel            dynamic                CSG
          XmNselectInsensitivePixmap   XmCSelectInsensitivePixmap   Pixmap           XmUNSPECIFIED_PIXMAP   CSG
          XmNselectPixmap              XmCSelectPixmap              Pixmap           XmUNSPECIFIED_PIXMAP   CSG
          XmNset                       XmCSet                       Boolean          False                  CSG
          XmNspacing                   XmCSpacing                   short            4                      CSG
          XmNvalueChangedCallback      XmCValueChangedCallback      XtCallbackList   NULL                   C
          XmNvisibleWhenOff            XmCVisibleWhenOff            Boolean          True                   CSG


          XmNarmCallback
               Specifies the list of callbacks that is called
               when the ToggleButton is armed. To arm this
               widget, press the active mouse button while the
               pointer is inside the ToggleButton. For this
               callback, the reason is XmCR_ARM.

          XmNdisarmCallback
               Specifies the list of callbacks that is called
               when ToggleButton is disarmed. To disarm this
               widget, press and release the active mouse button
               while the pointer is inside the ToggleButton.
               This widget is also disarmed when the user moves
               out of the widget and releases the mouse button
               when the pointer is outside the widget. For this
               callback, the reason is XmCR_DISARM.

          XmNfillOnSelect
               Fills the indicator with the color specified in
               XmNselectColor and switches the top and bottom


                                - 2 -





     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



               shadow colors when set to True. Otherwise, it
               switches only the top and bottom shadow colors.

          XmNindicatorOn
               Specifies that a toggle indicator is drawn to the
               left of the toggle text or pixmap when set to
               True.  When set to False, no space is allocated
               for the indicator, and it is not displayed.  If
               XmNindicatorOn is True, the indicator shadows are
               switched when the button is selected or
               unselected, but, any shadows around the entire
               widget are not switched.  However, if
               XmNindicatorOn is False, any shadows around the
               entire widget are switched when the toggle is
               selected or unselected.

          XmNindicatorType
               Specifies if the indicator is a 1-of or N-of
               indicator.  For the 1-of indicator, the value is
               XmONE_OF_MANY.  For the N-of indicator, the value
               is XmN_OF_MANY.  The N-of-many is a square-shaped
               indicator.  The 1-of-many is a diamond-shaped
               indicator.  This resource only specifies the
               visuals and does not enforce the behavior.  When
               the ToggleButton is in a RadioBox, the parent
               forces this resource to XmONE_OF_MANY.

          XmNselectColor
               Allows the application to specify what color fills
               the center of the square or diamond indicator when
               it is set.  If this color is the same as either
               the top or bottom shadow color of the indicator, a
               one-pixel-wide margin is left between the shadows
               and the fill; otherwise, it is filled completely.
               This resource's default for a color display is a
               color between the background and bottom shadow
               color.  For a monochrome display, the default is
               set to the foreground color.

          XmNselectInsensitivePixmap
               Specifies a pixmap used as the button face when
               the ToggleButton is selected and the button is
               insensitive if the Label resource XmNlabelType is
               set to XmPIXMAP.  If the ToggleButton is
               unselected and the button is insensitive, the
               pixmap in XmNlabelInsensitivePixmap is used as the
               button face.

          XmNselectPixmap
               Specifies the pixmap to be used as the button face
               if XmNlabelType is XmPIXMAP and the ToggleButton
               is selected. When the ToggleButton is unselected,



                                - 3 -





     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



               the pixmap specified in Label's XmNlabelPixmap is
               used.

          XmNset
               Displays the button in its selected state if set
               to True. This shows some conditions as active when
               a set of buttons first appear.

          XmNspacing
               Specifies the amount of spacing between the toggle
               indicator and the toggle label (text or pixmap).

          XmNvalueChangedCallback
               Specifies the list of callbacks that is called
               when the ToggleButton value is changed.  To change
               the value, press and release the active mouse
               button while the pointer is inside the
               ToggleButton.  This action also causes this widget
               to be disarmed. For this callback, the reason is
               XmCR_VALUE_CHANGED.

          XmNvisibleWhenOff
               Indicates that the toggle indicator is visible in
               the unselected state when the Boolean value is
               True. When the ToggleButton is in a menu, the
               RowColumn parent forces this resource to False.
               When the ToggleButton is in a RadioBox, the parent
               forces this resource to True.


        Inherited Resources
          ToggleButton inherits behavior and resources from the
          following superclasses.  For a complete description of
          these resources, refer to the man page for that
          superclass.

                                                  XmLabel Resource Set
          Name                        Class                       Type            Default                Access

          _____________________________________________________________________________________________________
          XmNaccelerator              XmCAccelerator              String          NULL                   CSG
          XmNacceleratorText          XmCAcceleratorText          XmString        NULL                   CSG
          XmNalignment                XmCAlignment                unsigned char   XmALIGNMENT_CENTER     CSG
          XmNfontList                 XmCFontList                 XmFontList      "Fixed"                CSG
          XmNlabelInsensitivePixmap   XmCLabelInsensitivePixmap   Pixmap          XmUNSPECIFIED_PIXMAP   CSG
          XmNlabelPixmap              XmCPixmap                   Pixmap          XmUNSPECIFIED_PIXMAP   CSG
          XmNlabelString              XmCXmString                 XmString        NULL                   CSG
          XmNlabelType                XmCLabelType                unsigned char   XmSTRING               CSG
          XmNmarginBottom             XmCMarginBottom             short           0                      CSG
          XmNmarginHeight             XmCMarginHeight             short           2                      CSG
          XmNmarginLeft               XmCMarginLeft               short           dynamic                CSG




                                - 4 -





     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



          XmNmarginRight              XmCMarginRight              short           0                      CSG
          XmNmarginTop                XmCMarginTop                short           0                      CSG
          XmNmarginWidth              XmCMarginWidth              short           2                      CSG
          XmNmnemonic                 XmCMnemonic                 char            `\0'                   CSG
          XmNrecomputeSize            XmCRecomputeSize            Boolean         True                   CSG

                                             XmPrimitive Resource Set
          Name                    Class                   Type             Default                Access

          ______________________________________________________________________________________________
          XmNbottomShadowColor    XmCForeground           Pixel            dynamic                CSG
          XmNbottomShadowPixmap   XmCBottomShadowPixmap   Pixmap           XmUNSPECIFIED_PIXMAP   CSG
          XmNforeground           XmCForeground           Pixel            dynamic                CSG
          XmNhelpCallback         XmCCallback             XtCallbackList   NULL                   C
          XmNhighlightColor       XmCForeground           Pixel            Black                  CSG
          XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean          False                  CSG
          XmNhighlightPixmap      XmCHighlightPixmap      Pixmap           dynamic                CSG
          XmNhighlightThickness   XmCHighlightThickness   short            0                      CSG
          XmNshadowThickness      XmCShadowThickness      short            0                      CSG
          XmNtopShadowColor       XmCBackground           Pixel            dynamic                CSG
          XmNtopShadowPixmap      XmCTopShadowPixmap      Pixmap           XmUNSPECIFIED_PIXMAP   CSG
          XmNtraversalOn          XmCTraversalOn          Boolean          False                  CSG
          XmNuserData             XmCUserData             caddr_t          NULL                   CSG

                                               Core Resource Set
                  Name                  Class                Type              Default          Access
          ____________________________________________________________________________________________
          XmNaccelerators        XmCAccelerators        XtTranslations   NULL                   CSG
          XmNancestorSensitive   XmCSensitive           Boolean          True                   G
          XmNbackground          XmCBackground          Pixel            dynamic                CSG
          XmNbackgroundPixmap    XmCPixmap              Pixmap           XmUNSPECIFIED_PIXMAP   CSG
          XmNborderColor         XmCBorderColor         Pixel            Black                  CSG
          XmNborderPixmap        XmCPixmap              Pixmap           XmUNSPECIFIED_PIXMAP   CSG
          XmNborderWidth         XmCBorderWidth         Dimension        0                      CSG
          XmNcolormap            XmCColormap            Colormap         XtCopyFromParent       CG
          XmNdepth               XmCDepth               int              XtCopyFromParent       CG
          XmNdestroyCallback     XmCCallback            XtCallbackList   NULL                   C
          XmNheight              XmCHeight              Dimension        0                      CSG
          XmNmappedWhenManaged   XmCMappedWhenManaged   Boolean          True                   CSG
          XmNscreen              XmCScreen              Pointer          XtCopyScreen           CG
          XmNsensitive           XmCSensitive           Boolean          True                   CSG
          XmNtranslations        XmCTranslations        XtTranslations   NULL                   CSG
          XmNwidth               XmCWidth               Dimension        0                      CSG
          XmNx                   XmCPosition            Position         0                      CSG
          XmNy                   XmCPosition            Position         0                      CSG


        Callback Information
          The following structure is returned with each callback:

          typedef struct
          {



                                - 5 -





     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



            int          reason;
            XEvent       * event;
            Boolean      set;
          } XmToggleButtonCallbackStruct;


          reason Indicates why the callback was invoked.

          event  Points to the XEvent that triggered the
                 callback.

          set    Reflects the ToggleButton's current state when
                 the callback occurred, either True (selected) or
                 False (unselected).


        Behavior
          ToggleButton is associated with the default behavior
          unless it is part of a menu system.  In a menu system,
          the RowColumn parent determines which mouse button is
          used.


          Default Behavior

          <Btn1Down>:
               (if unset): This action arms the ToggleButton
               widget.  The indicator shadow is drawn so that the
               button looks depressed, and the indicator fills
               with the color specified in XmNselectColor.  The
               callbacks for XmNarmCallback are also called.

               (if set):  This action arms the ToggleButton
               widget.  The indicator shadow is drawn so that the
               button looks raised, and the indicator fills with
               the background color.  The callbacks for
               XmNarmCallback are also called.

          <Btn1Up>:

               (In Button):

               (if unset):  This action selects the ToggleButton
               widget.  Visually, it appears the same as when it
               is armed.  The callbacks for
               XmvalueChangedCallback are called, followed by
               callbacks for XmdisarmCallback.

               (if set):  This action unselects the ToggleButton
               widget.  Visually, it appears the same as when it
               is armed.  The callbacks for
               XmvalueChangedCallback are called, followed by



                                - 6 -





     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



               callbacks for XmdisarmCallback.

               (Outside Of Button):

               If the button release occurs outside of the
               ToggleButton, the callbacks for XmNdisarmCallback
               are called.

          <Leave Window>:
               If the button is pressed and the cursor leaves the
               widget, it visually reverts to its previous
               unpressed state.

          <Enter Window>:
               If the button is pressed and the cursor leaves and
               reenters the widget, it visually appears the same
               as when the button was first armed.


          Default PopupMenu System

          <Btn3Down>:
               This action disables keyboard traversal for the
               menu and returns the user to drag mode, which is
               the mode in which the menu is manipulated by using
               the mouse.  This action also causes the
               ToggleButton to be armed.  A shadow is drawn
               around the ToggleButton.  The callbacks for
               XmNarmCallback are also called.

          <Btn3Up>:
               (if unset):  This action selects the ToggleButton
               widget.  The indicator shadow is drawn so that it
               looks depressed, and the indicator fills with the
               color specified in XmNselectColor. The menu is
               then unposted and the callbacks for
               XmvalueChangedCallback are called, followed by
               callbacks for XmdisarmCallback.

               (if set):  This action unselects the ToggleButton
               widget.  The indicator shadow is drawn so that it
               looks raised, and the indicator fills with the
               background color.  The menu is then unposted and
               the callbacks for XmvalueChangedCallback are
               called, followed by callbacks for
               XmdisarmCallback.

          <Leave Window>:
               Pressing button 3 and moving the cursor out of the
               widget's window erases the shadow around the
               ToggleButton.  This event is ignored if keyboard
               traversal is enabled in the menu.



                                - 7 -





     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



          <Enter Window>:
               Pressing button 3 and moving the cursor into the
               widget's window draws a shadow around the
               ToggleButton.  This event is ignored if keyboard
               traversal is enabled in the menu.

          <Key>Return:
               If keyboard traversal is enabled in the menu, this
               event sets or unsets the ToggleButton.

               (if unset):  The ToggleButton gets set.  The
               indicator shadow is drawn so that looks depressed,
               and the indicator fills with the color specified
               in XmNselectColor.

               (if set):  The ToggleButton gets unset.  The
               indicator shadow is drawn so that it looks raised,
               and the indicator fills with the background color.

               For both set and unset cases, the menu is then
               unposted and the callbacks for
               XmvalueChangedCallback are called, followed by
               callbacks for XmdisarmCallback.


          Default Pulldown Menu System and OptionMenu System

          <Btn1Down>:
               This action disables keyboard traversal for the
               menu and returns the user to drag mode (the mode
               in which the menu is manipulated using the mouse).
               This action also arms the ToggleButton.  A shadow
               is drawn around the ToggleButton.  The callbacks
               for XmNarmCallback are also called.

          <Btn1Up>:
               (if unset):  This action selects the ToggleButton.
               The indicator shadow is drawn so that it looks
               depressed, and the indicator fills with the color
               specified in XmNselectColor.  The menu then
               unposts, and the callbacks for
               XmvalueChangedCallback are called, followed by
               callbacks for XmdisarmCallback.

               (if set):  This action unselects the ToggleButton.
               The indicator shadow is drawn so that it looks
               raised, and the indicator fills with the
               background color.  The menu then unposts, and the
               callbacks for XmvalueChangedCallback are called,
               followed by callbacks for XmdisarmCallback.

          <Leave Window>:



                                - 8 -





     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



               Pressing button one and moving the cursor out of
               the widget's window erases the shadow around the
               ToggleButton.  This event is ignored if keyboard
               traversal is enabled in the menu.

          <Enter Window>:
               Pressing button one and moving the cursor into the
               widget's window draws a shadow around the
               ToggleButton.  This event is ignored if keyboard
               traversal is enabled in the menu.

          <Key>Return:
               This event sets or unsets the ToggleButton if
               keyboard traversal is enabled in the menu.

               (if unset): The ToggleButton gets set.  The
               indicator shadow is drawn so that it looks
               depressed, and the indicator fills with the color
               specified in XmNselectColor.

               (if set):  The ToggleButton gets unset.  The
               indicator shadow is drawn so that it looks raised,
               and the indicator fills with the background color.

               For both set and unset cases, the menu then
               unposts, and the callbacks for
               XmvalueChangedCallback are called, followed by
               callbacks for XmdisarmCallback.


        Default Translations
          When not in a menu system, the following are the default translations:

          <Btn1Down>:    Arm()
          <Btn1Up>:      Select()
                         Disarm()
          <Key>Return:   ArmAndActivate()
          <Key>space:    ArmAndActivate()
          <EnterWindow>: Enter()
          <LeaveWindow>: Leave()

          When in a menu system, the following are the default translations:
          <BtnDown>:     BtnDown()
          <BtnUp>:       BtnUp()
          <EnterWindow>: Enter()
          <LeaveWindow>: Leave()
          <Key>Return:   KeySelect()
          <Key>Escape:   MenuShellPopdownDone()


        Keyboard Traversal
          When in a menu system, the following translations are



                                - 9 -





     XmToggleButton(3Xm)                      XmToggleButton(3Xm)



          added to ToggleButton.

          <Unmap>:       Unmap()
          <FocusOut>:    FocusOut()
          <FocusIn>:     FocusIn()
          <Key>space:    Noop()
          <Key>Left:     MenuTraverseLeft()
          <Key>Right:    MenuTraverseRight()
          <Key>Up:       MenuTraverseUp()
          <Key>Down:     MenuTraverseDown()
          <Key>Home:     Noop()

          For information on keyboard traversal when not in a
          menu, see the man page for XmPrimitive(3X) and its
          sections on behavior and default translations.


     RELATED INFORMATION
          Core(3X), XmCreateToggleButton(3X), XmLabel(3X),
          XmPrimitive(3X), XmRowColumn(3X),
          XmToggleButtonGetState(3X), and
          XmToggleButtonSetState(3X).

































                                - 10 -



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