Copyright (C) 1994, Digital Equipment Corp.
Contributed by Harry George (hgeorge@eskimo.com), 5/16/95
UNSAFE INTERFACEXm ;
Generated from Xm.h by ctom3 on 7/26/93
then finished by hand
FROM Ctypes IMPORT char, char_star, int_star, long, unsigned_char; IMPORT Word,X,Xt,Xatom,Xrm;
IMPORT X11/intrinsic; IMPORT X11/Vendor; IMPORT Xm/VirtKeys;
VAR SCCSID:= "OSF/Motif: Xm.h 3.67 91/01/10";
***************************************************************************** ******************************************************************************* * * (c) Copyright 1989, 1990, 1991 OPEN SOFTWARE FOUNDATION, INC. * (c) Copyright 1987, 1988, 1989, 1990, HEWLETT-PACKARD COMPANY * ALL RIGHTS RESERVED * * THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED * AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND * WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR * ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE * AVAILABLE TO ANY OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE * SOFTWARE IS HEREBY TRANSFERRED. * * THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT * NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY OPEN SOFTWARE * FOUNDATION, INC. OR ITS THIRD PARTY SUPPLIERS * * OPEN SOFTWARE FOUNDATION, INC. AND ITS THIRD PARTY SUPPLIERS, * ASSUME NO RESPONSIBILITY FOR THE USE OR INABILITY TO USE ANY OF ITS * SOFTWARE . OSF SOFTWARE IS PROVIDEDAS IS
WITHOUT WARRANTY OF ANY * KIND, AND OSF EXPRESSLY DISCLAIMS ALL IMPLIED WARRANTIES, INCLUDING * BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE. * * Notice: Notwithstanding any other lease or license that may pertain to, * or accompany the delivery of, this computer software, the rights of the * Government regarding its use, reproduction and disclosure are as set * forth in Section 52.227-19 of the FARS Computer Software-Restricted * Rights clause. * * (c) Copyright 1989, 1990, 1991 Open Software Foundation, Inc. Unpublished - all * rights reserved under the Copyright laws of the United States. * * RESTRICTED RIGHTS NOTICE: Use, duplication, or disclosure by the * Government is subject to the restrictions as set forth in subparagraph * (c)(1)(ii) of the Rights in Technical Data and Computer Software clause * at DFARS 52.227-7013. * * Open Software Foundation, Inc. * 11 Cambridge Center * Cambridge, MA 02142 * (617)621-8700 * * RESTRICTED RIGHTS LEGEND: This computer software is submitted with *restricted rights.
Use, duplication or disclosure is subject to the * restrictions as set forth in NASA FAR SUP 18-52.227-79 (April 1985) *Commercial Computer Software- Restricted Rights (April 1985).
Open * Software Foundation, Inc., 11 Cambridge Center, Cambridge, MA 02142. If * the contract contains the Clause at 18-52.227-74Rights in Data General
* then theAlternate III
clause applies. * * (c) Copyright 1989, 1990, 1991 Open Software Foundation, Inc. * ALL RIGHTS RESERVED * * * Open Software Foundation is a trademark of The Open Software Foundation, Inc. * OSF is a trademark of Open Software Foundation, Inc. * OSF/Motif is a trademark of Open Software Foundation, Inc. * Motif is a trademark of Open Software Foundation, Inc. * DEC is a registered trademark of Digital Equipment Corporation * DIGITAL is a registered trademark of Digital Equipment Corporation * X. Window System is a trademark of the Massachusetts Institute of Technology * ******************************************************************************* *****************************************************************************
CONST VERSION = 1; CONST REVISION = 1; PROCEDURE Version():INTEGER; VAR xmUseVersion : INTEGER ; TYPE Cardinal = INTEGER;define used to denote an unspecified pixmap
CONST UNSPECIFIED_PIXMAP = 2;define charset constants
VAR STRING_ISO8859_1:char_star; VAR STRING_OS_CHARSET:char_star; VAR FALLBACK_CHARSET:char_star;*************** * * XmString structure defines. These must be here (at the start of the file) * becaused they are used later on. * ***************
CONST STRING_DIRECTION_L_TO_R = 0; CONST STRING_DIRECTION_R_TO_L = 1; CONST STRING_DIRECTION_DEFAULT = 255; TYPE String = char_star; (* opaque to outside *) TYPE StringTable = UNTRACED REF String; (* opaque to outside *) TYPE StringcharSet = UNTRACED REF char; (* Null term string *) TYPE StringComponentType = unsigned_char; (* component tags *) TYPE StringDirection = unsigned_char; TYPE FontList = UNTRACED ROOT; (* opaque to outside *) TYPE uStringContext = UNTRACED ROOT; (* opaque to outside *) TYPE uString = UNTRACED ROOT; (* opaque to outside *) TYPE StringContext = UNTRACED ROOT; (* opaque to outside *) TYPE FontContext = UNTRACED ROOT; (* opaque to outside *) CONST STRING_COMPONENT_UNKNOWN = 0; CONST STRING_COMPONENT_CHARSET = 1; CONST STRING_COMPONENT_TEXT = 2; CONST STRING_COMPONENT_DIRECTION = 3; CONST STRING_COMPONENT_SEPARATOR = 4 (* 5-125 reserved *); CONST STRING_COMPONENT_END = 126 (* no more comp in string *); CONST STRING_COMPONENT_USER_BEGIN = 128 (* 128-255 are user tags *); CONST STRING_COMPONENT_USER_END = 255; VAR STRING_DEFAULT_CHARSET:char_star;*********************************************************************** * Resource names * Taken from StringDefs, with Xt. replaced by Xm. ***********************************************************************
Class types
Representation types
VAR RAcceleratorTable:char_star; VAR RAlignment:char_star; VAR RXmBackgroundPixmap:char_star; VAR RBool:char_star; VAR RBoolean:char_star; VAR RButtonType:char_star; VAR RCallback:char_star; VAR RCallbackProc:char_star; VAR RCallProc:char_star; VAR Rchar:char_star; VAR RcharSetTable:char_star; VAR RColor:char_star; VAR RCommandWindowLocation:char_star; VAR RCompoundText:char_star; VAR RCursor:char_star; VAR RDimension:char_star; VAR RDisplay:char_star; VAR REditMode:char_star; VAR RFile:char_star; VAR RFont:char_star; VAR RFontList:char_star; VAR RFontStruct:char_star; VAR RFunction:char_star; VAR RGeometry:char_star; VAR RHorizontalDimension:char_star; VAR RHorizontalPosition:char_star; VAR RImmediate:char_star; VAR RIndicatorType:char_star; VAR Rint:char_star; VAR RJustify:char_star; VAR RKeySym:char_star; VAR RKeySymTable:char_star; VAR RLabelType:char_star; VAR RMenuWidget:char_star; VAR RMnemonic:char_star; VAR RNavigationType:char_star; VAR ROrientation:char_star; VAR RPacking:char_star; VAR RPixel:char_star; VAR RPixmap:char_star; VAR RGadgetPixmap:char_star; VAR RPointer:char_star; VAR RPosition:char_star; VAR RProc:char_star; VAR RRowColumnType:char_star; VAR Rshort:char_star; VAR RString:char_star; VAR RStringDirection:char_star; VAR RStringTable:char_star; VAR RTextPosition:char_star; VAR Runsigned_char:char_star; VAR RVerticalDimension:char_star; VAR RVerticalPosition:char_star; VAR RTranslationTable:char_star; VAR RTraversalType:char_star; VAR RWhichButton:char_star; VAR RWidget:char_star; VAR RWidgetList:char_star; VAR RWidgetClass:char_star; VAR RWindow:char_star; VAR RXmString:char_star; VAR RXmStringTable:char_star; VAR RXmStringcharSet:char_star;*********************************************************************** * Resource names * Taken from Shell.h, Xt. replaced by Xm ***********************************************************************
*************** * * New R4 psudo defines * ***************
*********************************************************************** * Include VendorE.h in order to get it's resources, so a caller * doesn't have to include it explicitly ***********************************************************************
CONST EXPLICIT = 0; CONST POINTER = 1;*********************************************************************** * * Base widget class and record definitions. * Included are the definitions for XmPrimitive, XmManager, * and XmGadget. * ***********************************************************************
Primitive widget class and record definitions
VAR xmPrimitiveWidgetClass : Xt.WidgetClass ; TYPE PrimitiveWidgetClass = UNTRACED ROOT; TYPE PrimitiveWidget = UNTRACED ROOT;Gadget widget class and record definitions
VAR xmGadgetClass : Xt.WidgetClass ; TYPE GadgetClass = UNTRACED ROOT; TYPE Gadget = UNTRACED ROOT;Manager widger class and record definitions
VAR xmManagerWidgetClass : Xt.WidgetClass ; TYPE ManagerWidgetClass = UNTRACED ROOT; TYPE ManagerWidget = UNTRACED ROOT;*********************************************************************** * Fast subclassing -- just do Xt.IsSubclass now. To be replaced. ***********************************************************************
CONST XmIsPrimitive=TRUE; XmIsGadget =TRUE; XmIsManager = TRUE;*********************************************************************** * Primitive Resources and define values ***********************************************************************
VAR RPrimForegroundPixmap:char_star; VAR RManForegroundPixmap:char_star; VAR RBackgroundPixmap:char_star; VAR RSizePolicy:char_star; VAR RPrimHighlightPixmap:char_star; VAR RPrimTopShadowPixmap:char_star; VAR RPrimBottomShadowPixmap:char_star; VAR RUnitType:char_star;size policy values
CONST CHANGE_ALL = 0; CONST CHANGE_NONE = 1; CONST CHANGE_WIDTH = 2; CONST CHANGE_HEIGHT = 3;unit type values NOTE: Used leading
u
to make valid symbols in m3
CONST PIXELS = 0; CONST u100TH_MILLIMETERS = 1; CONST u1000TH_INCHES = 2; CONST u100TH_POINTS = 3; CONST u100TH_FONT_UNITS = 4;*********************************************************************** * Navigation defines ***********************************************************************
CONST NONE = 0; CONST TAB_GROUP = 1; CONST STICKY_TAB_GROUP = 2; CONST EXCLUSIVE_TAB_GROUP = 3; CONST DYNAMIC_DEFAULT_TAB_GROUP = 255;*********************************************************************** * Manager Resources and define values ***********************************************************************
VAR RManTopShadowPixmap:char_star; VAR RManBottomShadowPixmap:char_star; VAR RManHighlightPixmap:char_star;*********************************************************************** * Menu defines ***********************************************************************
CONST NO_ORIENTATION = 0; CONST VERTICAL = 1; CONST HORIZONTAL = 2; CONST WORK_AREA = 0; CONST MENU_BAR = 1; CONST MENU_PULLDOWN = 2; CONST MENU_POPUP = 3; CONST MENU_OPTION = 4; CONST NO_PACKING = 0; CONST PACK_TIGHT = 1; CONST PACK_COLUMN = 2; CONST PACK_NONE = 3;*********************************************************************** * Label defines ***********************************************************************
CONST ALIGNMENT_BEGINNING = 0; CONST ALIGNMENT_CENTER = 1; CONST ALIGNMENT_END = 2;*********************************************************************** * ToggleButton defines ***********************************************************************
CONST N_OF_MANY = 1; CONST ONE_OF_MANY = 2;*********************************************************************** * Form resources and defines ***********************************************************************
Form resources
VAR RResizePolicy:char_star;Form constraint resources
VAR RAttachment:char_star;Form defines
CONST ATTACH_NONE = 0; CONST ATTACH_FORM = 1; CONST ATTACH_OPPOSITE_FORM = 2; CONST ATTACH_WIDGET = 3; CONST ATTACH_OPPOSITE_WIDGET = 4; CONST ATTACH_POSITION = 5; CONST ATTACH_SELF = 6; CONST RESIZE_NONE = 0; CONST RESIZE_GROW = 1; CONST RESIZE_ANY = 2 (* for BulletinBoard, DrawingArea *) ;*************************************************************************** * Callback reasons ***************************************************************************
CONST CR_NONE = 0; CONST CR_HELP = 1; CONST CR_VALUE_CHANGED = 2; CONST CR_INCREMENT = 3; CONST CR_DECREMENT = 4; CONST CR_PAGE_INCREMENT = 5; CONST CR_PAGE_DECREMENT = 6; CONST CR_TO_TOP = 7; CONST CR_TO_BOTTOM = 8; CONST CR_DRAG = 9; CONST CR_ACTIVATE = 10; CONST CR_ARM = 11; CONST CR_DISARM = 12; CONST CR_MAP = 16; CONST CR_UNMAP = 17; CONST CR_FOCUS = 18; CONST CR_LOSING_FOCUS = 19; CONST CR_MODIFYING_TEXT_VALUE = 20; CONST CR_MOVING_INSERT_CURSOR = 21; CONST CR_EXECUTE = 22; CONST CR_SINGLE_SELECT = 23; CONST CR_MULTIPLE_SELECT = 24; CONST CR_EXTENDED_SELECT = 25; CONST CR_BROWSE_SELECT = 26; CONST CR_DEFAULT_ACTION = 27; CONST CR_CLIPBOARD_DATA_REQUEST = 28; CONST CR_CLIPBOARD_DATA_DELETE = 29; CONST CR_CASCADING = 30; CONST CR_OK = 31; CONST CR_CANCEL = 32; CONST CR_APPLY = 34; CONST CR_NO_MATCH = 35; CONST CR_COMMAND_ENTERED = 36; CONST CR_COMMAND_CHANGED = 37; CONST CR_EXPOSE = 38; CONST CR_RESIZE = 39; CONST CR_INPUT = 40; CONST CR_GAIN_PRIMARY = 41; CONST CR_LOSE_PRIMARY = 42;*********************************************************************** * Callback structures ***********************************************************************
TYPE AnyCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; END; (* AnyCallbackStruct*) TYPE ArrowButtonCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; click_count : INTEGER ; END; (* ArrowButtonCallbackStruct*) TYPE DrawingAreaCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; window : X.Window ; END; (* DrawingAreaCallbackStruct*) TYPE DrawnButtonCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; window : X.Window ; click_count : INTEGER ; END; (* DrawnButtonCallbackStruct*) TYPE PushButtonCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; click_count : INTEGER ; END; (* PushButtonCallbackStruct*) TYPE RowColumnCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; widget : Xt.Widget ; data : char_star ; callbackstruct : char_star ; END; (* RowColumnCallbackStruct*) TYPE ScrollBarCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; value : INTEGER ; pixel : INTEGER ; END; (* ScrollBarCallbackStruct*) TYPE ToggleButtonCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; set : INTEGER ; END; (* ToggleButtonCallbackStruct*) TYPE ListCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; item : String ; item_length : INTEGER ; item_position : INTEGER ; selected_items : Xt.StringStar ; selected_item_count : INTEGER ; selected_item_positions : int_star; selection_type : char ; END; (* ListCallbackStruct*) TYPE SelectionBoxCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; value : String ; length : INTEGER ; END; (* SelectionBoxCallbackStruct*) TYPE CommandCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; value : String ; length : INTEGER ; END; (* CommandCallbackStruct*) TYPE FileSelectionBoxCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; value : String ; length : INTEGER ; mask : String ; mask_length : INTEGER ; dir : String ; dir_length : INTEGER ; pattern : String ; pattern_length : INTEGER ; END; (* FileSelectionBoxCallbackStruct*) TYPE ScaleCallbackStruct = RECORD reason : INTEGER ; event : X.XEventStar ; value : INTEGER ; END; (* ScaleCallbackStruct*)*********************************************************************** * PushButton defines ***********************************************************************
VAR RBooleanDimension:char_star; VAR RMultiClick:char_star; CONST MULTICLICK_DISCARD = 0; CONST MULTICLICK_KEEP = 1;*********************************************************************** * DrawnButton defines ***********************************************************************
VAR RShadowType:char_star; CONST SHADOW_IN = 7; CONST SHADOW_OUT = 8;*********************************************************************** * Arrow defines ***********************************************************************
VAR RArrowDirection:char_star; CONST ARROW_UP = 0; CONST ARROW_DOWN = 1; CONST ARROW_LEFT = 2; CONST ARROW_RIGHT = 3;*********************************************************************** * Separator defines ***********************************************************************
VAR RMargin:char_star; VAR RSeparatorType:char_star; CONST NO_LINE = 0; CONST SINGLE_LINE = 1; CONST DOUBLE_LINE = 2; CONST SINGLE_DASHED_LINE = 3; CONST DOUBLE_DASHED_LINE = 4; CONST SHADOW_ETCHED_IN = 5; CONST SHADOW_ETCHED_OUT = 6; CONST PIXMAP = 1; CONST STRING = 2;*********************************************************************** * ScrollBar resource names and #defines ***********************************************************************
VAR RProcessingDirection:char_star;Defined values for scrollbar
CONST MAX_ON_TOP = 0; CONST MAX_ON_BOTTOM = 1; CONST MAX_ON_LEFT = 2; CONST MAX_ON_RIGHT = 3;*********************************************************************** * * * List Widget defines * * * ***********************************************************************
VAR RListSpacing:char_star; VAR RListMarginWidth:char_star; VAR RListMarginHeight:char_star; VAR RItems:char_star; VAR RItemCount:char_star; VAR RSelectedItems:char_star; VAR RSelectedItemCount:char_star; VAR RVisibleItemCount:char_star; VAR RSelectionPolicy:char_star; VAR RListSizePolicy:char_star; VAR RDoubleClickinterval:char_star;*************** * * Selection types * ***************
CONST SINGLE_SELECT = 0; CONST MULTIPLE_SELECT = 1; CONST EXTENDED_SELECT = 2; CONST BROWSE_SELECT = 3; CONST STATIC = 0; CONST DYNAMIC = 1;*********************************************************************** * * * Scrolled Window defines. * * * ***********************************************************************
VAR RScrollingPolicy:char_star; VAR RVisualPolicy:char_star; VAR RScrollBarDisplayPolicy:char_star; VAR RScrollBarPlacement:char_star; CONST VARIABLE = 0; CONST CONSTANT = 1; CONST RESIZE_IF_POSSIBLE = 2; CONST AUTOMATIC = 0; CONST APPLICATION_DEFINED = 1;#define XmSTATIC 0 ** This is already defined by List **
CONST AS_NEEDED = 1; CONST SW_TOP = 1; CONST SW_BOTTOM = 0; CONST SW_LEFT = 2; CONST SW_RIGHT = 0; CONST TOP_LEFT = SW_TOP + SW_LEFT; CONST BOTTOM_LEFT = SW_BOTTOM + SW_LEFT; CONST TOP_RIGHT = SW_TOP + SW_RIGHT; CONST BOTTOM_RIGHT = SW_BOTTOM + SW_RIGHT;*********************************************************************** * * * MainWindow Resources * * * ***********************************************************************
CONST COMMAND_ABOVE_WORKSPACE = 0; CONST COMMAND_BELOW_WORKSPACE = 1;*********************************************************************** * * * Text Widget defines * * * ***********************************************************************
CONST MULTI_LINE_EDIT = 0; CONST SINGLE_LINE_EDIT = 1; TYPE TextPosition = long; TYPE TextFormat = X.Atom; CONST FMT8BIT = Xatom.XA_STRING; CONST FMT16BIT= 2; TYPE XmTextScanType = { XmSELECT_POSITION, XmSELECT_WHITESPACE, XmSELECT_WORD, XmSELECT_LINE, XmSELECT_ALL, XmSELECT_PARAGRAPH } ; TYPE XmHighlightMode = {XmHIGHLIGHT_NORMAL, XmHIGHLIGHT_SELECTED, XmHIGHLIGHT_SECONDARY_SELECTED} ;XmTextBlock's are used to pass text around.
TYPE TextBlockRec = RECORD ptr : char_star ; length : INTEGER ; format : TextFormat ; END; (* TextBlockRec, *TextBlock*) TextBlock = UNTRACED REF TextBlockRec; TYPE TextVerifyCallbackStruct= RECORD reason : INTEGER ; event : X.XEventStar ; doit : X.Bool ; currInsert, newInsert : long ; startPos, endPos : long ; text : TextBlock ; END; (* TextVerifyCallbackStruct, *TextVerifyPtr*) TextVerifyPtr = UNTRACED REF TextVerifyCallbackStruct;functions renamed after 1.0 release due to resource name overlap
*********************************************************************** * * * VPaned Widget defines * * * ***********************************************************************
*********************************************************************** * * * DrawingArea defines * * ***********************************************************************
*********************************************************************** * * * DIALOG defines.. BulletinBoard and things common to its subclasses * * CommandBox MessageBox Selection FileSelection * * * ***********************************************************************
child type defines for Xm...GetChild()
CONST DIALOG_NONE = 0 (* a valid default button type *); CONST DIALOG_APPLY_BUTTON = 1; CONST DIALOG_CANCEL_BUTTON = 2; CONST DIALOG_DEFAULT_BUTTON = 3; CONST DIALOG_OK_BUTTON = 4; CONST DIALOG_FILTER_LABEL = 5; CONST DIALOG_FILTER_TEXT = 6; CONST DIALOG_HELP_BUTTON = 7; CONST DIALOG_LIST = 8; CONST DIALOG_LIST_LABEL = 9; CONST DIALOG_MESSAGE_LABEL = 10; CONST DIALOG_SELECTION_LABEL = 11; CONST DIALOG_SYMBOL_LABEL = 12; CONST DIALOG_TEXT = 13; CONST DIALOG_SEPARATOR = 14; CONST DIALOG_DIR_LIST = 15; CONST DIALOG_DIR_LIST_LABEL = 16; VAR RDialogStyle:char_star;dialog style defines
CONST DIALOG_MODELESS = 0; CONST DIALOG_PRIMARY_APPLICATION_MODAL = 1; CONST DIALOG_FULL_APPLICATION_MODAL = 2; CONST DIALOG_SYSTEM_MODAL = 3;*********************************************************************** * XmSelectionBox, XmFileSelectionBox and XmCommand - misc. stuff * **********************************************************************
VAR RFileTypeMask:char_star;Defines for file type mask:
CONST FILE_DIRECTORY = Word.Shift(1, 0); CONST FILE_REGULAR = Word.Shift(1, 1); CONST FILE_ANY_TYPE = Word.Plus(FILE_DIRECTORY,FILE_REGULAR);Defines for selection dialog type:
CONST DIALOG_WORK_AREA = 0; CONST DIALOG_PROMPT = 1; CONST DIALOG_SELECTION = 2; CONST DIALOG_COMMAND = 3; CONST DIALOG_FILE_SELECTION = 4;*********************************************************************** * XmMessageBox stuff not common to other dialogs * **********************************************************************
VAR RDefaultButtonType:char_star; VAR RDialogType:char_star;defines for dialog type
CONST DIALOG_ERROR = 1; CONST DIALOG_INFORMATION = 2; CONST DIALOG_MESSAGE = 3; CONST DIALOG_QUESTION = 4; CONST DIALOG_WARNING = 5; CONST DIALOG_WORKING = 6;*********************************************************************** * Resource names used by XmScale *********************************************************************** Traversal direction defines
CONST TRAVERSE_CURRENT = 0; CONST TRAVERSE_NEXT = 1; CONST TRAVERSE_PREV = 2; CONST TRAVERSE_HOME = 3; CONST TRAVERSE_NEXT_TAB_GROUP = 4; CONST TRAVERSE_PREV_TAB_GROUP = 5; CONST TRAVERSE_UP = 6; CONST TRAVERSE_DOWN = 7; CONST TRAVERSE_LEFT = 8; CONST TRAVERSE_RIGHT = 9;********************************************************************* * * Color generation function. * *********************************************************************
TYPE ColorProc = PROCEDURE ( bg_color,fg_color,sel_color,ts_color,bs_color:UNTRACED REF X.XColor; ); <*EXTERNAL "_XmSetColorCalculation":C*> PROCEDURE SetColorCalculation(proc:ColorProc): ColorProc ; <*EXTERNAL "_XmGetColorCalculation":C*> PROCEDURE GetColorCalculation(): ColorProc ; <*EXTERNAL "_XmGetColors":C*> PROCEDURE GetColors (screen:X.ScreenStar; color_map:X.Colormap; background:Xt.Pixel; foreground_ret,top_shadow_ret, bottom_shadow_ret, select_ret:UNTRACED REF Xt.Pixel);********************************************************************* * * extern for the string to unit type converter. * *********************************************************************
<*EXTERNAL "_XmCvtStringToUnitType":C*> PROCEDURE CvtStringToUnitType(args:Xrm.ValuePtr; num_args:int_star; from_val,to_val: UNTRACED REF Xrm.Value); <*EXTERNAL "_XmSetFontUnit":C*> PROCEDURE SetFontUnit(display:X.DisplayStar;value:INTEGER); <*EXTERNAL "_XmSetFontUnits":C*> PROCEDURE SetFontUnits(display: X.DisplayStar; hvalue,vvalue:INTEGER);*************** * * Public functions with prototypes defined in XmString.c * * HGG: Need to write Externals for all of them - see Xm.h ***************
<*EXTERNAL "XmStringCreateSimple":C*> PROCEDURE StringCreateSimple(str:char_star): String; <*EXTERNAL "XmStringFree":C*> PROCEDURE StringFree(str:String);********************************************************************** * * SimpleMenu declarations and definitions. * **********************************************************************
TYPE ButtonType = unsigned_char; TYPE ButtonTypeTable = UNTRACED REF ButtonType; TYPE KeySymTable = UNTRACED REF X.KeySym; TYPE StringcharSetTable = UNTRACED REF StringcharSet; CONST PUSHBUTTON = 1; CONST TOGGLEBUTTON = 2; CONST CHECKBUTTON = 2; CONST RADIOBUTTON = 3; CONST CASCADEBUTTON = 4; CONST SEPARATOR = 5; CONST DOUBLE_SEPARATOR = 6; CONST TITLE = 7; VAR VaPUSHBUTTON:char_star; VAR VaTOGGLEBUTTON:char_star; VAR VaCHECKBUTTON:char_star; VAR VaRADIOBUTTON:char_star; VAR VaCASCADEBUTTON:char_star; VAR VaSEPARATOR:char_star; VAR VaSINGLE_SEPARATOR:char_star; VAR VaDOUBLE_SEPARATOR:char_star; VAR VaTITLE:char_star; <*EXTERNAL "_XmCreateSimpleMenuBar":C*> PROCEDURE CreateSimpleMenuBar(parent:Xt.Widget; name: String; args: Xt.ArgList ; arg_count:Cardinal ): Xt.Widget ; <*EXTERNAL "_XmCreateSimplePopupMenu":C*> PROCEDURE CreateSimplePopupMenu(parent:Xt.Widget; name: String; args: Xt.ArgList ; arg_count:Cardinal ): Xt.Widget ; <*EXTERNAL "_XmCreateSimplePulldownMenu":C*> PROCEDURE CreateSimplePulldownMenu(parent:Xt.Widget; name: String; args: Xt.ArgList ; arg_count:Cardinal ): Xt.Widget ; <*EXTERNAL "_XmCreateSimpleOptionMenu":C*> PROCEDURE CreateSimpleOptionMenu(parent:Xt.Widget; name: String; args: Xt.ArgList ; arg_count:Cardinal ): Xt.Widget ; <*EXTERNAL "_XmCreateSimpleRadioBox":C*> PROCEDURE CreateSimpleRadioBox(parent:Xt.Widget; name: String; args: Xt.ArgList ; arg_count:Cardinal ): Xt.Widget ; <*EXTERNAL "_XmCreateSimpleCheckBox":C*> PROCEDURE CreateSimpleCheckBox(parent:Xt.Widget; name: String; args: Xt.ArgList ; arg_count:Cardinal ): Xt.Widget ;??? <*EXTERNAL _XmVaCreateSimpleMenuBar:C*> PROCEDURE VaCreateSimpleMenuBar(Widget parent, String name, ...): Widget ; extern Widget XmVaCreateSimplePopupMenu (Widget parent, String name, VAR callback, ...) : XtCallbackProc ; extern Widget XmVaCreateSimplePulldownMenu (Widget parent, String name, int post_from_button, VAR callback, ...) : XtCallbackProc ; extern Widget XmVaCreateSimpleOptionMenu (Widget parent, String name, XmString option_label, KeySym option_mnemonic, int button_set, VAR callback, ...) : XtCallbackProc ; extern Widget XmVaCreateSimpleRadioBox (Widget parent, String name, VAR button_set, XtC.allbackProc callback, ...) : INTEGER ; extern Widget XmVaCreateSimpleCheckBox (Widget parent, String name, VAR callback, ...) : XtCallbackProc ;
********************************************************************** * * Misc Declarations * **********************************************************************
TYPE ResourceBaseProc= PROCEDURE(widget:Xt.Widget; client_data:Xt.Pointer):Xt.Pointer; TYPE SecondaryResourceDataRec = RECORD base_proc : ResourceBaseProc ; client_data : Xt.Pointer ; name : String ; res_class : String ; resources : Xt.ResourceList ; num_resources : CARDINAL ; END (*record*); TYPE SecondaryResourceDataRec_star = UNTRACED REF SecondaryResourceDataRec;??? extern Cardinal XmGetSecondaryResourceData (WidgetClass wclass, VAR **secondaryDataRtn) : SecondaryResourceData ; extern Widget XmTrackingLocate (Widget widget, Cursor cursor, #if NeedWidePrototypes int confineTo #else Boolean confineTo #endif ); ???
<*EXTERNAL XmConvertUnits:C *> PROCEDURE ConvertUnits (widget: Xt.Widget; dimension,from_type,from_val,to_type:INTEGER): INTEGER; <*EXTERNAL XmCvtFromHorizontalPixels:C*> PROCEDURE CvtFromHorizontalPixels(screen: X.ScreenStar; from_val,to_type:INTEGER): INTEGER; <*EXTERNAL XmCvtFromVerticalPixels:C*> PROCEDURE CvtFromVerticalPixels(screen: X.ScreenStar; from_val,to_type:INTEGER): INTEGER ; <*EXTERNAL XmCvtToHorizontalPixels:C*> PROCEDURE CvtToHorizontalPixels(screen: X.ScreenStar; from_val,from_type:INTEGER): INTEGER ; <*EXTERNAL XmCvtToVerticalPixels:C*> PROCEDURE CvtToVerticalPixels(screen: X.ScreenStar; from_val,from_type:INTEGER): INTEGER ; <*EXTERNAL XmCvtCTToXmString:C*> PROCEDURE CvtCTToXmString( text: char_star): String ; <*EXTERNAL XmCvtXmStringToCT:C*> PROCEDURE CvtXmStringToCT( string: String) : char_star ; <*EXTERNAL XmCvtTextToXmString:C*> PROCEDURE CvtTextToXmString(display : X.DisplayStar; args: Xrm.ValuePtr; num_args: Xt.CardinalStar; from_val: Xrm.ValuePtr; to_val: Xrm.ValuePtr; converter_data: Xt.Pointer): Xt.Boolean; <*EXTERNAL XmCvtXmStringToText:C*> PROCEDURE CvtXmStringToText(display : X.DisplayStar; args: Xrm.ValuePtr; num_args: Xt.CardinalStar; from_val: Xrm.ValuePtr; to_val: Xrm.ValuePtr; converter_data: Xt.Pointer): Xt.Boolean; TYPE NavigationType = unsigned_char; <*EXTERNAL XmAddTabGroup:C*> PROCEDURE AddTabGroup(tabGroup:Xt.Widget); <*EXTERNAL XmRemoveTabGroup:C*> PROCEDURE RemoveTabGroup(w: Xt.Widget); <*EXTERNAL XmProcessTraversal:C*> PROCEDURE ProcessTraversal(w: Xt.Widget; dir:INTEGER): Xt.Boolean ;??? <*EXTERNAL _XmUninstallImage:C*> PROCEDURE UninstallImage(XImage *image): BOOLEAN ; <*EXTERNAL _XmDestroyPixmap:C*> PROCEDURE DestroyPixmap(Screen *screen, Pixmap pixmap): BOOLEAN ; <*EXTERNAL _XmInstallImage:C*> PROCEDURE InstallImage(XImage *image, char *image_name): BOOLEAN ; <*EXTERNAL _XmGetPixmap:C*> PROCEDURE GetPixmap(Screen *screen, char *image_name, Pixel foreground, Pixel background): Pixmap ; ???
??? <*EXTERNAL _XmGetMenuCursor:C*> PROCEDURE GetMenuCursor(Display *display): Cursor ; <*EXTERNAL _XmSetMenuCursor:C*> PROCEDURE SetMenuCursor(Display *display, Cursor cursorId); <*EXTERNAL _XmGetDestination:C*> PROCEDURE GetDestination(Display *display): Widget ; #endif (* _NO_PROTO
??? *) TYPE Offset = long; TYPE OffsetPtr = UNTRACED REF Offset; TYPE OffsetPtr_star = UNTRACED REF OffsetPtr; <*EXTERNAL XmUpdateDisplay:C*> PROCEDURE UpdateDisplay(w: Xt.Widget); <*EXTERNAL XmResolvePartOffsets:C*> PROCEDURE ResolvePartOffsets(wclass: Xt.WidgetClass; offset: OffsetPtr_star); <*EXTERNAL XmResolveAllPartOffsets:C *> PROCEDURE ResolveAllPartOffsets (wclass: Xt.WidgetClass; offset,constraint_offset: OffsetPtr_star); END Xm.