ExmSimple — The Simple widget class demonstration widget
#include <Exm/Simple.h> |
ExmSimple is a demonstration widget. OSF provides this widget solely to teach programmers how to write their own Motif widgets. OSF does not support this widget in any way.
The source code for the ExmSimple widget illustrates how to do the following:
Use Xlib drawing functions to render a simple visual inside a Motif widget
Create a primitive widget that can serve as a superclass for other Motif widgets
Create a Motif representation type
Install the XmQTcontainerItem trait and define its trait methods
Install the XmQTcareParentVisual trait and define its trait method
ExmSimple is an instantiable widget and is also used as a superclass for other widgets, such as ExmString and ExmPanner.
ExmSimple displays a simple visual. The value of the ExmNsimpleShape resource determines whether this visual is a rectangle or an oval. Note that none of the Exm subclasses of ExmSimple display this visual. That is, none of the Exm subclasses of ExmSimple inherit the draw_visual method of ExmSimple.
When ExmSimple is insensitive, the visual has a stippled appearance.
ExmSimple displays its visual in the center of the widget. A margin region lies between the the window decorations and the visual. The dimensions of the margin region are determined by the values of the XmNmarginWidth and XmNmarginHeight resources. An application cannot directly control the size of the visual; ExmSimple will automatically set the visual size so that it fits snugly inside the margin region.
The help callback is the only callback supported.
ExmSimple inherits behavior and resources from Core and XmPrimitive.
The class pointer is exmSimpleWidgetClass.
The class name is ExmSimple.
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, ExmN, XmC or ExmC prefix and use the remaining letters. To specify one of the defined values for a resource in a .Xdefaults file, remove the Xm or Exm prefix and use the remaining letters (in either lowercase or uppercase, 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).
ExmSimple Resource Set | ||||
Name | Class | Type | Default | Access |
ExmNsimpleShape | ExmCSimpleShape | unsigned char | ExmSHAPE_OVAL | CSG |
XmNmarginHeight | XmCMarginHeight | Dimension | 4 | CSG |
XmNmarginWidth | XmCMarginWidth | Dimension | 4 | CSG |
ExmNsimpleShape | Specifies the shape to be displayed in the widget. The two possible values for this resource are ExmSHAPE_OVAL and ExmSHAPE_RECTANGLE. The ExmSHAPE_OVAL (the default) causes ExmSimple to display an oval and the ExmSHAPE_RECTANGLE causes ExmSimple to display a rectangle. | |
XmNmarginHeight | Specifies the distance between the inside top edge of the window decorations and the outside top edge of the graphics (the oval or rectangle). This resource also specifies the distance between the inside bottom edge of the window decorations and the outside bottom edge of the graphics. If the widget is not big enough to display both the graphics and the margin, the widget will reduce the margin height. | |
XmNmarginWidth | Specifies the distance between the inside left edge of the window decorations and the outside left edge of the graphics (the oval or rectangle). This resource also specifies the distance between the inside right edge of the window decorations and the outside right edge of the graphics. If the widget is not big enough to display both the graphics and the margin, the widget will reduce the margin width. |
ExmSimple inherits behavior and resources from the following superclasses. For a complete description of each resource, refer to the reference page for that superclass.
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 |
ExmSimple inherits all the translations of XmPrimitive. ExmSimple does not provide any additional translations beyond those defined by XmPrimitive.
ExmSimple provides no action routines of its own.
Core(3) and XmPrimitive(3).