Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-11-15 10:00:51

0001 /* lib/Xm/Xm.h.  Generated from Xm.h.in by configure.  */
0002 /* 
0003  * Motif
0004  *
0005  * Copyright (c) 1987-2012, The Open Group. All rights reserved.
0006  *
0007  * These libraries and programs are free software; you can
0008  * redistribute them and/or modify them under the terms of the GNU
0009  * Lesser General Public License as published by the Free Software
0010  * Foundation; either version 2 of the License, or (at your option)
0011  * any later version.
0012  *
0013  * These libraries and programs are distributed in the hope that
0014  * they will be useful, but WITHOUT ANY WARRANTY; without even the
0015  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
0016  * PURPOSE. See the GNU Lesser General Public License for more
0017  * details.
0018  *
0019  * You should have received a copy of the GNU Lesser General Public
0020  * License along with these librararies and programs; if not, write
0021  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
0022  * Floor, Boston, MA 02110-1301 USA
0023 */ 
0024 /* $TOG: Xm.h /main/38 1999/10/18 14:50:22 samborn $ */
0025 
0026 #ifndef _Xm_h
0027 #define _Xm_h
0028 
0029 #ifndef OM22_COMPATIBILITY
0030 #define OM22_COMPATIBILITY 1
0031 #endif
0032 
0033 #ifndef JPEG_SUPPORTED
0034 #define JPEG_SUPPORTED 1
0035 #endif
0036 
0037 #ifndef PNG_SUPPORTED
0038 #define PNG_SUPPORTED 1
0039 #endif
0040 
0041 #ifndef UTF8_SUPPORTED
0042 #define UTF8_SUPPORTED 1
0043 #endif
0044 
0045 #ifndef PRINTING_SUPPORTED
0046 /* #undef PRINTING_SUPPORTED */
0047 #endif
0048 
0049 #ifndef USE_XFT
0050 #define USE_XFT 1
0051 #endif
0052  
0053 #if    !defined(__STDC__) \
0054     && !defined(__cplusplus) && !defined(c_plusplus) \
0055     && !defined(FUNCPROTO) && !defined(XTFUNCPROTO) && !defined(XMFUNCPROTO)
0056 #define _NO_PROTO
0057 #endif /* __STDC__ */
0058 
0059 #include <X11/Intrinsic.h>
0060 #include <X11/Shell.h>
0061 #include <X11/Xatom.h>
0062 #ifdef PRINTING_SUPPORTED
0063 #include <X11/extensions/Print.h>
0064 #endif
0065 #include <Xm/XmStrDefs.h>
0066 #include <Xm/XmStrDefs22.h>
0067 #include <Xm/XmStrDefs23.h>
0068 #include <Xm/VirtKeys.h>
0069 #include <Xm/Transfer.h>
0070 #include <Xm/Primitive.h>
0071 #include <Xm/Manager.h>
0072 #include <Xm/Gadget.h>
0073 
0074 #ifdef __cplusplus
0075 extern "C" {
0076 #endif
0077 
0078 #define XmVERSION   2
0079 #define XmREVISION  3
0080 #define XmUPDATE_LEVEL  8
0081 #define XmVersion   (XmVERSION * 1000 + XmREVISION)
0082 #define XmVERSION_STRING "@(#)Motif Version 2.3.8"
0083 
0084 externalref int xmUseVersion;
0085 
0086 
0087 /* define used to denote an unspecified pixmap  */
0088 
0089 #define XmUNSPECIFIED_PIXMAP        2
0090 
0091 /* define for an unspecified position */
0092 
0093 #define XmUNSPECIFIED_POSITION          -1
0094 
0095 /*******************
0096  *  
0097  * Defines for resources to be defaulted by vendors.
0098  * String are initialized in Xmos.c
0099  *
0100  ****************/
0101 
0102 #define XmSTRING_OS_CHARSET     XmSTRING_ISO8859_1
0103 #ifndef XmFALLBACK_CHARSET
0104 #define XmFALLBACK_CHARSET      XmSTRING_ISO8859_1
0105 #endif
0106 
0107 #define XmDEFAULT_FONT                  _XmSDEFAULT_FONT
0108 #define XmDEFAULT_BACKGROUND            _XmSDEFAULT_BACKGROUND
0109 #define XmDEFAULT_DARK_THRESHOLD        20
0110 #define XmDEFAULT_LIGHT_THRESHOLD       93
0111 #define XmDEFAULT_FOREGROUND_THRESHOLD  70
0112 
0113 externalref  char    _XmSDEFAULT_FONT[];            /* In Xmos.c */
0114 externalref  char    _XmSDEFAULT_BACKGROUND[];      /* In Xmos.c */
0115 
0116 typedef unsigned char   XmDirection;
0117 
0118 #define XmDIRECTION_IGNORED            0x30
0119 
0120 #define XmRIGHT_TO_LEFT_MASK           0x01 /* 0x01 for bc */
0121 #define XmLEFT_TO_RIGHT_MASK           0x02
0122 #define XmHORIZONTAL_MASK              0x03
0123 #define XmTOP_TO_BOTTOM_MASK           0x04
0124 #define XmBOTTOM_TO_TOP_MASK           0x08
0125 #define XmVERTICAL_MASK                0x0c
0126 #define XmPRECEDENCE_HORIZ_MASK        0x40
0127 #define XmPRECEDENCE_VERT_MASK         0x80
0128 #define XmPRECEDENCE_MASK              0xc0
0129 
0130 enum {
0131   XmRIGHT_TO_LEFT_TOP_TO_BOTTOM = 
0132       XmRIGHT_TO_LEFT_MASK | XmTOP_TO_BOTTOM_MASK | XmPRECEDENCE_HORIZ_MASK,
0133   XmLEFT_TO_RIGHT_TOP_TO_BOTTOM = 
0134       XmLEFT_TO_RIGHT_MASK | XmTOP_TO_BOTTOM_MASK | XmPRECEDENCE_HORIZ_MASK,
0135   XmRIGHT_TO_LEFT_BOTTOM_TO_TOP = 
0136       XmRIGHT_TO_LEFT_MASK | XmBOTTOM_TO_TOP_MASK | XmPRECEDENCE_HORIZ_MASK,
0137   XmLEFT_TO_RIGHT_BOTTOM_TO_TOP = 
0138       XmLEFT_TO_RIGHT_MASK | XmBOTTOM_TO_TOP_MASK | XmPRECEDENCE_HORIZ_MASK,
0139   XmTOP_TO_BOTTOM_RIGHT_TO_LEFT = 
0140       XmRIGHT_TO_LEFT_MASK | XmTOP_TO_BOTTOM_MASK | XmPRECEDENCE_VERT_MASK,
0141   XmTOP_TO_BOTTOM_LEFT_TO_RIGHT = 
0142       XmLEFT_TO_RIGHT_MASK | XmTOP_TO_BOTTOM_MASK | XmPRECEDENCE_VERT_MASK,
0143   XmBOTTOM_TO_TOP_RIGHT_TO_LEFT = 
0144       XmRIGHT_TO_LEFT_MASK | XmBOTTOM_TO_TOP_MASK | XmPRECEDENCE_VERT_MASK,
0145   XmBOTTOM_TO_TOP_LEFT_TO_RIGHT = 
0146       XmLEFT_TO_RIGHT_MASK | XmBOTTOM_TO_TOP_MASK | XmPRECEDENCE_VERT_MASK,
0147   XmTOP_TO_BOTTOM = 
0148       XmTOP_TO_BOTTOM_MASK | XmHORIZONTAL_MASK | XmPRECEDENCE_MASK,
0149   XmBOTTOM_TO_TOP = 
0150       XmBOTTOM_TO_TOP_MASK | XmHORIZONTAL_MASK | XmPRECEDENCE_MASK,
0151   XmRIGHT_TO_LEFT = 
0152       XmRIGHT_TO_LEFT_MASK | XmVERTICAL_MASK | XmPRECEDENCE_MASK,
0153   XmLEFT_TO_RIGHT = 
0154       XmLEFT_TO_RIGHT_MASK | XmVERTICAL_MASK | XmPRECEDENCE_MASK,
0155   XmDEFAULT_DIRECTION = 0xff
0156   };
0157 
0158 
0159 extern Boolean XmDirectionMatch(XmDirection d1, 
0160                 XmDirection d2);
0161 extern Boolean XmDirectionMatchPartial(XmDirection d1, 
0162                        XmDirection d2, 
0163                        XmDirection dmask);
0164 
0165 /****************
0166  *
0167  * XmString structure defines. These must be here (at the start of the file) 
0168  * becaused they are used later on.
0169  *
0170  ****************/
0171 typedef enum{ XmFONT_IS_FONT, XmFONT_IS_FONTSET, XmFONT_IS_XFT
0172           } XmFontType;
0173 
0174 enum { XmSTRING_DIRECTION_L_TO_R,
0175        XmSTRING_DIRECTION_R_TO_L,
0176        XmSTRING_DIRECTION_UNSET = 3,
0177        XmSTRING_DIRECTION_DEFAULT = XmDEFAULT_DIRECTION
0178        };
0179 
0180 typedef unsigned char   XmStringDirection;
0181 typedef union __XmStringRec *XmString;      /* opaque to outside */
0182 typedef XmString *  XmStringTable;      /* opaque to outside */
0183 typedef char *      XmStringCharSet;    /* Null term string */
0184 typedef char *      XmStringTag;        /* Null term string */
0185 typedef unsigned char   XmStringComponentType;  /* component tags */
0186 
0187 typedef struct __XmRenditionRec      **XmFontListEntry; /* opaque to outside */
0188 typedef struct __XmRenderTableRec    **XmFontList;      /* opaque to outside */
0189 typedef struct _XmFontListContextRec *XmFontContext;   /* opaque to outside */
0190 
0191 typedef struct __XmStringContextRec *_XmStringContext; /* opaque to outside */
0192 typedef union __XmStringRec        *_XmString;        /* opaque to outside */
0193 typedef struct __XmStringContextRec *XmStringContext;  /* opaque to outside */
0194 
0195 enum{   XmSTRING_COMPONENT_UNKNOWN,   XmSTRING_COMPONENT_CHARSET,
0196     XmSTRING_COMPONENT_TEXT,      XmSTRING_COMPONENT_DIRECTION,
0197         XmSTRING_COMPONENT_SEPARATOR,     XmSTRING_COMPONENT_LOCALE_TEXT,
0198     XmSTRING_COMPONENT_LOCALE,        XmSTRING_COMPONENT_WIDECHAR_TEXT,
0199     XmSTRING_COMPONENT_LAYOUT_PUSH,   XmSTRING_COMPONENT_LAYOUT_POP,
0200     XmSTRING_COMPONENT_RENDITION_BEGIN, XmSTRING_COMPONENT_RENDITION_END,
0201     XmSTRING_COMPONENT_TAB
0202     /* 13-125 reserved */
0203     } ;
0204 
0205 #define XmSTRING_COMPONENT_FONTLIST_ELEMENT_TAG XmSTRING_COMPONENT_CHARSET
0206 
0207 #define XmSTRING_COMPONENT_TAG      XmSTRING_COMPONENT_CHARSET
0208 
0209 #define XmSTRING_COMPONENT_END      ((XmStringComponentType) 126)
0210 
0211 #define XmSTRING_COMPONENT_USER_BEGIN   ((XmStringComponentType) 128)
0212             /* 128-255 are user tags */
0213 #define XmSTRING_COMPONENT_USER_END ((XmStringComponentType) 255)
0214 
0215 typedef enum {
0216     XmCHARSET_TEXT,         XmMULTIBYTE_TEXT,
0217     XmWIDECHAR_TEXT,                    XmNO_TEXT
0218     } XmTextType;
0219 
0220 typedef enum {
0221     XmOUTPUT_ALL,           XmOUTPUT_BETWEEN,
0222     XmOUTPUT_BEGINNING,         XmOUTPUT_END,
0223     XmOUTPUT_BOTH
0224     } XmParseModel;
0225 
0226 typedef unsigned char XmIncludeStatus;
0227 enum {
0228   XmINSERT, XmTERMINATE,    XmINVOKE
0229   };
0230 
0231 /* We are making an attempt (perhaps unnecessaryily) to keep our style
0232    constants the same as the equivalent Xlib style constants. The first
0233    Motif specific style constant starts at 32 so that the consortium can
0234    add constants to their list without overlapping with ours. */
0235 typedef enum {
0236     XmSTYLE_STRING = XStringStyle,
0237     XmSTYLE_COMPOUND_TEXT = XCompoundTextStyle,
0238     XmSTYLE_TEXT = XTextStyle,
0239     XmSTYLE_STANDARD_ICC_TEXT = XStdICCTextStyle,
0240     XmSTYLE_LOCALE = 32,
0241     XmSTYLE_COMPOUND_STRING
0242     } XmICCEncodingStyle;
0243 
0244 /****************
0245  *
0246  * XmParseTable structure defines. These must be here (at the start of
0247  * the file) because they are used later on.
0248  *
0249  ****************/
0250 
0251 typedef struct __XmParseMappingRec *XmParseMapping; /* opaque */
0252 typedef XmParseMapping             *XmParseTable;
0253 
0254 /* A special pattern used to match a change of character direction. */
0255 #define XmDIRECTION_CHANGE  NULL
0256 
0257 
0258 typedef XmIncludeStatus (*XmParseProc) (XtPointer     *in_out,
0259                     XtPointer      text_end,
0260                     XmTextType     type,
0261                     XmStringTag    locale_tag,
0262                     XmParseMapping entry,
0263                     int            pattern_length,
0264                     XmString      *str_include,
0265                     XtPointer      call_data);
0266 
0267 
0268 /****************
0269  *
0270  * XmTabList structure defines. These must be here (at the start of the file) 
0271  * becaused they are used later on.
0272  *
0273  ****************/
0274 typedef enum { 
0275   XmABSOLUTE,       XmRELATIVE
0276   } XmOffsetModel;
0277 
0278 typedef struct __XmTabRec   *XmTab;       /* opaque */
0279 typedef struct __XmTabListRec   *XmTabList;   /* opaque */
0280 
0281 
0282 /****************
0283  *
0284  * XmRenderTable structure defines. These must be here (at the start of the file) 
0285  * becaused they are used later on.
0286  *
0287  ****************/
0288 /* XmRendition declarations */
0289 typedef struct __XmRenditionRec     **XmRendition;   /* opaque */
0290 typedef struct __XmRenderTableRec   **XmRenderTable; /* opaque */
0291 
0292 typedef enum { 
0293   XmSKIP,       XmMERGE_REPLACE,
0294   XmMERGE_OLD,      XmMERGE_NEW, 
0295   XmDUPLICATE   /* For XmFontListAdd and XmFontListAppendEntry. */
0296   } XmMergeMode; 
0297 
0298 #define XmAS_IS         255
0299 #define XmFORCE_COLOR       1
0300 
0301 #define XmUNSPECIFIED_PIXEL  ((Pixel) (~0))
0302 #define XmDEFAULT_SELECT_COLOR   XmUNSPECIFIED_PIXEL    
0303 #define XmREVERSED_GROUND_COLORS (XmDEFAULT_SELECT_COLOR - 1)   
0304 #define XmHIGHLIGHT_COLOR        (XmREVERSED_GROUND_COLORS - 1) 
0305 
0306 enum { XmUNSPECIFIED_LOAD_MODEL, XmLOAD_DEFERRED, XmLOAD_IMMEDIATE }; 
0307 
0308 
0309 
0310 /************************************************************************
0311  *  Primitive Resources and define values
0312  ************************************************************************/
0313 
0314 /* size policy values  */
0315 
0316 enum{   XmCHANGE_ALL,           XmCHANGE_NONE,
0317     XmCHANGE_WIDTH,         XmCHANGE_HEIGHT
0318     } ;
0319 
0320 /*  unit type values  */
0321 
0322 enum{   XmPIXELS,           Xm100TH_MILLIMETERS,
0323     Xm1000TH_INCHES,        Xm100TH_POINTS,
0324     Xm100TH_FONT_UNITS,     XmINCHES,
0325         XmCENTIMETERS,                  XmMILLIMETERS,
0326         XmPOINTS,                       XmFONT_UNITS
0327     } ;
0328 
0329 /* DeleteResponse values */
0330 
0331 enum{   XmDESTROY,          XmUNMAP,
0332     XmDO_NOTHING
0333     } ;
0334 enum{   XmEXPLICIT,         XmPOINTER
0335     } ;
0336 /************************************************************************
0337  *  Navigation defines 
0338  ************************************************************************/
0339 
0340 enum{   XmNONE,             XmTAB_GROUP,
0341     XmSTICKY_TAB_GROUP,     XmEXCLUSIVE_TAB_GROUP
0342     } ;
0343 
0344 #define XmDYNAMIC_DEFAULT_TAB_GROUP (255)
0345 
0346 /************************************************************************
0347  * Audible warning
0348  ************************************************************************/
0349 
0350 enum{   /* XmNONE */            XmBELL = 1
0351     } ;
0352 
0353 /************************************************************************
0354  * Input Manager defines
0355  ************************************************************************/
0356 
0357 enum {
0358         XmPER_SHELL,            XmPER_WIDGET,
0359         XmINHERIT_POLICY = 255
0360     } ;
0361 
0362 typedef unsigned char XmInputPolicy;
0363 
0364 /************************************************************************
0365  *  Menu defines
0366  ************************************************************************/
0367 
0368 enum{   XmNO_ORIENTATION,       XmVERTICAL,
0369     XmHORIZONTAL
0370     } ;
0371 enum{   XmWORK_AREA,            XmMENU_BAR,
0372     XmMENU_PULLDOWN,        XmMENU_POPUP,
0373     XmMENU_OPTION
0374     } ;
0375 enum{   XmNO_PACKING,           XmPACK_TIGHT,
0376     XmPACK_COLUMN,          XmPACK_NONE
0377     } ;
0378 enum{/* XmALIGNMENT_BASELINE_TOP,   XmALIGNMENT_CENTER,
0379     XmALIGNMENT_BASELINE_BOTTOM, */ XmALIGNMENT_CONTENTS_TOP = 3,
0380     XmALIGNMENT_CONTENTS_BOTTOM
0381     } ;
0382 enum{   XmTEAR_OFF_ENABLED,     XmTEAR_OFF_DISABLED
0383     } ;
0384 enum{   XmUNPOST,           XmUNPOST_AND_REPLAY
0385     } ;
0386 enum{   XmLAST_POSITION = -1,           XmFIRST_POSITION
0387     } ;
0388 enum{   XmPOPUP_DISABLED = 0,   XmPOPUP_KEYBOARD = 1,
0389     XmPOPUP_AUTOMATIC,  XmPOPUP_AUTOMATIC_RECURSIVE };
0390 
0391 /************************************************************************
0392  *  Color Selector defines
0393  ************************************************************************/
0394 
0395 typedef enum { XmListMode = 0, XmScaleMode = 1 } XmColorMode;
0396 
0397 /************************************************************************
0398  *  Column defines
0399  ************************************************************************/
0400 
0401 enum { XmFILL_UNSPECIFIED, XmFILL_FLUSH, XmFILL_RAGGED };
0402 
0403 enum { XmDISTRIBUTE_TIGHT, XmDISTRIBUTE_SPREAD };
0404 
0405 /************************************************************************
0406  *  ComboBox defines
0407  ************************************************************************/
0408 
0409 enum{   XmCOMBO_BOX=0,      XmDROP_DOWN_COMBO_BOX,
0410     XmDROP_DOWN_LIST
0411     } ;
0412 
0413 enum{   /* XmNONE */ XmQUICK_NAVIGATE = 1, XmINVALID_MATCH_BEHAVIOR
0414     } ;
0415 
0416 enum{   XmZERO_BASED,       XmONE_BASED
0417         } ;
0418 
0419 #define XmINVALID_POSITION -1
0420 
0421 /************************************************************************
0422  *  Icon & Button Box defines
0423  ************************************************************************/
0424 typedef enum { XmIconTop, 
0425                XmIconLeft, 
0426                XmIconRight, 
0427                XmIconBottom,
0428                XmIconOnly, 
0429                XmIconNone } XmIconPlacement;
0430 
0431 typedef enum { XmFillNone, 
0432                XmFillMajor, 
0433                XmFillMinor, 
0434                XmFillAll } XmFillOption;
0435 
0436 /************************************************************************
0437  * Hierarchy/Tree/Outline defines
0438  ************************************************************************/
0439 typedef enum {XmAlwaysOpen, 
0440               XmOpen, 
0441               XmClosed, XmHidden,
0442           XmNotInHierarchy} XmHierarchyNodeState;
0443 
0444 typedef enum { XmTreeLadder, XmTreeDirect } XmTreeConnectStyle;
0445 
0446 typedef enum { XmTreeCompressNone=0, XmTreeCompressLeaves=1,
0447                XmTreeCompressAll=2 } XmTreeCompressStyle;
0448 
0449 /************************************************************************
0450  *  Label/Frame defines
0451  ************************************************************************/
0452 
0453 enum{   XmALIGNMENT_BEGINNING,      XmALIGNMENT_CENTER,
0454     XmALIGNMENT_END, XmALIGNMENT_UNSPECIFIED
0455     } ;
0456 enum{   XmALIGNMENT_BASELINE_TOP,    /* XmALIGNMENT_CENTER, */
0457     XmALIGNMENT_BASELINE_BOTTOM = 2, XmALIGNMENT_WIDGET_TOP,
0458     XmALIGNMENT_WIDGET_BOTTOM
0459     } ;
0460 /* new enum introduced in 2.0 to clear up the confusion in
0461    widget top/bottom attachment */
0462 #define XmALIGNMENT_CHILD_TOP XmALIGNMENT_WIDGET_BOTTOM
0463 #define XmALIGNMENT_CHILD_BOTTOM XmALIGNMENT_WIDGET_TOP
0464 
0465 /************************************************************************
0466  *  Frame defines
0467  ************************************************************************/
0468 
0469 enum{   XmFRAME_GENERIC_CHILD,          XmFRAME_WORKAREA_CHILD,
0470         XmFRAME_TITLE_CHILD
0471     } ;
0472 /************************************************************************
0473  *  ToggleButton  defines
0474  ************************************************************************/
0475 
0476 enum{   XmN_OF_MANY = 1,        XmONE_OF_MANY,
0477     XmONE_OF_MANY_ROUND,        XmONE_OF_MANY_DIAMOND
0478     } ;
0479 /************************************************************************
0480  *  Form defines
0481  ************************************************************************/
0482 
0483 enum{   XmATTACH_NONE,          XmATTACH_FORM,
0484     XmATTACH_OPPOSITE_FORM,     XmATTACH_WIDGET,
0485     XmATTACH_OPPOSITE_WIDGET,   XmATTACH_POSITION,
0486     XmATTACH_SELF
0487     } ;
0488 enum{   XmRESIZE_NONE,          XmRESIZE_GROW,
0489     XmRESIZE_ANY
0490     } ;
0491 
0492 /************************************************************************
0493  *  TabBox/TabStack defines
0494  ************************************************************************/
0495 
0496 typedef enum {XmTABS_SQUARED, XmTABS_ROUNDED, XmTABS_BEVELED} XmTabStyle;
0497 typedef enum {XmTABS_BASIC, XmTABS_STACKED, XmTABS_STACKED_STATIC,
0498               XmTABS_SCROLLED, XmTABS_OVERLAYED} XmTabMode;
0499 
0500 typedef enum {XmTAB_ORIENTATION_DYNAMIC, XmTABS_RIGHT_TO_LEFT,
0501               XmTABS_LEFT_TO_RIGHT, XmTABS_TOP_TO_BOTTOM,
0502               XmTABS_BOTTOM_TO_TOP} XmTabOrientation;
0503 
0504 typedef enum {XmTAB_EDGE_TOP_LEFT, XmTAB_EDGE_BOTTOM_RIGHT} XmTabEdge;
0505 
0506 typedef enum {XmTAB_ARROWS_ON_RIGHT, XmTAB_ARROWS_ON_LEFT,
0507               XmTAB_ARROWS_SPLIT} XmTabArrowPlacement;
0508 
0509 enum {XmCR_TAB_SELECTED, XmCR_TAB_UNSELECTED};
0510 
0511 typedef enum {XmTABS_ON_TOP, XmTABS_ON_BOTTOM, XmTABS_ON_RIGHT,
0512               XmTABS_ON_LEFT} XmTabSide;
0513 
0514 typedef enum {XmPIXMAP_TOP, XmPIXMAP_BOTTOM, XmPIXMAP_RIGHT, XmPIXMAP_LEFT,
0515               XmPIXMAP_NONE, XmPIXMAP_ONLY} XmPixmapPlacement;
0516 
0517 typedef enum {XmTAB_VALUE_COPY, XmTAB_VALUE_SHARE} XmTabValueMode;
0518 
0519 typedef enum {XmTAB_CMP_VISUAL, XmTAB_CMP_SIZE, XmTAB_CMP_EQUAL} XmTabResult;
0520 
0521 typedef struct _XmTabStackCallbackStruct {
0522     int     reason;
0523     XEvent      *event;
0524     Widget      selected_child;
0525 } XmTabStackCallbackStruct;
0526 
0527 typedef struct _XmTabBoxCallbackStruct {
0528     int       reason;
0529     XEvent    *event;
0530     int       tab_index;
0531     int       old_index;
0532 } XmTabBoxCallbackStruct;
0533 
0534 /****************************************************************************
0535  *  Callback reasons 
0536  ****************************************************************************/
0537 
0538 enum{   XmCR_NONE,          XmCR_HELP,
0539     XmCR_VALUE_CHANGED,     XmCR_INCREMENT,
0540     XmCR_DECREMENT,         XmCR_PAGE_INCREMENT,
0541     XmCR_PAGE_DECREMENT,        XmCR_TO_TOP,
0542     XmCR_TO_BOTTOM,         XmCR_DRAG,
0543     XmCR_ACTIVATE,          XmCR_ARM,
0544     XmCR_DISARM,            XmCR_MAP = 16,
0545     XmCR_UNMAP,         XmCR_FOCUS,
0546     XmCR_LOSING_FOCUS,      XmCR_MODIFYING_TEXT_VALUE,
0547     XmCR_MOVING_INSERT_CURSOR,  XmCR_EXECUTE,
0548     XmCR_SINGLE_SELECT,     XmCR_MULTIPLE_SELECT,
0549     XmCR_EXTENDED_SELECT,       XmCR_BROWSE_SELECT,
0550     XmCR_DEFAULT_ACTION,        XmCR_CLIPBOARD_DATA_REQUEST,
0551     XmCR_CLIPBOARD_DATA_DELETE, XmCR_CASCADING,
0552     XmCR_OK,            XmCR_CANCEL,
0553     XmCR_APPLY = 34,        XmCR_NO_MATCH,
0554     XmCR_COMMAND_ENTERED,       XmCR_COMMAND_CHANGED,
0555     XmCR_EXPOSE,            XmCR_RESIZE,
0556     XmCR_INPUT,         XmCR_GAIN_PRIMARY,
0557     XmCR_LOSE_PRIMARY,      XmCR_CREATE,
0558     XmCR_TEAR_OFF_ACTIVATE,     XmCR_TEAR_OFF_DEACTIVATE,
0559     XmCR_OBSCURED_TRAVERSAL,    XmCR_FOCUS_MOVED,
0560     XmCR_REPOST = 54,       XmCR_COLLAPSED,
0561     XmCR_EXPANDED,          XmCR_SELECT,
0562     XmCR_DRAG_START,        XmCR_NO_FONT,
0563     XmCR_NO_RENDITION,      XmCR_POST,
0564     XmCR_SPIN_NEXT,         XmCR_SPIN_PRIOR,
0565     XmCR_SPIN_FIRST,        XmCR_SPIN_LAST,
0566     XmCR_PAGE_SCROLLER_INCREMENT,   XmCR_PAGE_SCROLLER_DECREMENT,
0567     XmCR_MAJOR_TAB,                 XmCR_MINOR_TAB,
0568     XmCR_START_JOB,         XmCR_END_JOB,
0569     XmCR_PAGE_SETUP,        XmCR_PDM_NONE,
0570     XmCR_PDM_UP,            XmCR_PDM_START_ERROR,
0571     XmCR_PDM_START_VXAUTH,      XmCR_PDM_START_PXAUTH, 
0572     XmCR_PDM_OK,            XmCR_PDM_CANCEL,
0573     XmCR_PDM_EXIT_ERROR,
0574         XmCR_UPDATE_SHELL,              XmCR_UPDATE_TEXT,
0575         XmCR_VERIFY_TEXT,               XmCR_VERIFY_TEXT_FAILED,
0576         XmCR_ENTER_CHILD,               XmCR_LEAVE_CHILD,
0577     XmCR_PROTOCOLS = 6666 /* required for BC. See CR 9158 */
0578     } ;
0579 
0580 /************************************************************************
0581  *  new ScrollBar showArrows  define
0582  ************************************************************************/
0583 
0584 enum{   /* XmNONE */        XmEACH_SIDE = 1,
0585     XmMAX_SIDE,             XmMIN_SIDE
0586     } ;
0587 
0588 
0589 /************************************************************************
0590  *  Sliding mode
0591  ************************************************************************/
0592 
0593 enum{   XmSLIDER,       XmTHERMOMETER} ;
0594 
0595 
0596 /************************************************************************
0597  *  Slider Visual
0598  ************************************************************************/
0599 
0600 enum{   XmBACKGROUND_COLOR,     XmFOREGROUND_COLOR, 
0601         XmTROUGH_COLOR,         XmSHADOWED_BACKGROUND} ;
0602 
0603 
0604 /************************************************************************
0605  *  Slider Mark
0606  ************************************************************************/
0607 
0608 enum{   /* XmNONE, */           XmETCHED_LINE = 1, 
0609         XmTHUMB_MARK,     XmROUND_MARK } ;
0610 
0611 
0612 /************************************************************************
0613  *  new Scale showValue 
0614  ************************************************************************/
0615 
0616 enum{   /* XmNONE */        XmNEAR_SLIDER = 1,
0617     XmNEAR_BORDER
0618     } ;
0619 
0620 
0621 /************************************************************************
0622  *  new ScrolledWindow/MainWindow chidType
0623  ************************************************************************/
0624 
0625 /* XmWORK_AREA, XmMENU_BAR and XmSEPARATOR have to match the existing ones */
0626 enum{   /* XmWORK_AREA = 0, XmMENU_BAR = 1, */ 
0627         XmHOR_SCROLLBAR = 2, 
0628     XmVERT_SCROLLBAR,
0629     XmCOMMAND_WINDOW, 
0630         /* XmSEPARATOR = 5 */
0631         XmMESSAGE_WINDOW = 6,
0632         XmSCROLL_HOR, XmSCROLL_VERT, XmNO_SCROLL,
0633     XmCLIP_WINDOW, XmGENERIC_CHILD
0634     } ;
0635 
0636 /************************************************************************
0637  *  new ScrolledWindow auto drag enum
0638  ************************************************************************/
0639 
0640 enum{   XmAUTO_DRAG_ENABLED,        XmAUTO_DRAG_DISABLED
0641     } ;
0642 
0643 /************************************************************************
0644  *  new Display enable warp enum
0645  ************************************************************************/
0646 
0647 enum{   XmENABLE_WARP_ON,       XmENABLE_WARP_OFF
0648     } ;
0649 
0650 /************************************************************************
0651  *  new Display enable btn1 transfer enum
0652  ************************************************************************/
0653 
0654 enum{   XmOFF,              XmBUTTON2_ADJUST,
0655     XmBUTTON2_TRANSFER };
0656 
0657 /************************************************************************
0658  * auto_selection_type
0659  ************************************************************************/
0660 
0661 enum{   XmAUTO_UNSET,                   XmAUTO_BEGIN,
0662         XmAUTO_MOTION,                  XmAUTO_CANCEL,
0663         XmAUTO_NO_CHANGE,               XmAUTO_CHANGE
0664         };
0665 
0666 /************************************************************************
0667  *  Callback structures 
0668  ************************************************************************/
0669 
0670 typedef struct
0671 {
0672     int     reason;
0673     XEvent  *event;
0674 } XmAnyCallbackStruct;
0675 
0676 typedef struct
0677 {
0678     int     reason;
0679     XEvent  *event;
0680     int     click_count;
0681 } XmArrowButtonCallbackStruct;
0682 
0683 typedef struct _XmDragStartCallbackStruct {
0684     int                 reason;
0685     XEvent              *event;
0686     Widget              widget;
0687     Boolean             doit;
0688 } XmDragStartCallbackStruct, *XmDragStartCallback;
0689 
0690 typedef struct
0691 {
0692     int     reason;
0693     XEvent  *event;
0694     XmString item_or_text;
0695     int     item_position;
0696 } XmComboBoxCallbackStruct;
0697 
0698 typedef struct
0699 {
0700     int     reason;
0701     XEvent  *event;
0702     Window  window;
0703 } XmDrawingAreaCallbackStruct;
0704 
0705 typedef struct
0706 {
0707     int     reason;
0708     XEvent  *event;
0709     Window  window;
0710     int     click_count;
0711 } XmDrawnButtonCallbackStruct;
0712 
0713 typedef struct
0714 {
0715     int     reason;
0716     XEvent  *event;
0717     int     click_count;
0718 } XmPushButtonCallbackStruct;
0719 
0720 typedef struct
0721 {
0722     int     reason;
0723     XEvent  *event;
0724     Widget  widget;
0725     char    *data;
0726     char    *callbackstruct;
0727 } XmRowColumnCallbackStruct;
0728 
0729 typedef struct
0730 {
0731    int reason;
0732    XEvent * event;
0733    int value;
0734    int pixel;
0735 } XmScrollBarCallbackStruct;
0736 
0737 typedef struct
0738 {
0739    int reason;
0740    XEvent * event;
0741    int set;
0742 } XmToggleButtonCallbackStruct;
0743 
0744 typedef struct
0745 {
0746    int       reason;
0747    XEvent    *event;
0748    XmString  item;
0749    int       item_length;
0750    int       item_position;
0751    XmString  *selected_items;
0752    int       selected_item_count;
0753    int       *selected_item_positions;
0754    char      selection_type;
0755    char      auto_selection_type;
0756 } XmListCallbackStruct;
0757 
0758 typedef struct
0759 {
0760     int reason;
0761     XEvent  *event;
0762     XmString    value;
0763     int     length;
0764 } XmSelectionBoxCallbackStruct;
0765 
0766 typedef struct
0767 {
0768     int reason;
0769     XEvent  *event;
0770     XmString    value;
0771     int     length;
0772 } XmCommandCallbackStruct;
0773 
0774 typedef struct
0775 {
0776     int     reason;
0777     XEvent  *event;
0778     XmString    value;
0779     int     length;
0780     XmString    mask;
0781     int     mask_length;
0782     XmString    dir ;
0783     int     dir_length ;
0784     XmString    pattern ;
0785     int     pattern_length ;
0786 } XmFileSelectionBoxCallbackStruct;
0787 
0788 
0789 typedef struct 
0790 {
0791    int reason;
0792    XEvent * event;
0793    int value;
0794 } XmScaleCallbackStruct;
0795 
0796 typedef struct
0797 {
0798   int      reason;
0799   XEvent   *event;
0800   Widget   menuToPost;
0801   Boolean  postIt;
0802   Widget   target;
0803 } XmPopupHandlerCallbackStruct;
0804 
0805 typedef struct
0806 {
0807   int         reason;
0808   XEvent      *event;
0809   Widget      item;
0810   unsigned char       new_outline_state;
0811 } XmContainerOutlineCallbackStruct;
0812 
0813 typedef struct
0814 {
0815   int             reason;
0816   XEvent          *event;
0817   WidgetList      selected_items;
0818   int             selected_item_count;
0819   unsigned char   auto_selection_type;
0820 } XmContainerSelectCallbackStruct;
0821 
0822 typedef struct
0823 {
0824   int         reason;
0825   XEvent      *event;
0826   int         page_number;
0827   Widget      page_widget;
0828   int         prev_page_number;
0829   Widget      prev_page_widget;
0830 } XmNotebookCallbackStruct;
0831 
0832 typedef struct
0833 {
0834     int             reason;
0835     XEvent          *event;
0836     XmRendition     rendition;
0837     char        *font_name;
0838     XmRenderTable   render_table;
0839     XmStringTag     tag;
0840 } XmDisplayCallbackStruct;
0841 
0842 #ifdef PRINTING_SUPPORTED
0843 typedef struct
0844 {
0845     int     reason;    /* XmCR_START_JOB, XmCR_END_JOB, XmCR_PAGE_SETUP */
0846     XEvent  *event;
0847     XPContext   context;
0848     Boolean last_page; /* in_out */
0849     XtPointer   detail;
0850 } XmPrintShellCallbackStruct;
0851 #endif /* PRINTING_SUPPORTED */
0852 
0853 /************************************************************************
0854  *  PushButton defines
0855  ************************************************************************/
0856 
0857 enum{   XmMULTICLICK_DISCARD,       XmMULTICLICK_KEEP
0858     } ;
0859 /************************************************************************
0860  *  DrawnButton defines
0861  ************************************************************************/
0862 
0863 enum{   XmSHADOW_IN = 7,        XmSHADOW_OUT
0864     } ;
0865 /************************************************************************
0866  *  Arrow defines
0867  ************************************************************************/
0868 
0869 enum{   XmARROW_UP,         XmARROW_DOWN,
0870     XmARROW_LEFT,           XmARROW_RIGHT
0871     } ;
0872 /************************************************************************
0873  *  Separator defines
0874  *  Note: XmINVALID_SEPARATOR_TYPE marks the last+1 separator type
0875  ************************************************************************/
0876 
0877 enum{   XmNO_LINE,          XmSINGLE_LINE,
0878     XmDOUBLE_LINE,          XmSINGLE_DASHED_LINE,
0879     XmDOUBLE_DASHED_LINE,       XmSHADOW_ETCHED_IN,
0880     XmSHADOW_ETCHED_OUT,        XmSHADOW_ETCHED_IN_DASH,
0881     XmSHADOW_ETCHED_OUT_DASH,   XmINVALID_SEPARATOR_TYPE
0882     } ;
0883 
0884 enum{   XmPIXMAP = 1,           XmSTRING,
0885     XmPIXMAP_AND_STRING
0886     } ;
0887 
0888 /************************************************************************
0889  *  Drag and Drop defines
0890  ************************************************************************/
0891 
0892 enum{   XmWINDOW,            /* XmPIXMAP, */
0893     XmCURSOR = 2,            XmDRAG_WINDOW = 3
0894     } ;
0895 
0896 /************************************************************************
0897  *  ScrollBar defines
0898  ************************************************************************/
0899 
0900 enum{   XmMAX_ON_TOP,           XmMAX_ON_BOTTOM,
0901     XmMAX_ON_LEFT,          XmMAX_ON_RIGHT
0902     } ;
0903 /************************************************************************
0904  *                                  *
0905  * List Widget defines                          *
0906  *                                  *
0907  ************************************************************************/
0908 
0909 enum{   XmSINGLE_SELECT,        XmMULTIPLE_SELECT,
0910     XmEXTENDED_SELECT,      XmBROWSE_SELECT
0911     } ;
0912 enum{   XmSTATIC,           XmDYNAMIC
0913     } ;
0914 enum{ XmNORMAL_MODE,            XmADD_MODE
0915         } ;
0916 /************************************************************************
0917  *                                                                      *
0918  * Container Widget defines                                             *
0919  *                                                                      *
0920  ************************************************************************/
0921 
0922         /* XmRAutomaticSelection */
0923 enum {  XmNO_AUTO_SELECT,
0924         XmAUTO_SELECT
0925         };
0926 
0927         /* XmRLineStyle */
0928 enum {  /* XmNO_LINE */
0929         XmSINGLE = 1
0930         };
0931 
0932         /* XmREntryViewType */
0933 enum {  /* XmLARGE_ICON */
0934         /* XmSMALL_ICON */
0935         XmANY_ICON = 2
0936         };
0937 
0938         /* XmRSpatialIncludeModel */
0939 enum {  XmAPPEND,
0940         XmCLOSEST,
0941         XmFIRST_FIT
0942         };
0943 
0944         /* XmRLayoutType */
0945 enum {  XmOUTLINE,
0946         XmSPATIAL,
0947     XmDETAIL
0948         };
0949 
0950     /* XmNoutlineButtonPolicy */
0951 enum {  XmOUTLINE_BUTTON_PRESENT,
0952     XmOUTLINE_BUTTON_ABSENT
0953     };
0954 
0955         /* XmRSpatialPlaceStyle */
0956 enum {  /* XmNONE */
0957     XmGRID = 1,
0958     XmCELLS
0959         };
0960 
0961     /* XmRPrimaryOwnership */
0962 enum {  XmOWN_NEVER,
0963     XmOWN_ALWAYS,
0964     XmOWN_MULTIPLE,
0965     XmOWN_POSSIBLE_MULTIPLE
0966     };
0967 
0968         /* XmRSpatialResizeModel */
0969 enum {  XmGROW_MINOR,
0970     XmGROW_MAJOR,
0971         XmGROW_BALANCED
0972         };
0973 
0974         /* XmRSelectionTechnique */
0975 enum {  XmMARQUEE,
0976         XmMARQUEE_EXTEND_START,
0977         XmMARQUEE_EXTEND_BOTH,
0978         XmTOUCH_ONLY,
0979         XmTOUCH_OVER
0980         };
0981 
0982         /* XmRSpatialSnapModel */
0983 enum {  /* XmNONE */
0984         XmSNAP_TO_GRID = 1,
0985         XmCENTER
0986         };
0987 
0988         /* XmROutlineState */
0989 enum {  XmCOLLAPSED,
0990         XmEXPANDED
0991         };
0992 
0993 /************************************************************************
0994  *                                                                      *
0995  * IconGadget defines                                                   *
0996  *                                                                      *
0997  ************************************************************************/
0998 
0999         /* XmRViewType */
1000 enum {  XmLARGE_ICON,
1001         XmSMALL_ICON
1002         };
1003 
1004         /* XmRVisualEmphasis */
1005 enum {  XmSELECTED,
1006         XmNOT_SELECTED
1007         };
1008 
1009 /************************************************************************
1010  *                                                                      *
1011  * Notebook Widget defines                                              *
1012  *                                                                      *
1013  ************************************************************************/
1014 
1015 #define XmUNSPECIFIED_PAGE_NUMBER       (-32768)
1016 
1017         /* XmRBindingType */
1018 enum {  /* XmNONE */
1019         /* XmPIXMAP */
1020         XmSOLID = 2,
1021         XmSPIRAL,
1022         XmPIXMAP_OVERLAP_ONLY
1023         };
1024 
1025         /* XmRNBChildType */
1026 enum {  /* XmNONE */
1027         XmPAGE = 1,
1028         XmMAJOR_TAB,
1029         XmMINOR_TAB,
1030         XmSTATUS_AREA,
1031         XmPAGE_SCROLLER
1032         };
1033 
1034 /************************************************************************
1035  *                                  *
1036  * Spin button defines.                         *
1037  *                                  *
1038  ************************************************************************/
1039 
1040 /* XmNarrowOrientation */
1041 enum
1042 {
1043     XmARROWS_VERTICAL,
1044     XmARROWS_HORIZONTAL
1045 };
1046 
1047 /* XmNarrowLayout */
1048 enum
1049 {
1050     XmARROWS_END,
1051     XmARROWS_BEGINNING,
1052     XmARROWS_SPLIT,
1053     XmARROWS_FLAT_END,
1054     XmARROWS_FLAT_BEGINNING
1055 };
1056 
1057 /* XmNarrowSensitivity and XmNdefaultArrowSensitivity */
1058 /* Please note that these arrows form the proper values 
1059    for a bit mask. */
1060 enum
1061 {
1062     XmARROWS_INSENSITIVE,
1063     XmARROWS_INCREMENT_SENSITIVE,
1064     XmARROWS_DECREMENT_SENSITIVE,
1065     XmARROWS_SENSITIVE,
1066     XmARROWS_DEFAULT_SENSITIVITY
1067 };
1068 
1069 /* XmNpositionType */
1070 enum
1071 {
1072     XmPOSITION_INDEX,
1073     XmPOSITION_VALUE
1074 };
1075 
1076 /* XmNspinButtonChildType */
1077 enum
1078 {
1079     /* XmPIXMAP = 1 */
1080     /* XmSTRING */
1081     XmNUMERIC = 3
1082 };
1083 
1084 /* Return values for Xm[Simple]SpinBoxValidatePosition */
1085 enum
1086 {
1087     XmVALID_VALUE,
1088     XmCURRENT_VALUE,
1089     XmMAXIMUM_VALUE,
1090     XmMINIMUM_VALUE,
1091     XmINCREMENT_VALUE
1092 };
1093 
1094 typedef struct
1095 {
1096     int     reason;
1097     XEvent  *event;
1098     Widget      widget;
1099     Boolean     doit;
1100     int     position;
1101     XmString    value;
1102     Boolean crossed_boundary;
1103 } XmSpinBoxCallbackStruct;
1104 
1105 
1106 /************************************************************************
1107  *                                  *
1108  * Scrolled Window defines.                     *
1109  *                                  *
1110  ************************************************************************/
1111 
1112 enum{   XmVARIABLE,         XmCONSTANT,
1113     XmRESIZE_IF_POSSIBLE
1114     } ;
1115 enum{   XmAUTOMATIC,            XmAPPLICATION_DEFINED
1116     } ;
1117 enum{   /* XmSTATIC */          XmAS_NEEDED = 1
1118     } ;
1119 
1120 #define SW_TOP      1
1121 #define SW_BOTTOM   0
1122 #define SW_LEFT     2
1123 #define SW_RIGHT    0
1124 
1125 #define XmTOP_LEFT  (SW_TOP | SW_LEFT)
1126 #define XmBOTTOM_LEFT   (SW_BOTTOM  | SW_LEFT)
1127 #define XmTOP_RIGHT (SW_TOP | SW_RIGHT)
1128 #define XmBOTTOM_RIGHT  (SW_BOTTOM  | SW_RIGHT)
1129 
1130 /************************************************************************
1131  *                                  *
1132  * MainWindow Resources                                                 *
1133  *                                  *
1134  ************************************************************************/
1135 
1136 enum{   XmCOMMAND_ABOVE_WORKSPACE,  XmCOMMAND_BELOW_WORKSPACE
1137     } ;
1138 /************************************************************************
1139  *                                  *
1140  * Text Widget defines                          *
1141  *                                  *
1142  ************************************************************************/
1143 
1144 enum{   XmMULTI_LINE_EDIT,      XmSINGLE_LINE_EDIT
1145     } ;
1146 
1147 typedef enum{
1148     XmTEXT_FORWARD,
1149     XmTEXT_BACKWARD
1150     } XmTextDirection;
1151 
1152 typedef long XmTextPosition;
1153 typedef Atom XmTextFormat;
1154 
1155 #define XmFMT_8_BIT ((XmTextFormat) XA_STRING)  /* 8-bit text. */
1156 #define XmFMT_16_BIT    ((XmTextFormat) 2)      /* 16-bit text. */
1157 
1158 #define FMT8BIT     XmFMT_8_BIT /* For backwards compatibility only.*/
1159 #define FMT16BIT    XmFMT_16_BIT    /* For backwards compatibility only.*/
1160 
1161 typedef enum{
1162     XmSELECT_POSITION,      XmSELECT_WHITESPACE,
1163     XmSELECT_WORD,          XmSELECT_LINE,
1164     XmSELECT_ALL,           XmSELECT_PARAGRAPH,
1165     XmSELECT_OUT_LINE
1166     } XmTextScanType ;
1167 
1168 typedef enum{
1169     XmHIGHLIGHT_NORMAL,     XmHIGHLIGHT_SELECTED,
1170     XmHIGHLIGHT_SECONDARY_SELECTED, XmSEE_DETAIL
1171     } XmHighlightMode ;
1172 
1173 /* XmTextBlock's are used to pass text around. */
1174 
1175 typedef struct {
1176     char *ptr;                  /* Pointer to data. */
1177     int length;                 /* Number of bytes of data. */
1178     XmTextFormat format;       /* Representations format */
1179 } XmTextBlockRec, *XmTextBlock;
1180 
1181 typedef struct
1182 {
1183     int reason;
1184     XEvent  *event;
1185     Boolean doit;
1186     long currInsert, newInsert;
1187     long startPos, endPos;
1188     XmTextBlock text;
1189 } XmTextVerifyCallbackStruct, *XmTextVerifyPtr;
1190 
1191 /* XmTextBlockWcs's are used in 1.2 modifyVerifyWcs callbacks for Text[Field]
1192  * widgets. */
1193 
1194 typedef struct {
1195     wchar_t *wcsptr;            /* Pointer to data. */
1196     int length;                 /* Number of characters (not bytes) of data. */
1197 } XmTextBlockRecWcs, *XmTextBlockWcs;
1198 
1199 typedef struct
1200 {
1201     int reason;
1202     XEvent  *event;
1203     Boolean doit;
1204     long currInsert, newInsert;
1205     long startPos, endPos;
1206     XmTextBlockWcs text;
1207 } XmTextVerifyCallbackStructWcs, *XmTextVerifyPtrWcs;
1208 
1209 /* functions renamed after 1.0 release due to resource name overlap */
1210 #define XmTextGetTopPosition                XmTextGetTopCharacter
1211 #define XmTextSetTopPosition                XmTextSetTopCharacter
1212 
1213 #define XmCOPY_FAILED       0
1214 #define XmCOPY_SUCCEEDED    1
1215 #define XmCOPY_TRUNCATED    2
1216 
1217 /************************************************************************
1218  *                                  *
1219  *  DIALOG defines..  BulletinBoard and things common to its subclasses *
1220  *          CommandBox    MessageBox    Selection    FileSelection      *
1221  *                                  *
1222  ************************************************************************/
1223 
1224 /* child type defines for Xm...GetChild() */
1225 
1226 enum{   XmDIALOG_NONE,          XmDIALOG_APPLY_BUTTON,
1227     XmDIALOG_CANCEL_BUTTON,     XmDIALOG_DEFAULT_BUTTON,
1228     XmDIALOG_OK_BUTTON,     XmDIALOG_FILTER_LABEL,
1229     XmDIALOG_FILTER_TEXT,       XmDIALOG_HELP_BUTTON,
1230     XmDIALOG_LIST,          XmDIALOG_LIST_LABEL,
1231     XmDIALOG_MESSAGE_LABEL,     XmDIALOG_SELECTION_LABEL,
1232     XmDIALOG_SYMBOL_LABEL,      XmDIALOG_TEXT,
1233     XmDIALOG_SEPARATOR,     XmDIALOG_DIR_LIST,
1234     XmDIALOG_DIR_LIST_LABEL
1235     } ;
1236 
1237 #define XmDIALOG_HISTORY_LIST       XmDIALOG_LIST
1238 #define XmDIALOG_PROMPT_LABEL       XmDIALOG_SELECTION_LABEL
1239 #define XmDIALOG_VALUE_TEXT         XmDIALOG_TEXT
1240 #define XmDIALOG_COMMAND_TEXT       XmDIALOG_TEXT
1241 #define XmDIALOG_FILE_LIST          XmDIALOG_LIST
1242 #define XmDIALOG_FILE_LIST_LABEL    XmDIALOG_LIST_LABEL
1243 
1244 /*  dialog style defines  */
1245 
1246 enum{   XmDIALOG_MODELESS,      XmDIALOG_PRIMARY_APPLICATION_MODAL,
1247     XmDIALOG_FULL_APPLICATION_MODAL,XmDIALOG_SYSTEM_MODAL
1248     } ;
1249 
1250 /* The following is for compatibility only. Its use is deprecated.
1251  */
1252 #define XmDIALOG_APPLICATION_MODAL  XmDIALOG_PRIMARY_APPLICATION_MODAL
1253 
1254 /************************************************************************
1255  * XmSelectionBox, XmFileSelectionBox and XmCommand - misc. stuff       *
1256  ***********************************************************************/
1257 
1258 /* Defines for Selection child placement
1259 */
1260 enum{   XmPLACE_TOP,            XmPLACE_ABOVE_SELECTION,
1261     XmPLACE_BELOW_SELECTION
1262     } ;
1263 
1264 /* Defines for file type mask:
1265 */
1266 #define XmFILE_DIRECTORY (1 << 0)
1267 #define XmFILE_REGULAR   (1 << 1)
1268 #define XmFILE_ANY_TYPE  (XmFILE_DIRECTORY | XmFILE_REGULAR)
1269 
1270 /* Defines for selection dialog type:
1271 */
1272 enum{   XmDIALOG_WORK_AREA,     XmDIALOG_PROMPT,
1273     XmDIALOG_SELECTION,     XmDIALOG_COMMAND,
1274     XmDIALOG_FILE_SELECTION
1275     } ;
1276 
1277 /************************************************************************
1278  *  XmMessageBox           stuff not common to other dialogs            *
1279  ***********************************************************************/
1280 
1281 /* defines for dialog type */
1282 
1283 enum{   XmDIALOG_TEMPLATE,      XmDIALOG_ERROR,
1284     XmDIALOG_INFORMATION,       XmDIALOG_MESSAGE,
1285     XmDIALOG_QUESTION,      XmDIALOG_WARNING,
1286     XmDIALOG_WORKING
1287     } ;
1288 
1289 /*  Traversal types  */
1290 
1291 typedef enum{
1292     XmVISIBILITY_UNOBSCURED,    XmVISIBILITY_PARTIALLY_OBSCURED,
1293     XmVISIBILITY_FULLY_OBSCURED
1294     } XmVisibility ;
1295 
1296 
1297 typedef enum{
1298     XmTRAVERSE_CURRENT,     XmTRAVERSE_NEXT,
1299     XmTRAVERSE_PREV,        XmTRAVERSE_HOME,
1300     XmTRAVERSE_NEXT_TAB_GROUP,  XmTRAVERSE_PREV_TAB_GROUP,
1301     XmTRAVERSE_UP,          XmTRAVERSE_DOWN,
1302     XmTRAVERSE_LEFT,        XmTRAVERSE_RIGHT,
1303     XmTRAVERSE_GLOBALLY_FORWARD,    XmTRAVERSE_GLOBALLY_BACKWARD
1304     } XmTraversalDirection ;
1305 
1306 typedef struct _XmTraverseObscuredCallbackStruct
1307 {   int         reason ;
1308     XEvent *        event ;
1309     Widget          traversal_destination ;
1310     XmTraversalDirection    direction ;
1311     } XmTraverseObscuredCallbackStruct ;
1312 
1313 typedef unsigned char   XmNavigationType;
1314 
1315 
1316 /***********************************************************************
1317  *
1318  * SimpleMenu declarations and definitions.
1319  *
1320  ***********************************************************************/
1321 
1322 typedef unsigned char XmButtonType;
1323 typedef XmButtonType * XmButtonTypeTable;
1324 typedef KeySym * XmKeySymTable;
1325 typedef XmStringCharSet * XmStringCharSetTable;
1326 
1327 enum{   XmPUSHBUTTON = 1,       XmTOGGLEBUTTON,
1328     XmRADIOBUTTON,          XmCASCADEBUTTON,
1329     XmSEPARATOR,            XmDOUBLE_SEPARATOR,
1330     XmTITLE
1331     } ;
1332 #define XmCHECKBUTTON           XmTOGGLEBUTTON
1333 
1334 
1335 /***********************************************************************
1336  *
1337  * BitmapConversionModel
1338  *
1339  ***********************************************************************/
1340 
1341 enum{   XmMATCH_DEPTH, XmDYNAMIC_DEPTH } ;
1342 
1343 
1344 /************************************************************************
1345  *  PrintShell defines
1346  ************************************************************************/
1347 
1348 enum { XmPDM_NOTIFY_FAIL, XmPDM_NOTIFY_SUCCESS } ;
1349 
1350 /************************************************************************
1351  *  MultiList defines
1352  ************************************************************************/
1353 
1354 enum { XmMULTILIST_FOUND, XmMULTILIST_NOT_FOUND };
1355 
1356 /************************************************************************
1357  *  DropDown defines
1358  ************************************************************************/
1359 
1360 enum {
1361     XmDROPDOWN_LABEL,
1362     XmDROPDOWN_TEXT,
1363     XmDROPDOWN_ARROW_BUTTON,
1364     XmDROPDOWN_LIST
1365 };
1366 
1367 
1368 /* This one cannot be put at the beginning because it needs 
1369    XmStringTable */
1370 #include <Xm/TxtPropCv.h>
1371 
1372 
1373 /********    BaseClass.c    ********/
1374 typedef XtPointer   (*XmResourceBaseProc)( Widget, XtPointer) ;
1375 
1376 typedef struct _XmSecondaryResourceDataRec{
1377     XmResourceBaseProc  base_proc;
1378     XtPointer       client_data;
1379     String      name;
1380     String      res_class;
1381     XtResourceList  resources;
1382     Cardinal        num_resources;
1383 }XmSecondaryResourceDataRec, *XmSecondaryResourceData;
1384 
1385 /********    Public Function Declarations for BaseClass.c    ********/
1386 
1387 extern Cardinal XmGetSecondaryResourceData( 
1388                         WidgetClass w_class,
1389                         XmSecondaryResourceData **secondaryDataRtn) ;
1390 
1391 /********    End Public Function Declarations    ********/
1392 
1393 /********    Public Function Declarations for ImageCache.c    ********/
1394 
1395 extern Boolean XmInstallImage( 
1396                         XImage *image,
1397                         char *image_name) ;
1398 extern Boolean XmUninstallImage( 
1399                         XImage *image) ;
1400 extern Pixmap XmGetPixmap( 
1401                         Screen *screen,
1402                         char *image_name,
1403                         Pixel foreground,
1404                         Pixel background) ;
1405 extern Pixmap XmGetPixmapByDepth( 
1406                         Screen *screen,
1407                         char *image_name,
1408                         Pixel foreground,
1409                         Pixel background,
1410             int depth) ;
1411 extern Boolean XmDestroyPixmap( 
1412                         Screen *screen,
1413                         Pixmap pixmap) ;
1414 
1415 /********    End Public Function Declarations    ********/
1416 
1417 /********    Public Function Declarations for Resolve.c    ********/
1418 /*-- XmeResolvePartOffsets is defined in XmP.h.
1419      These also belong there but for source compatibility, we let 
1420      them here --- */
1421 
1422 typedef long XmOffset;
1423 typedef XmOffset *XmOffsetPtr;
1424 
1425 
1426 
1427 extern void XmResolveAllPartOffsets( 
1428                         WidgetClass w_class,
1429                         XmOffsetPtr *offset,
1430                         XmOffsetPtr *constraint_offset) ;
1431 extern void XmResolvePartOffsets( 
1432                         WidgetClass w_class,
1433                         XmOffsetPtr *offset) ;
1434 
1435 /********    End Public Function Declarations    ********/
1436 
1437 
1438 
1439 /********    Public Function Declarations for Xm.c    ********/
1440 
1441 
1442 extern void XmUpdateDisplay( 
1443                         Widget w) ;
1444 extern Widget XmObjectAtPoint(
1445             Widget wid,
1446             Position x,
1447             Position y ) ;
1448 
1449 extern Boolean XmWidgetGetBaselines(
1450                         Widget wid,
1451                         Dimension **baselines,
1452                         int *line_count);
1453 extern Boolean XmWidgetGetDisplayRect(
1454                         Widget wid,
1455                         XRectangle *displayrect);
1456 
1457 /********    End Public Function Declarations    ********/
1458 
1459 
1460 
1461 /********    Primitive.c    ********/
1462 
1463 /********    Public Function Declarations for Primitive.c    ********/
1464 
1465 /********    End Public Function Declarations    ********/
1466 
1467 /********    Public Function Declarations for ResConvert.c    ********/
1468 
1469 extern void XmCvtStringToUnitType( 
1470                         XrmValuePtr args,
1471                         Cardinal *num_args,
1472                         XrmValue *from_val,
1473                         XrmValue *to_val) ;
1474 extern char * XmRegisterSegmentEncoding( 
1475                         char *fontlist_tag,
1476                         char *ct_encoding) ;
1477 extern char * XmMapSegmentEncoding( 
1478                         char *fontlist_tag) ;
1479 extern XmString XmCvtCTToXmString( 
1480                         char *text) ;
1481 extern Boolean XmCvtTextToXmString( 
1482                         Display *display,
1483                         XrmValuePtr args,
1484                         Cardinal *num_args,
1485                         XrmValue *from_val,
1486                         XrmValue *to_val,
1487                         XtPointer *converter_data) ;
1488 extern char * XmCvtXmStringToCT( 
1489                         XmString string) ;
1490 extern Boolean XmCvtXmStringToText( 
1491                         Display *display,
1492                         XrmValuePtr args,
1493                         Cardinal *num_args,
1494                         XrmValue *from_val,
1495                         XrmValue *to_val,
1496                         XtPointer *converter_data) ;
1497 #ifdef UTF8_SUPPORTED
1498 extern char * XmCvtXmStringToUTF8String(
1499                         XmString string) ;
1500 #endif
1501 /********    End Public Function Declarations    ********/
1502 
1503 /********    Public Function Declarations for ResInd.c    ********/
1504 
1505 extern int XmConvertStringToUnits(
1506                   Screen *screen, 
1507                   String spec,
1508                   int orientation,
1509                   int to_type,
1510                   XtEnum *parse_error);
1511 extern int XmConvertUnits( 
1512                         Widget widget,
1513                         int dimension,
1514                         register int from_type,
1515                         register int from_val,
1516                         register int to_type) ;
1517 extern int XmCvtToHorizontalPixels( 
1518                         Screen *screen,
1519                         register int from_val,
1520                         register int from_type) ;
1521 extern int XmCvtToVerticalPixels( 
1522                         Screen *screen,
1523                         register int from_val,
1524                         register int from_type) ;
1525 extern int XmCvtFromHorizontalPixels( 
1526                         Screen *screen,
1527                         register int from_val,
1528                         register int to_type) ;
1529 extern int XmCvtFromVerticalPixels( 
1530                         Screen *screen,
1531                         register int from_val,
1532                         register int to_type) ;
1533 extern void XmSetFontUnits( 
1534                         Display *display,
1535                         int h_value,
1536                         int v_value) ;
1537 extern void XmSetFontUnit( 
1538                         Display *display,
1539                         int value) ;
1540 
1541 /********    End Public Function Declarations    ********/
1542 
1543 /********    Public Function Declarations for MenuUtil.c    ********/
1544 
1545 extern void XmSetMenuCursor( 
1546                         Display *display,
1547                         Cursor cursorId) ;
1548 extern Cursor XmGetMenuCursor( 
1549                         Display *display) ;
1550 
1551 /********    End Public Function Declarations    ********/
1552 
1553 /********    Public Function Declarations for Simple.c    ********/
1554 
1555 extern Widget XmCreateSimpleMenuBar( 
1556                         Widget parent,
1557                         String name,
1558                         ArgList args,
1559                         Cardinal arg_count) ;
1560 extern Widget XmCreateSimplePopupMenu( 
1561                         Widget parent,
1562                         String name,
1563                         ArgList args,
1564                         Cardinal arg_count) ;
1565 extern Widget XmCreateSimplePulldownMenu( 
1566                         Widget parent,
1567                         String name,
1568                         ArgList args,
1569                         Cardinal arg_count) ;
1570 extern Widget XmCreateSimpleOptionMenu( 
1571                         Widget parent,
1572                         String name,
1573                         ArgList args,
1574                         Cardinal arg_count) ;
1575 extern Widget XmCreateSimpleRadioBox( 
1576                         Widget parent,
1577                         String name,
1578                         ArgList args,
1579                         Cardinal arg_count) ;
1580 extern Widget XmCreateSimpleCheckBox( 
1581                         Widget parent,
1582                         String name,
1583                         ArgList args,
1584                         Cardinal arg_count) ;
1585 
1586 /********    End Public Function Declarations    ********/
1587 
1588 /********    Public Function Declarations for VaSimple.c   ********/
1589 extern Widget XmVaCreateSimpleMenuBar( 
1590             Widget parent,
1591             String name,
1592             ...) ;
1593 extern Widget XmVaCreateSimplePopupMenu(
1594             Widget parent,
1595             String name,
1596             XtCallbackProc callback,
1597             ...) ;
1598 extern Widget XmVaCreateSimplePulldownMenu( 
1599             Widget parent,
1600             String name,
1601             int post_from_button,
1602             XtCallbackProc callback,
1603             ...) ;
1604 extern Widget XmVaCreateSimpleOptionMenu(
1605             Widget parent,
1606             String name,
1607                         XmString option_label,
1608                         KeySym option_mnemonic,
1609                         int button_set,
1610                         XtCallbackProc callback,
1611             ...) ;
1612 extern Widget XmVaCreateSimpleRadioBox( 
1613             Widget parent,
1614             String name,
1615             int button_set,
1616             XtCallbackProc callback,
1617             ...) ;
1618 extern Widget XmVaCreateSimpleCheckBox( 
1619             Widget parent,
1620             String name,
1621             XtCallbackProc callback,
1622             ...) ;
1623 /********    End Public Function Declarations    ********/
1624 
1625 /********    Public Function Declarations for TrackLoc.c    ********/
1626 
1627 extern Widget XmTrackingEvent( 
1628                         Widget widget,
1629                         Cursor cursor,
1630 #if NeedWidePrototypes
1631                         int confineTo,
1632 #else
1633                         Boolean confineTo,
1634 #endif /* NeedWidePrototypes */
1635                         XEvent *pev) ;
1636 extern Widget XmTrackingLocate( 
1637                         Widget widget,
1638                         Cursor cursor,
1639 #if NeedWidePrototypes
1640                         int confineTo) ;
1641 #else
1642                         Boolean confineTo) ;
1643 #endif /* NeedWidePrototypes */
1644 
1645 /********    End Public Function Declarations    ********/
1646 
1647 /********    Visual.c    ********/
1648 typedef void (*XmColorProc) (XColor *bg_color, XColor *fg_color,
1649     XColor *sel_color, XColor *ts_color, XColor *bs_color);
1650 
1651 /********    Public Function Declarations for Visual.c    ********/
1652 
1653 extern XmColorProc XmSetColorCalculation( 
1654                         XmColorProc proc) ;
1655 extern XmColorProc XmGetColorCalculation( void ) ;
1656 extern void XmGetColors( 
1657                         Screen *screen,
1658                         Colormap color_map,
1659                         Pixel background,
1660                         Pixel *foreground_ret,
1661                         Pixel *top_shadow_ret,
1662                         Pixel *bottom_shadow_ret,
1663                         Pixel *select_ret) ;
1664 extern void XmChangeColor(
1665                         Widget widget,
1666                         Pixel background) ;
1667 
1668 /********    End Public Function Declarations    ********/
1669 
1670 /********    Public Function Declarations for XmString.c    ********/
1671 
1672 extern XmString XmStringCreate( 
1673                         char *text,
1674                         XmStringCharSet charset) ;
1675 extern XmString XmStringCreateSimple( 
1676                         char *text) ;
1677 extern XmString XmStringCreateLocalized( 
1678                         String text) ;
1679 extern XmString XmStringDirectionCreate( 
1680 #if NeedWidePrototypes
1681                         int direction) ;
1682 #else
1683                         XmStringDirection direction) ;
1684 #endif /* NeedWidePrototypes */
1685 extern XmString XmStringSeparatorCreate( void ) ;
1686 extern XmString XmStringSegmentCreate( 
1687                         char *text,
1688                         XmStringCharSet charset,
1689 #if NeedWidePrototypes
1690                         int direction,
1691                         int separator) ;
1692 #else
1693                         XmStringDirection direction,
1694                         Boolean separator) ;
1695 #endif /* NeedWidePrototypes */
1696 extern XmString XmStringLtoRCreate( 
1697                         char *text,
1698                         XmStringCharSet charset) ;
1699 extern XmString XmStringCreateLtoR( 
1700                         char *text,
1701                         XmStringCharSet charset) ;
1702 extern Boolean XmStringInitContext( 
1703                         XmStringContext *context,
1704                         XmString string) ;
1705 extern void XmStringFreeContext( 
1706                         XmStringContext context) ;
1707 extern XmStringComponentType XmStringGetNextComponent( 
1708                         XmStringContext context,
1709                         char **text,
1710                         XmStringCharSet *charset,
1711                         XmStringDirection *direction,
1712                         XmStringComponentType *unknown_tag,
1713                         unsigned short *unknown_length,
1714                         unsigned char **unknown_value) ;
1715 extern XmStringComponentType XmStringPeekNextComponent( 
1716                         XmStringContext context) ;
1717 extern Boolean XmStringGetNextSegment( 
1718                         XmStringContext context,
1719                         char **text,
1720                         XmStringCharSet *charset,
1721                         XmStringDirection *direction,
1722                         Boolean *separator) ;
1723 extern Boolean XmStringGetLtoR( 
1724                         XmString string,
1725                         XmStringCharSet charset,
1726                         char **text) ;
1727 extern XmFontListEntry XmFontListEntryCreate( 
1728                         char *tag,
1729                         XmFontType type,
1730                         XtPointer font) ;
1731 extern XmFontListEntry XmFontListEntryCreate_r(
1732                         char *tag,
1733                         XmFontType type,
1734                         XtPointer font,
1735                         Widget wid) ;
1736 extern void XmFontListEntryFree( 
1737                         XmFontListEntry *entry) ;
1738 extern XtPointer XmFontListEntryGetFont( 
1739                         XmFontListEntry entry,
1740                         XmFontType *typeReturn) ;
1741 extern char * XmFontListEntryGetTag( 
1742                         XmFontListEntry entry) ;
1743 extern XmFontList XmFontListAppendEntry( 
1744                         XmFontList old,
1745                         XmFontListEntry entry) ;
1746 extern XmFontListEntry XmFontListNextEntry( 
1747                         XmFontContext context) ;
1748 extern XmFontList XmFontListRemoveEntry( 
1749                         XmFontList old,
1750                         XmFontListEntry entry) ;
1751 extern XmFontListEntry XmFontListEntryLoad( 
1752                         Display *display,
1753                         char *fontName,
1754                         XmFontType type,
1755                         char *tag) ;
1756 extern XmFontList XmFontListCreate( 
1757                         XFontStruct *font,
1758                         XmStringCharSet charset) ;
1759 extern XmFontList XmFontListCreate_r(
1760                         XFontStruct *font,
1761                         XmStringCharSet charset,
1762                         Widget wid) ;
1763 extern XmFontList XmStringCreateFontList( 
1764                         XFontStruct *font,
1765                         XmStringCharSet charset) ;
1766 extern XmFontList XmStringCreateFontList_r(
1767                         XFontStruct *font,
1768                         XmStringCharSet charset,
1769                         Widget wid) ;
1770 extern void XmFontListFree( 
1771                         XmFontList fontlist) ;
1772 extern XmFontList XmFontListAdd( 
1773                         XmFontList old,
1774                         XFontStruct *font,
1775                         XmStringCharSet charset) ;
1776 extern XmFontList XmFontListCopy( 
1777                         XmFontList fontlist) ;
1778 extern Boolean XmFontListInitFontContext( 
1779                         XmFontContext *context,
1780                         XmFontList fontlist) ;
1781 extern Boolean XmFontListGetNextFont( 
1782                         XmFontContext context,
1783                         XmStringCharSet *charset,
1784                         XFontStruct **font) ;
1785 extern void XmFontListFreeFontContext( 
1786                         XmFontContext context) ;
1787 extern XmString XmStringConcat( 
1788                         XmString a,
1789                         XmString b) ;
1790 extern XmString XmStringConcatAndFree(
1791             XmString a, 
1792             XmString b) ;
1793 extern XmString XmStringNConcat( 
1794                         XmString first,
1795                         XmString second,
1796                         int n) ;
1797 extern XmString XmStringCopy( 
1798                         XmString string) ;
1799 extern XmString XmStringNCopy( 
1800                         XmString str,
1801                         int n) ;
1802 extern Boolean XmStringByteCompare( 
1803                         XmString a1,
1804                         XmString b1) ;
1805 extern Boolean XmStringCompare( 
1806                         XmString a,
1807                         XmString b) ;
1808 extern int XmStringLength( 
1809                         XmString string) ;
1810 extern Boolean XmStringEmpty( 
1811                         XmString string) ;
1812 extern Boolean XmStringIsVoid(XmString string); 
1813 extern Boolean XmStringHasSubstring( 
1814                         XmString string,
1815                         XmString substring) ;
1816 extern void XmStringFree( 
1817                         XmString string) ;
1818 extern Dimension XmStringBaseline( 
1819                         XmFontList fontlist,
1820                         XmString string) ;
1821 extern Dimension XmStringWidth( 
1822                         XmFontList fontlist,
1823                         XmString string) ;
1824 extern Dimension XmStringHeight( 
1825                         XmFontList fontlist,
1826                         XmString string) ;
1827 extern void XmStringExtent( 
1828                         XmFontList fontlist,
1829                         XmString string,
1830                         Dimension *width,
1831                         Dimension *height) ;
1832 extern int XmStringLineCount( 
1833                         XmString string) ;
1834 extern void XmStringDraw( 
1835                         Display *d,
1836                         Window w,
1837                         XmFontList fontlist,
1838                         XmString string,
1839                         GC gc,
1840 #if NeedWidePrototypes
1841                         int x,
1842                         int y,
1843                         int width,
1844                         unsigned int align,
1845                         unsigned int lay_dir,
1846 #else
1847                         Position x,
1848                         Position y,
1849                         Dimension width,
1850                         unsigned char align,
1851                         unsigned char lay_dir,
1852 #endif /* NeedWidePrototypes */
1853                         XRectangle *clip) ;
1854 extern void XmStringDrawImage( 
1855                         Display *d,
1856                         Window w,
1857                         XmFontList fontlist,
1858                         XmString string,
1859                         GC gc,
1860 #if NeedWidePrototypes
1861                         int x,
1862                         int y,
1863                         int width,
1864                         unsigned int align,
1865                         unsigned int lay_dir,
1866 #else
1867                         Position x,
1868                         Position y,
1869                         Dimension width,
1870                         unsigned char align,
1871                         unsigned char lay_dir,
1872 #endif /* NeedWidePrototypes */
1873                         XRectangle *clip) ;
1874 extern void XmStringDrawUnderline( 
1875                         Display *d,
1876                         Window w,
1877                         XmFontList fntlst,
1878                         XmString str,
1879                         GC gc,
1880 #if NeedWidePrototypes
1881                         int x,
1882                         int y,
1883                         int width,
1884                         unsigned int align,
1885                         unsigned int lay_dir,
1886 #else
1887                         Position x,
1888                         Position y,
1889                         Dimension width,
1890                         unsigned char align,
1891                         unsigned char lay_dir,
1892 #endif /* NeedWidePrototypes */
1893                         XRectangle *clip,
1894                         XmString under) ;
1895 extern unsigned int XmCvtXmStringToByteStream(
1896             XmString string,
1897                     unsigned char **prop_return);
1898 extern XmString XmCvtByteStreamToXmString(
1899                     unsigned char *property);
1900 extern unsigned int XmStringByteStreamLength(unsigned char *string);
1901 extern XmStringComponentType XmStringPeekNextTriple(XmStringContext context);
1902 extern XmStringComponentType XmStringGetNextTriple(XmStringContext context,
1903                            unsigned int *length,
1904                            XtPointer *value);
1905 extern XmString XmStringComponentCreate(XmStringComponentType tag,
1906                     unsigned int length,
1907                     XtPointer value);
1908 extern XtPointer XmStringUnparse(XmString string,
1909                  XmStringTag tag,
1910                  XmTextType tag_type,
1911                  XmTextType output_type,
1912                  XmParseTable parse_table,
1913                  Cardinal parse_count,
1914                  XmParseModel parse_model);
1915 extern XmString XmStringParseText(XtPointer text,
1916                   XtPointer *text_end,
1917                   XmStringTag tag,
1918                   XmTextType type,
1919                   XmParseTable parse_table,
1920                   Cardinal parse_count,
1921                   XtPointer call_data);
1922 extern Cardinal XmStringToXmStringTable(XmString string,
1923                     XmString break_comp,
1924                     XmStringTable *table);
1925 extern XmString XmStringTableToXmString(XmStringTable table,
1926                     Cardinal count,
1927                     XmString break_component);
1928 extern XtPointer *XmStringTableUnparse(XmStringTable table,
1929                        Cardinal count,
1930                        XmStringTag tag,
1931                        XmTextType tag_type,
1932                        XmTextType output_type,
1933                        XmParseTable parse,
1934                        Cardinal parse_count,
1935                        XmParseModel parse_model);
1936 extern XmStringTable XmStringTableParseStringArray(XtPointer *strings,
1937                            Cardinal count,
1938                            XmStringTag tag,
1939                            XmTextType type,
1940                            XmParseTable parse,
1941                            Cardinal parse_count,
1942                            XtPointer call_data);
1943 
1944 extern XmStringDirection XmDirectionToStringDirection(XmDirection dir);
1945 extern XmDirection XmStringDirectionToDirection(XmStringDirection dir);
1946 
1947 extern XmString XmStringGenerate(XtPointer   text,
1948                  XmStringTag tag,
1949                  XmTextType  type,
1950                  XmStringTag rendition);
1951 extern XmString XmStringPutRendition(XmString string,
1952                      XmStringTag rendition); 
1953 
1954 extern XmParseMapping XmParseMappingCreate(ArgList  arg_list,
1955                        Cardinal arg_count);
1956 extern void XmParseMappingSetValues(XmParseMapping parse_mapping,
1957                     ArgList        arg_list,
1958                     Cardinal       arg_count);
1959 extern void XmParseMappingGetValues(XmParseMapping parse_mapping,
1960                     ArgList        arg_list,
1961                     Cardinal       arg_count);
1962 extern void XmParseMappingFree(XmParseMapping parse_mapping);
1963 extern void XmParseTableFree(XmParseTable parse_table,
1964                  Cardinal     parse_count);
1965 
1966 /********    End Public Function Declarations    ********/
1967 
1968 /********    Public Function Declarations for XmTabList.c    ********/
1969 
1970 extern XmTabList 
1971   XmStringTableProposeTablist(XmStringTable strings, 
1972                   Cardinal num_strings,
1973                   Widget widget,
1974                   float pad_value,
1975                   XmOffsetModel offset_model);
1976 extern void XmTabSetValue(XmTab xmtab, float value);
1977 extern float 
1978   XmTabGetValues(XmTab xmtab, 
1979          unsigned char *units, 
1980          XmOffsetModel *offset, 
1981          unsigned char *alignment, 
1982          char **decimal);
1983 extern void XmTabFree(XmTab xmtab);
1984 extern XmTab XmTabCreate(float value, 
1985              unsigned char units, 
1986              XmOffsetModel offset_model, 
1987              unsigned char alignment, 
1988              char *decimal);
1989 extern XmTabList 
1990   XmTabListRemoveTabs(XmTabList oldlist, 
1991               Cardinal *position_list, 
1992               Cardinal position_count);
1993 extern XmTabList 
1994   XmTabListReplacePositions(XmTabList oldlist, 
1995                 Cardinal *position_list, 
1996                 XmTab *tabs, 
1997                 Cardinal tab_count);
1998 extern XmTab XmTabListGetTab(XmTabList tablist, Cardinal position);
1999 extern Cardinal XmTabListTabCount(XmTabList tablist);
2000 extern XmTabList XmTabListCopy(XmTabList tablist, int offset, Cardinal count);
2001 extern void XmTabListFree(XmTabList tablist);
2002 extern XmTabList XmTabListInsertTabs(XmTabList oldlist,
2003                      XmTab *tabs, 
2004                      Cardinal tab_count, 
2005                      int position);
2006 /********    End Public Function Declarations    ********/
2007 
2008 /********    Public Function Declarations for XmRenderTable.c    ********/
2009 
2010 extern XmRenderTable XmRenderTableCvtFromProp(Widget, char *prop, unsigned int len);
2011 extern unsigned int XmRenderTableCvtToProp(Widget, XmRenderTable table, char **prop_return);
2012 extern void XmRenditionUpdate(XmRendition rendition, ArgList arglist, Cardinal argcount);
2013 extern void XmRenditionRetrieve(XmRendition rendition, 
2014                 ArgList arglist,
2015                 Cardinal argcount);
2016 extern void XmRenditionFree(XmRendition rendition);
2017 extern XmRendition XmRenditionCreate(Widget widget,
2018                      XmStringTag tag,
2019                      ArgList arglist,
2020                      Cardinal argcount);
2021 extern XmRendition 
2022   *XmRenderTableGetRenditions(XmRenderTable table, 
2023                   XmStringTag *tags,
2024                   Cardinal tag_count);
2025 extern XmRendition XmRenderTableGetRendition(XmRenderTable table,
2026                          XmStringTag tag);
2027 extern int XmRenderTableGetTags(XmRenderTable table,
2028                 XmStringTag **tag_list);
2029 extern void XmRenderTableFree(XmRenderTable table);
2030 extern XmRenderTable XmRenderTableCopy(XmRenderTable table,
2031                        XmStringTag *tags, 
2032                        int tag_count);
2033 extern XmRenderTable 
2034   XmRenderTableRemoveRenditions(XmRenderTable oldtable,
2035                 XmStringTag *tags, 
2036                 int tag_count);
2037 extern XmRenderTable 
2038   XmRenderTableAddRenditions(XmRenderTable oldtable, 
2039                  XmRendition *renditions, 
2040                  Cardinal rendition_count, 
2041                  XmMergeMode merge_mode);
2042 
2043 /********    End Public Function Declarations    ********/
2044 
2045 /********    Public Function Declarations for Dest.c    ********/
2046 
2047 extern Widget XmGetDestination( 
2048                         Display *display) ;
2049 
2050 /********    End Public Function Declarations    ********/
2051 
2052 /********    Public Function Declarations for Traversal.c    ********/
2053 
2054 extern Boolean XmIsTraversable( 
2055                         Widget wid) ;
2056 extern XmVisibility XmGetVisibility( 
2057                         Widget wid) ;
2058 extern Widget XmGetTabGroup( 
2059                         Widget wid) ;
2060 extern Widget XmGetFocusWidget( 
2061                         Widget wid) ;
2062 extern Boolean XmProcessTraversal( 
2063                         Widget w,
2064                         XmTraversalDirection dir) ;
2065 extern void XmAddTabGroup( 
2066                         Widget tabGroup) ;
2067 extern void XmRemoveTabGroup( 
2068                         Widget w) ;
2069 
2070 /********    End Public Function Declarations    ********/
2071 
2072 /********        ********/
2073 
2074 #ifdef __cplusplus
2075 }  /* Close scope of 'extern "C"' declaration which encloses file. */
2076 #endif
2077 
2078 /*
2079  * The following includes are for source compatibility.  They might be
2080  *    removed at some future time.
2081  */
2082 #include <Xm/VendorS.h>
2083 #include <Xm/XmIm.h>
2084 
2085 #define XmINDICATOR_3D_BOX      0x01
2086 #define XmINDICATOR_FLAT_BOX        0x02
2087 #define XmINDICATOR_CHECK_GLYPH     0x10
2088 #define XmINDICATOR_CROSS_GLYPH     0x20
2089 
2090 enum {
2091   XmINDICATOR_NONE      = 0, 
2092   XmINDICATOR_FILL      = 1,    /* Treated as _BOX or _CHECK_BOX */
2093   XmINDICATOR_BOX   = 255,  /* Treated as XmINDICATOR_3D_BOX */
2094   XmINDICATOR_CHECK     = XmINDICATOR_CHECK_GLYPH,
2095   XmINDICATOR_CHECK_BOX = XmINDICATOR_CHECK_GLYPH + XmINDICATOR_3D_BOX,
2096   XmINDICATOR_CROSS     = XmINDICATOR_CROSS_GLYPH,
2097   XmINDICATOR_CROSS_BOX = XmINDICATOR_CROSS_GLYPH + XmINDICATOR_3D_BOX
2098 };
2099 
2100 enum { XmUNSET, XmSET, XmINDETERMINATE };
2101 enum { XmTOGGLE_BOOLEAN, XmTOGGLE_INDETERMINATE };
2102 typedef unsigned char XmToggleButtonState;
2103 
2104 /* Shared text enum. */
2105 typedef enum { EditDone, EditError, EditReject } XmTextStatus;
2106 
2107 /* XmDisplay.XmNdefaultButtonEmphasis enum */
2108 enum { XmEXTERNAL_HIGHLIGHT, XmINTERNAL_HIGHLIGHT };
2109 
2110 /* new for XmString */
2111 #define _MOTIF_DEFAULT_LOCALE "_MOTIF_DEFAULT_LOCALE"
2112 
2113 enum { XmPATH_MODE_FULL, XmPATH_MODE_RELATIVE };
2114 enum { XmFILTER_NONE, XmFILTER_HIDDEN_FILES} ;
2115   
2116 #endif /* _Xm_h */
2117  /* DON'T ADD STUFF AFTER THIS #endif */