Provided by: libmotif-dev_2.3.4-10_amd64 bug


       XmIconButton - The Icon Button widget


       Documents the XmIconButton widget


       The Icon Button widget is a selectable area of the screen that contains both a label and a
       string.  When  the  user  selects  this  button  with  the  OSF/Motif  select  button  its
       activateCallback  is  called. This widget can also be used as a Toggle button, although it
       will have no indicator. The placement of the icon relative to the text can be modified  by
       using the iconPlacement resource.

       Note: This widget takes a String as its label, not an XmString, so there is no need to use
       XmStringCreate to get a properly formatted string. Internationalized text is not currently

Normal Resources

       Name                  Class             Type                  Initial Value
       activateCallback      Callback          Callback              NULL
       alignment             Alignment         Alignment             XmALIGNMENT_
       armColor              ArmColor          Pixel                 <dynamic>
       doubleClickCallback   Callback          Callback              NULL
       fontList              FontList          FontList              fixed
       horizontalMargin      Space             HorizontalDimension   2
       iconTextPadding       Space             VerticalDimension     2
       iconPlacement         IconPlacement     IconPlacement         XmIconTop
       label                 Label             String                Widget name
       labelString           LabelString       XmString              Widget name
       pixmap                Pixmap            Pixmap                None
       recomputeSize         Boolean           Boolean               True
       set                   Boolean           Boolean               False
       stringDirection       StringDirection   StringDirection       XmSTRING_
       verticalMargin        Space             VerticalDimension     2

       All resource names begin with XmN and all resource class names begin with XmC.


       This  list  of  callback  routines is called whenever the icon button is clicked on by the
       user. The format of the callback routines is specified below.


       This is the pixel index that describes the color to fill the widget with when it is set.


       This list of callback routines is called whenever the user double clicks on  this  widget.
       The format of the callback routines is specified below.


       The default font in this list is used to render the label string of the icon button.



       The  amount  of  space  to  be  left between the edge of the shadow and the text or pixmap
       displayed. The vertical and horizontal spacing can be controlled independently.


       The amount of space to be left between the pixmap and the label string.


       The location of the pixmap (icon) with respect to the displayed text.  This  resource  can
       take  one  of  the  following  values:  XmIconTop,  XmIconBottom, XmIconLeft, XmIconRight,
       XmIconNone, and XmIconOnly. A  type  converter  has  been  registered  that  converts  the
       following strings: "top", "bottom", "left", "right", "none", and "iconOnly".

       If  only a string is displayed in the Icon Button, this resource can be used to change the
       justification  of  the  label.   XmIconTop=bottom,   XmIconBottom=top,   XmIconRight=Left,
       XmIconLeft=Right,  XmIconNone=Center. In order to use these options, pixmap must be set to


       The string to display in this button. This string can only have one font, but can  be  any
       number  of  lines long. Use the NEW_LINE character ( '0 ) to separate lines. This resource
       has been superceded by labelString,  but  is  included  for  backwards  compatibility.  If
       XmNlabelString is set , XmNlabel is ignored


       Specifies  the  compound  string to be displayed in the button. If this value is NULL, the
       value of XmNlabel is used. If both are NULL, labelString is initialized by converting  the
       name  of  the  widget  to  a  compound  string.  Refer  to  XmString(3X)  in the OSD/Motif
       Programmers' Reference for more information on the  creation  and  structure  of  compound


       The  pixmap  to  display. This pixmap may either be of depth one (1), or the same depth as
       the screen this widget is being  displayed  on.  If  the  pixmap  is  of  depth  one  then
       XCopyPlane  is  used  to render the pixmap in the foreground and background colors. If the
       pixmap is not of depth one then XCopyArea is used and  all  the  original  colors  of  the
       pixmap  are  preserved.  Unlike  the  Motif  PushButton widget the pixmap is automatically
       stippled when the Icon Button becomes insensitive.


       If this Boolean value is True then the icon button will ask its parent to resize it to  be
       just  large  enough to contain the pixmap, label and shadows. If it is False then the icon
       button will not attempt a resize.


       This Boolean value represents the current state of the icon button. If this value is  True
       then  the  icon  button  is set and is rendered as depressed. Otherwise it is unset and is
       rendered normally.


       Specifies the direction in which the string is to be drawn. XmNSTRING_DIRECTION_L_TO_R  is
       drawn  left to right, while XmNSTRING_DIRECTION_R_TO_L is drawn right to left. The default
       for this resource is determined at creation time.  If  no  value  is  specified  for  this
       resource  and  the  widget's  parent is a manager, the value is inherited from the parent;
       otherwise, it defaults to XmNSTRING_DIRECTION_L_TO_R.

Callback Routines

       Whenever the user selects the icon button the activate callbacks  will  be  called.  When-
       ever the user double clicks on this widget the first click will call the activateCallback,
       and if the second occurs within MultiClickTime  it  will  call  the  doubleClickCallback..
       These callbacks have the following parameters:

       void (activate_callback)(Widget w, XtPointer client_data, XtPointer call_data)

       w              the Icon Button widget

       client_data    the client data specified by the application

       call_data      a pointer to an XmIconButtonCallbackInfo structure

       void (double_click_callback)(Widget w, XtPointer client_data, XtPointer call_data)

       w              the Icon Button widget

       client_data    the client data specified by the application

       call_data      a pointer to an XmIconButtonCallbackInfo structure

       All  procedures  on  the Icon Button's activateCallback and doubleClickCallback lists will
       have a pointer to an IconButtonCallbackInfo structure passed  to  them  in  the  call_data
       field.  This  structure  is  defined  in  the  Icon  Button widget's public header file as

       typedef struct _XmIconButtonCallbackInfo {

            Boolean state;   /* The current state of the icon button.*/

            XEvent * event;  /* The event that caused this action.*/

       } XmIconButtonCallbackInfo;

       state          the current state of the icon button. When this is used as  a  push  button
                      (the default) the state variable will always be True.

       event          the X Event that caused this action, see Translations and Actions below for
                      details on the events that can cause these callbacks to be called.

Convenience Routine

XmCreateIconButton - Widget creation convenience routine

       Widget XmCreateIconButton(
                      Widget parent,/* Widget id of parent for IconButton */
                      String name, /* Name of the created widget */
                      ArgList args,/* argument list */
                      Cardinal num_args/* number of items in argument list */

       Translations and Actions:

       The following are the default translation bindings used by the icon button:

       <Btn1Down>,<Btn1Up>:   XmToggle() XmNotify()
       <Btn1Down>(2):         XmDoubleNotify()
       <Btn1Down>:            XmGetFocus() XmToggle()
       <Key>osfSelect:        XmArmAndActivate()
       <Key>osfActivate:      XmArmAndActivate()
       None<Key>space:        XmArmAndActivate()
       None<Key>Return:       XmArmAndActivate()
       <Btn1Down>,<Leave>     XmToggle()

       The following actions are supported by the icon button:

       XmToggle()     Toggles the state of the icon button.

       XmNotify()     Calls all routines on activateCallback list.

       XmDoubleNotify()Calls all routines on the doubleClickCallback list.

       XmArmAndActivated()This action will arm the button, call the actions on the activateCallback
                      list, wait a fraction of a second and then disarm the button.

       To use this button as a toggle button rather than a push button, replace the default
       translation table with the following table.

       <Btn1Down>:         XmToggle() XmNotify()

       <Btn1Up>(2):        XmDoubleNotify()
       <Key>osfSelect:     XmToggle() XmNotify()
       <Key>osfActivate:   XmToggle() XmNotify()
       None<Key>space:     XmToggle() XmNotify()
       None<Key>Return:    XmToggle() XmNotify()


       Copyright (c) 1992 by Integrated Computer Solutions, Inc.

                                           15 July 1992                           XmIconButton(3)