[ Previous | Next | Contents | Glossary | Home | Search ]
Motif 2.1 Widget Writer's Guide


The TabButton widget class demonstration widget


#include <Exm/TabB.h>


ExmTabButton 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 ExmTabButton widget illustrates how to do the following:

  1. Use the XmQTjoinSide trait

  2. Use several Xme drawing functions

    ExmTabButton is an instantiable widget. ExmTabButton is a subclass of the ExmCommandButton widget, which is itself a subclass of the ExmString widget. Therefore, ExmTabButton inherits all of ExmString's resources for rendering compound strings.

    When a user activates an ExmTabButton widget, the widget calls the callback procedure associated with the XmNactivateCallback resource.

  3. Classes

    ExmTabButton inherits behavior and resources from Core, XmPrimitive, ExmSimple, ExmString, and ExmCommandButton.

    The class pointer is exmTabButtonWidgetClass.

    The class name is ExmTabButton.

    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, 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).

    ExmTabButton Resource Set
    Name Class Type Default Access
    ExmNopenSide ExmCOpenSide ExmROpenSide XmLEFT CSG

    Specifies the side of the child widget that is to be joined to the manager. ExmNopenSide must be one of the following: XmNONE, XmLEFT, XmRIGHT, XmTOP, or XmBOTTOM. For example, if ExmNopenSide is set to XmLEFT, then the left side of the ExmTabButton will be affixed to the right side of the manager widget. XmNONE specifies that the ExmTabButton will not be affixed to its parent. The parent of the ExmTabButton typically overrides the value of the ExmNopenSide resource.

    Inherited Resources

    TabButton inherits behavior and resources from the following superclasses. For a complete description of each resource, refer to the reference page for that superclass.

    ExmCommandButton Resource Set
    Name Class Type Default Access
    XmNactivateCallback XmCCallback XtCallbackList NULL C

    ExmString Resource Set
    Name Class Type Default Access
    ExmNcompoundString ExmCCompoundString XmString NULL CSG
    XmNalignment XmCAlignment unsigned char XmALIGNMENT_CENTER CSG
    XmNrecomputeSize XmCRecomputeSize Boolean True CSG
    XmNrenderTable XmCRenderTable XmRenderTable dynamic CSG

    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

    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


    ExmTabButton inherits all the translations of its superclass, ExmCommandButton. ExmTabButton does not provide any additional translations beyond those defined by ExmCommandButton.

    Action Routines

    ExmTabButton provides no action routines of its own.


    Core(3) and XmPrimitive(3).

    [ Previous | Next | Contents | Glossary | Home | Search ]