Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — MultiPersonal System R32V2

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     XmToggleButtonGadget(3Xm)          XmToggleButtonGadget(3Xm)



     NAME
          XmToggleButtonGadget - the ToggleButtonGadget widget
          class.


     AES SUPPORT LEVEL
          full-use

     SYNOPSIS
          #include <Xm/ToggleBG.h>


     DESCRIPTION
          ToggleButtonGadget sets nontransitory state data within
          an application.  Usually this gadget 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.

          ToggleButtonGadget implies a selected or unselected
          state.  In the case of a label and an indicator, an
          empty indicator (square or diamond shaped) indicates
          that ToggleButtonGadget 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 ToggleButtonGadget 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
          ToggleButtonGadget inherits behavior and resources from
          Object, RectObj, XmGadget and XmLabelGadget classes.

          The class pointer is xmToggleButtonGadgetClass.

          The class name is XmToggleButtonGadget.





                                - 1 -





     XmToggleButtonGadget(3Xm)          XmToggleButtonGadget(3Xm)



        New Resources
          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).

                                             XmToggleButtonGadget 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 a list of callbacks that is called when
               the ToggleButtonGadget is armed. To arm this
               gadget, press the active mouse button while the
               pointer is inside the ToggleButtonGadget. For this
               callback, the reason is XmCR_ARM.

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




                                - 2 -





     XmToggleButtonGadget(3Xm)          XmToggleButtonGadget(3Xm)



          XmNfillOnSelect
               Fills the indicator with the color specified in
               XmNselectColor and switches the top and bottom
               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
               gadget are not switched.  However, if
               XmNindicatorOn is False, any shadows around the
               entire gadget 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 ToggleButtonGadget 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 ToggleButtonGadget is selected and the button
               is insensitive if the LabelGadget resource
               XmNlabelType is XmPIXMAP.  If the
               ToggleButtonGadget is unselected and the button is
               insensitive, the pixmap in
               XmNlabelInsensitivePixmap is used as the button
               face.




                                - 3 -





     XmToggleButtonGadget(3Xm)          XmToggleButtonGadget(3Xm)



          XmNselectPixmap
               Specifies the pixmap to be used as the button face
               if XmNlabelType is XmPIXMAP and the
               ToggleButtonGadget is selected. When the
               ToggleButtonGadget is unselected, 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 a list of callbacks that is called when
               the ToggleButtonGadget value is changed.  To
               change the value, press and release the active
               mouse button while the pointer is inside the
               ToggleButtonGadget.  This action also causes the
               gadget 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 ToggleButtonGadget is in a menu,
               the RowColumn parent forces this resource to
               False.  When the ToggleButtonGadget is in a
               RadioBox, the parent forces this resource to True.


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

                                               XmLabelGadget 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




                                - 4 -





     XmToggleButtonGadget(3Xm)          XmToggleButtonGadget(3Xm)



          XmNlabelType                XmCLabelType                unsigned char   XmSTRING               CSG
          XmNmarginBottom             XmCMarginBottom             short           0                      CSG
          XmNmarginHeight             XmCMarginHeight             short           2                      CSG
          XmNmarginLeft               XmCMarginLeft               short           dynamic                CSG
          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

                                        XmGadget Resource Set
          Name                    Class                   Type             Default   Access

          _________________________________________________________________________________
          XmNhelpCallback         XmCCallback             XtCallbackList   NULL      C
          XmNhighlightOnEnter     XmCHighlightOnEnter     Boolean          False     CSG
          XmNhighlightThickness   XmCHighlightThickness   short            0         CSG
          XmNshadowThickness      XmCShadowThickness      short            0         CSG
          XmNtraversalOn          XmCTraversalOn          Boolean          False     CSG
          XmNuserData             XmCUserData             caddr_t          NULL      CSG

                                      RectObj Resource Set
          Name                   Class            Type        Default            Access
          _____________________________________________________________________________
          XmNancestorSensitive   XmCSensitive     Boolean     XtCopyFromParent   CSG
          XmNborderWidth         XmCBorderWidth   Dimension   0                  CSG
          XmNheight              XmCHeight        Dimension   0                  CSG
          XmNsensitive           XmCSensitive     Boolean     True               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
          {
            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 ToggleButtonGadget's current state
                 when the callback occurred, either True
                 (selected) or False (unselected).



                                - 5 -





     XmToggleButtonGadget(3Xm)          XmToggleButtonGadget(3Xm)



        Behavior
          ToggleButtonGadget 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
               ToggleButtonGadget.  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
               ToggleButtonGadget.  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
               ToggleButtonGadget.  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
               ToggleButtonGadget.  Visually, it appears the same
               as when it is armed.  The callbacks for
               XmvalueChangedCallback are called, followed by
               callbacks for XmdisarmCallback.

               (Outside Of Button):

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

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

          <Enter Window>:
               If the button is pressed and the cursor leaves and



                                - 6 -





     XmToggleButtonGadget(3Xm)          XmToggleButtonGadget(3Xm)



               reenters the gadget, 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
               ToggleButtonGadget to be armed.  A shadow is drawn
               around the ToggleButtonGadget.  The callbacks for
               XmNarmCallback are also called.

          <Btn3Up>:
               (if unset):  This action selects the
               ToggleButtonGadget.  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
               ToggleButtonGadget.  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 two and moving the cursor out of
               the widget's window erases the shadow around the
               ToggleButtonGadget.  This event is ignored if
               keyboard traversal is enabled in the menu.

          <Enter Window>:
               Pressing button two and moving the cursor into the
               widget's window draws a shadow around the
               ToggleButtonGadget.  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 ToggleButtonGadget.

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



                                - 7 -





     XmToggleButtonGadget(3Xm)          XmToggleButtonGadget(3Xm)



               (if set):  The ToggleButtonGadget 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 PulldownMenu 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 ToggleButtonGadget.  A
               shadow is drawn around the ToggleButtonGadget.
               The callbacks for XmNarmCallback are also called.

          <Btn1Up>:
               (if unset):  This action selects the
               ToggleButtonGadget.  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
               ToggleButtonGadget.  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>:
               Pressing button one and moving the cursor out of
               the widget's window erases the shadow around the
               ToggleButtonGadget.  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
               ToggleButtonGadget.  This event is ignored if
               keyboard traversal is enabled in the menu.

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



                                - 8 -





     XmToggleButtonGadget(3Xm)          XmToggleButtonGadget(3Xm)



               (if unset): The ToggleButtonGadget 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 ToggleButtonGadget 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.

        Keyboard Traversal
          For information on keyboard traversal when not in a
          menu system, see the man page for XmGadget(3X) and its
          sections on behavior and default translations. When the
          ToggleButtonGadget is in a menu system, the keyboard
          traversal translations are defined by the RowColumn
          parent.


     RELATED INFORMATION
          Object(3X), RectObj(3X),
          XmCreateToggleButtonGadget(3X), XmGadget(3X),
          XmLabelGadget(3X), XmRowColumn(3X),
          XmToggleButtonGadgetGetState(3X), and
          XmToggleButtonGadgetSetState(3X).


























                                - 9 -



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