Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XmDrawnButton(3)	    Library Functions Manual		XmDrawnButton(3)

NAME
     XmDrawnButton -- The DrawnButton widget class

SYNOPSIS
     #include <Xm/DrawnB.h>

DESCRIPTION
     The  DrawnButton  widget consists of an empty widget window surrounded by a
     shadow border. It provides the application developer with a  graphics  area
     that can have PushButton input semantics.

     Callback  types  are defined for widget exposure and widget resize to allow
     the application to redraw or reposition its graphics.  If	the  DrawnButton
     widget  has  a  highlight	and shadow thickness, the application should not
     draw in that area.  To avoid drawing in the highlight and shadow area, cre-
     ate the graphics context with a clipping rectangle for drawing in the  wid-
     get.   The clipping rectangle should take into account the size of the wid-
     get's highlight thickness and shadow.  DrawnButton uses the  XmQTmenuSystem
     and XmQTspecifyRenderTable traits, and holds the XmQTactivatable trait.

   Classes
     DrawnButton  inherits behavior, resources, and traits from the Core, Primi-
     tive, and XmLabel classes.

     The class pointer is xmDrawnButtonWidgetClass.

     The class name is XmDrawnButton.

   New Resources
     The following table defines a set of widget resources used by the	program-
     mer  to  specify  data. The programmer can also set the resource values for
     the inherited classes to set attributes for this widget. To reference a re-
     source by name or by class in a .Xdefaults file, remove the XmN or XmC pre-
     fix 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 lowercase or uppercase, but include any underscores  be-
     tween  words).   The  codes  in the access column indicate if the given re-
     source can be set at creation time (C), set by using XtSetValues  (S),  re-
     trieved by using XtGetValues (G), or is not applicable (N/A).

     +--------------------------------------------------------------------------------------------+
     |			    |	       XmDrawnButton Resource Set   |			 |	  |
     | Name		    | Class		   | Type	    | Default		 | Access |
     +----------------------+----------------------+----------------+--------------------+--------+
     | XmNactivateCallback  | XmCCallback	   | XtCallbackList | NULL		 | C	  |
     +----------------------+----------------------+----------------+--------------------+--------+
     | XmNarmCallback	    | XmCCallback	   | XtCallbackList | NULL		 | C	  |
     +----------------------+----------------------+----------------+--------------------+--------+
     | XmNdisarmCallback    | XmCCallback	   | XtCallbackList | NULL		 | C	  |
     +----------------------+----------------------+----------------+--------------------+--------+
     | XmNexposeCallback    | XmCCallback	   | XtCallbackList | NULL		 | C	  |
     +----------------------+----------------------+----------------+--------------------+--------+
     | XmNmultiClick	    | XmCMultiClick	   | unsigned char  | dynamic		 | CSG	  |
     +----------------------+----------------------+----------------+--------------------+--------+
     | XmNpushButtonEnabled | XmCPushButtonEnabled | Boolean	    | False		 | CSG	  |
     +----------------------+----------------------+----------------+--------------------+--------+
     | XmNresizeCallback    | XmCCallback	   | XtCallbackList | NULL		 | C	  |
     +----------------------+----------------------+----------------+--------------------+--------+
     | XmNshadowType	    | XmCShadowType	   | unsigned char  | XmSHADOW_ETCHED_IN | CSG	  |
     +----------------------+----------------------+----------------+--------------------+--------+
     +----------------------+----------------------+----------------+--------------------+--------+

     XmNactivateCallback
	       Specifies  the  list  of callbacks that is called when the widget
	       becomes selected.  The reason sent by the callback is  XmCR_ACTI-
	       VATE.  This callback uses the XmQTactivatable trait.

     XmNarmCallback
	       Specifies  the  list  of callbacks that is called when the widget
	       becomes armed.  The reason sent by the callback is XmCR_ARM.

     XmNdisarmCallback
	       Specifies the list of callbacks that is called  when  the  widget
	       becomes	disarmed.   The reason sent by the callback is XmCR_DIS-
	       ARM.

     XmNexposeCallback
	       Specifies the list of callbacks that is called  when  the  widget
	       receives  an  exposure event.  The reason sent by the callback is
	       XmCR_EXPOSE.

     XmNmultiClick
	       If a button click is followed by another button click within  the
	       time  span  specified  by the display's multiclick time, and this
	       resource is set to XmMULTICLICK_DISCARD, the second click is  not
	       processed.   If	this  resource	is set to XmMULTICLICK_KEEP, the
	       event is processed and click_count is incremented in the callback
	       structure.  When the button is not in a menu, the  default  value
	       is XmMULTICLICK_KEEP.

     XmNpushButtonEnabled
	       Enables	or disables the 3-dimensional shadow drawing as in Push-
	       Button.

     XmNresizeCallback
	       Specifies the list of callbacks that is called  when  the  widget
	       receives  a  resize  event.   The  reason sent by the callback is
	       XmCR_RESIZE. The event returned for this callback is NULL.

     XmNshadowType
	       Describes the drawing style for the  DrawnButton.  This	resource
	       can have the following values:

	       XmSHADOW_IN
			 Draws the DrawnButton so that the shadow appears inset.
			 This  means  that  the  bottom  shadow  visuals and top
			 shadow visuals are reversed.

	       XmSHADOW_OUT
			 Draws the DrawnButton so that the shadow  appears  out-
			 set.

	       XmSHADOW_ETCHED_IN
			 Draws	the  DrawnButton using a double line. This gives
			 the effect of a line etched into the window. The thick-
			 ness of the double line is equal to the value	of  XmN-
			 shadowThickness.

	       XmSHADOW_ETCHED_OUT
			 Draws	the  DrawnButton using a double line. This gives
			 the effect of a line coming  out  of  the  window.  The
			 thickness  of	the double line is equal to the value of
			 XmNshadowThickness.

   Inherited Resources
     DrawnButton inherits behavior and resources from the superclasses described
     in the following tables.  For a complete description of each resource,  re-
     fer to the reference page for that superclass.

     +-------------------------------------------------------------------------------------------------------------+
     |				 |		  XmLabel Resource Set		 |			  |	   |
     | Name			 | Class		     | Type		 | Default		  | Access |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNaccelerator		 | XmCAccelerator	     | String		 | NULL 		  | N/A    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNacceleratorText	 | XmCAcceleratorText	     | XmString 	 | NULL 		  | N/A    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNalignment		 | XmCAlignment 	     | unsigned char	 | dynamic		  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNfontList		 | XmCFontList		     | XmFontList	 | dynamic		  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNlabelInsensitivePixmap | XmCLabelInsensitivePixmap | Pixmap		 | XmUNSPECIFIED_PIXMAP   | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNlabelPixmap		 | XmCLabelPixmap	     | Pixmap		 | XmUNSPECIFIED_PIXMAP   | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNlabelString		 | XmCXmString		     | XmString 	 | "\0" 		  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNlabelType		 | XmCLabelType 	     | unsigned char	 | XmSTRING		  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNmarginBottom		 | XmCMarginBottom	     | Dimension	 | 0			  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNmarginHeight		 | XmCMarginHeight	     | Dimension	 | 2			  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNmarginLeft		 | XmCMarginLeft	     | Dimension	 | 0			  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNmarginRight		 | XmCMarginRight	     | Dimension	 | 0			  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNmarginTop		 | XmCMarginTop 	     | Dimension	 | 0			  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNmarginWidth		 | XmCMarginWidth	     | Dimension	 | 2			  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNmnemonic		 | XmCMnemonic		     | KeySym		 | NULL 		  | N/A    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNmnemonicCharSet	 | XmCMnemonicCharSet	     | String		 | XmFONTLIST_DEFAULT_TAG | N/A    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNrecomputeSize 	 | XmCRecomputeSize	     | Boolean		 | True 		  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNrenderTable		 | XmCRenderTable	     | XmRenderTable	 | dynamic		  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     | XmNstringDirection	 | XmCStringDirection	     | XmStringDirection | dynamic		  | CSG    |
     +---------------------------+---------------------------+-------------------+------------------------+--------+
     +---------------------------+---------------------------+-------------------+------------------------+--------+

     +----------------------------------------------------------------------------------------------------+
     |			       |	    XmPrimitive|Resource Set	  |			 |	  |
     | Name		       | Class		       | Type		  | Default		 | Access |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNbottomShadowColor    | XmCBottomShadowColor  | Pixel		  | dynamic		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNbottomShadowPixmap   | XmCBottomShadowPixmap | Pixmap 	  | XmUNSPECIFIED_PIXMAP | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNconvertCallback      | XmCCallback	       | XtCallbackList   | NULL		 | C	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNforeground	       | XmCForeground	       | Pixel		  | dynamic		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNhelpCallback	       | XmCCallback	       | XtCallbackList   | NULL		 | C	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNhighlightColor       | XmCHighlightColor     | Pixel		  | dynamic		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNhighlightOnEnter     | XmCHighlightOnEnter   | Boolean	  | False		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNhighlightPixmap      | XmCHighlightPixmap    | Pixmap 	  | dynamic		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNhighlightThickness   | XmCHighlightThickness | Dimension	  | 2			 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNlayoutDirection      | XmCLayoutDirection    | XmDirection	  | dynamic		 | CG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNnavigationType       | XmCNavigationType     | XmNavigationType | XmNONE		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNpopupHandlerCallback | XmCCallback	       | XtCallbackList   | NULL		 | C	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNshadowThickness      | XmCShadowThickness    | Dimension	  | 2			 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNtopShadowColor       | XmCTopShadowColor     | Pixel		  | dynamic		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNtopShadowPixmap      | XmCTopShadowPixmap    | Pixmap 	  | dynamic		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNtraversalOn	       | XmCTraversalOn        | Boolean	  | True		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNunitType	       | XmCUnitType	       | unsigned char	  | dynamic		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     | XmNuserData	       | XmCUserData	       | XtPointer	  | NULL		 | CSG	  |
     +-------------------------+-----------------------+------------------+----------------------+--------+
     +-------------------------+-----------------------+------------------+----------------------+--------+

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

   Callback Information
     A pointer to the following structure is passed to each callback:

     typedef struct
     {
	     int reason;
	     XEvent * event;
	     Window window;
	     int click_count;
     } XmDrawnButtonCallbackStruct;

     reason    Indicates why the callback was invoked.

     event     Points  to  the XEvent that triggered the callback.  This is NULL
	       for XmNresizeCallback.

     window    Is set to the window ID in which the event occurred.

     click_count
	       Contains the number of clicks in the last multiclick sequence  if
	       the XmNmultiClick resource is set to XmMULTICLICK_KEEP, otherwise
	       it  contains  1.  The activate callback is invoked for each click
	       if XmNmultiClick is set to XmMULTICLICK_KEEP.

   Translations
     XmDrawnButton includes translations from Primitive.  Additional XmDrawnBut-
     ton translations are described in the following list.   The  following  key
     names  are  listed  in  the  X standard key event translation table syntax.
     This format is the one used by Motif to specify the widget  actions  corre-
     sponding  to a given key.	A brief overview of the format is provided under
     VirtualBindings(3).  For a complete description of the format, please refer
     to the X Toolkit Instrinsics Documentation.

     c<Btn1Down>:
	       ButtonTakeFocus()

     ~c<Btn1Down>:
	       Arm()

     ~c<Btn1Down>,~c<Btn1Up>:
	       Activate() Disarm()

     ~c<Btn1Down>(2+):
	       MultiArm()

     ~c<Btn1Up>(2+):
	       MultiActivate()

     ~c<Btn1Up>:
	       Activate() Disarm()

     :<Key><osfActivate>:
	       PrimitiveParentActivate()

     :<Key><osfCancel>:
	       PrimitiveParentCancel()

     :<Key><osfSelect>:
	       ArmAndActivate()

     :<Key><osfHelp>:
	       Help()

     ~s ~m ~a <Key>Return:
	       PrimitiveParentActivate()

     ~s ~m ~a <Key>space:
	       ArmAndActivate()

   Action Routines
     The XmDrawnButton action routines are

     Activate():
	       If XmNpushButtonEnabled is True, redraws the shadow in the  unse-
	       lected state; otherwise, redraws the shadow according to XmNshad-
	       owType.	If the pointer is within the DrawnButton, calls the XmN-
	       activateCallback callbacks.

     Arm():    If  XmNpushButtonEnabled  is  True, redraws the shadow in the se-
	       lected state; otherwise, redraws the shadow according to XmNshad-
	       owType.	Calls the callbacks for XmNarmCallback.

     ArmAndActivate():
	       If XmNpushButtonEnabled is True, redraws the shadow  in	the  se-
	       lected state; otherwise, redraws the shadow according to XmNshad-
	       owType.	Calls the callbacks for XmNarmCallback.

	       If XmNpushButtonEnabled is True, the shadow is redrawn in the un-
	       selected  state;  otherwise,  the  shadow is redrawn according to
	       XmNshadowType.  The callbacks for XmNactivateCallback and XmNdis-
	       armCallback are called.	These actions happen either  immediately
	       or at a later time.

     ButtonTakeFocus():
	       Causes  the PushButton to take keyboard focus when Ctrl<Btn1Down>
	       is pressed, without activating the widget.

     Disarm(): Marks the DrawnButton as unselected and calls the  callbacks  for
	       XmNdisarmCallback.

     Help():   Calls  the  callbacks for XmNhelpCallback if any exist.	If there
	       are no help callbacks for this widget, this action calls the help
	       callbacks for the nearest ancestor that has them.

     MultiActivate():
	       If XmNmultiClick is XmMULTICLICK_DISCARD, this action does  noth-
	       ing.

	       If  XmNmultiClick  is  XmMULTICLICK_KEEP,  this action increments
	       click_count in the callback structure.	If  XmNpushButtonEnabled
	       is  True, this action redraws the shadow in the unselected state;
	       otherwise, it redraws the shadow according to XmNshadowType.   If
	       the pointer is within the DrawnButton, this action calls the XmN-
	       activateCallback callbacks and calls the callbacks for XmNdisarm-
	       Callback.

     MultiArm():
	       If  XmNmultiClick is XmMULTICLICK_DISCARD, this action does noth-
	       ing.

	       If XmNmultiClick is XmMULTICLICK_KEEP and if XmNpushButtonEnabled
	       is True, this action redraws the shadow in  the	selected  state;
	       otherwise,  it  redraws the shadow according to XmNshadowType and
	       calls the callbacks for XmNarmCallback.

   Additional Behavior
     This widget has the following additional behavior:

     <EnterWindow>:
	       Draws the shadow in its selected state if XmNpushButtonEnabled is
	       True and if the cursor leaves and re-enters the window while BSe-
	       lect is pressed.

     <LeaveWindow>:
	       Draws the shadow in its unselected state if  XmNpushButtonEnabled
	       is  True  and  if  the  cursor leaves the window while BSelect is
	       pressed.

   Virtual Bindings
     The bindings for virtual keys are vendor specific.  For  information  about
     bindings for virtual buttons and keys, see VirtualBindings(3).

RELATED
     Core(3), XmCreateDrawnButton, XmLabel(3), XmPrimitive(3), XmPushButton, Xm-
     Separator(3), XmVaCreateDrawnButton, XmVaCreateManagedDrawnButton.

								XmDrawnButton(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=XmDrawnButton&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help