-------------------------------------------------------------------------------------- -- Ada language interface to OSF/Motif toolkit -- -- Version: 1.0 -- -- Release date: 3/19/91 -- -- Compiled under: -- VADS 5.5+ on Apollo Domain / DEC Ultrix / SCO Unix -- -- This is an Ada binding to the OSF Motif toolkit. -- Requires: -- OSF/Motif toolkit -- Verdix (or Verdix-derived) Ada libraries -- -- Author: -- Boeing Commercial Airplanes Avionics Flight Systems Organization -- -- -- Mailing Address: -- P.O. Box 3999, M/S 65-07 -- Seattle, WA 98124 -- Attn: E. J. Jones -- -- -- Approved for public release; distribution is unlimited. Per DoD Directive -- 5230.24. -- -- Copyright (c) 1991, The Boeing Company, Seattle, Washington. This software, -- the BCA Ada language interface to the OSF/Motif toolkit, produced by the -- Boeing Commercial Airplane Company and made available under STARS (Software -- Technology for Adaptable, Reliable Systems) is approved for release under -- Distribution "A" of the Scientific and Technical Information Program -- Classification Scheme (DoD Directive 5230.24) unless otherwise indicated. -- Sponsored by the U.S. Defense Advanced Research Project Agency (DARPA) under -- contract F19628-88-D-0028, the STARS program is supported by the military -- services, SEI, and MITRE, with the U.S. Air Force as the executive -- contracting agent. The code identified herein is subject to change. -- -- Permission to use, modify, copy, and comment on this software for purposes -- stated under Distribution "A" and without fee is hereby granted. This -- software retains Contractor indemnification to the Government regarding -- copyrights pursuant to the above referenced STARS contract. The Government -- disclaims all responsibility against liability, including costs and expenses -- for violation of proprietary rights, or copyrights arising out of the -- creation or use of this software. -- -- In addition, the Government and The Boeing Company disclaim all warranties -- with regard to this software, including all implied warranties of -- merchantability and fitness. In no event shall the Government or The Boeing -- Company be liable for any special, indirect or consequential damages or any -- damages whatsoever resulting from the loss of use, data or profits, whether -- in action of contract, negligence or other tortuous action, arising in -- connection with the use or performance of this software. The Boeing Company -- does not agree to support or maintain this software or to produce any -- future versions. -------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------- -- PROLOGUE -- -- NAME: Package Specification for X_TOOLKIT_INTRINSICS_OSF -- -- FUNCTION: This is the Ada binding for the X toolkit (OSF version -- which is delivered with the MOTIF Widget Set.) -- ------------------------------------------------------------------------------------- -- Package spec XT INTRINSICS ---------------------------------------------------------------------- -- CHANGE HISTORY -- Ver. Developer Date Description -- ---- -------- ----- --------------------------------- -- 1.0 E.J.Jones(206)477-3566 12/91 Original version for Ada Motif Bindings -- ---------------------------------------------------------------------- with SYSTEM, AFS_BASIC_TYPES, XLIB, X_TOOLKIT_PRIVATE_OSF; use AFS_BASIC_TYPES, X_TOOLKIT_PRIVATE_OSF; with COMMAND_LINE; package X_TOOLKIT_INTRINSICS_OSF is package AFS renames AFS_BASIC_TYPES; -------------------------------------------------------------------------------------- -- -- The following is an outline for this package: -- -- BASIC DATATYPES -- General X types: -- Widgets etc. -- Common types for widget resources -- -- COMMAND LINE OPTIONS -- Option List Definition -- Option List Management -- -- TOOLKIT INITIALIZATION -- XT_INITIALIZE -- -- CALLBACKS -- Callback Types -- Predefined Callbacks -- Callback List Management -- Callbacks for Widgets -- -- ARGUMENT LISTS -- Argument List Definition -- Argument List Management -- -- WIDGET MANIPULATION -- Predefined Widget Classes -- Widget List Management -- Widget Creation -- Widget Childcare -- Realize/map Widgets -- Destroy Widgets -- Getting/setting Widget State -- Widget Misc -- -- POPUP SHELLS -- -- -- QUERIES -- XT_CLASS, XT_SUPERCLASS, XT_IS_SUBCLASS, XT_IS_COMPOSITE etc. -- XT_TRANSLATE_COORDS -- -- EVENTS -- Timeouts -- Event Handling -- -- MISCELLANEOUS JUNK -- -- This is all stuff we aren't sure we'll need or what to do with it. -- None of it should be useful in its current form. --------------------------------------------------------------------------------------- -- -- BASIC DATATYPES -- BYTE_SIZE : constant INTEGER := 8; NULL_ADDRESS : constant SYSTEM.ADDRESS := SYSTEM.NO_ADDR; -- Apollo Ada dependency -- Widgets etc. type WIDGET is private; NULL_WIDGET : constant WIDGET; type WIDGET_CLASS is private; NULL_WIDGET_CLASS : constant WIDGET_CLASS; -- Common types for widget resources: subtype CARDINAL is AFS_LARGE_NATURAL; subtype DIMENSION is AFS_LARGE_NATURAL; subtype POSITION is AFS_LARGE_INTEGER; subtype PIXEL is AFS_LARGE_NATURAL; -- Common aliases for BOOLEANS YES : constant BOOLEAN := TRUE; ON : constant BOOLEAN := TRUE; OFF : constant BOOLEAN := FALSE; NO : constant BOOLEAN := FALSE; -- Resources type XT_RESOURCE_LIST is private; -- NULL_XT_RESOURCE_LIST : constant WIDGET; -- Resource names are type XTN_RESOURCE_STRING subtype XTN_RESOURCE_STRING is SYSTEM.ADDRESS; ---------------------------------------------------------------------------------------- -- -- COMMAND LINE OPTIONS -- type XRM_OPTION_KIND is (XRM_OPTION_NO_ARG, XRM_OPTION_IS_ARG, XRM_OPTION_STICKY_ARG, XRM_OPTION_SEPARATE_ARG, XRM_OPTION_SKIP_ARG, XRM_OPTION_SKIP_LINE); type XRM_OPTION_DESC_REC is record OPTION_NAME : SYSTEM.ADDRESS; SPECIFIER : SYSTEM.ADDRESS; OPTION_KIND : AFS_MEDIUM_NATURAL; OPTION_VALUE: SYSTEM.ADDRESS; end record; type OPTION_ARRAY is array (AFS_MEDIUM_POSITIVE range <>) of XRM_OPTION_DESC_REC; type OPTION_LIST_REC (OPTION_COUNT : AFS_MEDIUM_NATURAL) is record LIST : OPTION_ARRAY (1..OPTION_COUNT); INDEX : AFS_MEDIUM_NATURAL := 0; end record; type XRM_OPTION_DESC_LIST is access OPTION_LIST_REC; NULL_OPTION_LIST : constant XRM_OPTION_DESC_LIST := null; -- -- OPTION LIST MANAGEMENT -- procedure XT_MAKE_OPTION_LIST (SIZE : in AFS_MEDIUM_NATURAL; OPTION_LIST : in out XRM_OPTION_DESC_LIST); OPTION_LIST_NOT_EMPTY : exception; -- raised if OPTION_LIST in XT_MAKE_OPTION_LIST -- is not NULL_OPTION_LIST. procedure XT_SET_OPTION (OPTION_LIST : in XRM_OPTION_DESC_LIST; OPTION_KIND : in XRM_OPTION_KIND; OPTION_NAME : in SYSTEM.ADDRESS; OPTION_SPEC : in SYSTEM.ADDRESS; OPTION_VALUE : in SYSTEM.ADDRESS := NULL_ADDRESS); OPTION_LIST_FULL : exception; -- raised if OPTION_LIST in XT_SET_OPTION is -- already full. function XT_NUMBER (OPTION_LIST : in XRM_OPTION_DESC_LIST) return AFS_MEDIUM_NATURAL; procedure XT_CLEAR_OPTION_LIST (OPTION_LIST : in out XRM_OPTION_DESC_LIST); ------------------------------------------------------------------------------------- -- -- TOOLKIT INITIALIZATION -- function XT_INITIALIZE (SHELL_NAME : in STRING; APPLICATION_CLASS : in STRING; OPTIONS : in XRM_OPTION_DESC_LIST := NULL_OPTION_LIST; ARG_COUNT : in SYSTEM.ADDRESS; ARG_VECTOR : in SYSTEM.ADDRESS) return WIDGET; -- call this way XT_INITIALIZE ( ... ARG_COUNT => COMMAND_LINE.ARGC, -- ARG_VECTOR => COMMAND_LINE.ARGV ); function XT_INITIALIZE (SHELL_NAME : in STRING; APPLICATION_CLASS : in STRING; OPTIONS : in XRM_OPTION_DESC_LIST := NULL_OPTION_LIST; ARG_COUNT : in INTEGER; ARG_VECTOR : in COMMAND_LINE.ARGV_PTR) return WIDGET; -- end of addition --------------------------------------------------------------------------------- -- -- CALLBACKS -- -- type CALLBACK_REC is record CALLBACK : SYSTEM.ADDRESS := NULL_ADDRESS; CLIENT_DATA : SYSTEM.ADDRESS := NULL_ADDRESS; end record; type CALLBACK_LIST is array ( AFS_MEDIUM_POSITIVE range <> ) of CALLBACK_REC; type CALLBACK_LIST_REC (COUNT : AFS_MEDIUM_NATURAL) is record LIST : CALLBACK_LIST (1..COUNT); INDEX : AFS_MEDIUM_NATURAL := 0; end record; type XT_CALLBACK_LIST is access CALLBACK_LIST_REC; NULL_CALLBACK_LIST : constant XT_CALLBACK_LIST := null; type XT_CALLBACK_STATUS is (XT_CALLBACK_NO_LIST, XT_CALLBACK_HAS_NONE, XT_CALLBACK_HAS_SOME); -- -- Predefined Callbacks -- type XT_PREDEFINED_CALLBACK is (XT_CALLBACK_NONE, XT_CALLBACK_NONEXCLUSIVE, XT_CALLBACK_EXCLUSIVE, XT_CALLBACK_POPDOWN); -- -- CALLBACK LIST MANAGEMENT -- procedure XT_MAKE_CALLBACK_LIST (SIZE : in AFS_MEDIUM_NATURAL; CALLBACK_LIST : in out XT_CALLBACK_LIST); CALLBACK_LIST_NOT_EMPTY : exception; procedure XT_SET_CALLBACK (CALLBACK_LIST : in XT_CALLBACK_LIST; CALLBACK_PROC : in SYSTEM.ADDRESS; CLIENT_DATA : in SYSTEM.ADDRESS := NULL_ADDRESS); procedure XT_SET_CALLBACK (CALLBACK_LIST : in XT_CALLBACK_LIST; CALLBACK_PROC : in SYSTEM.ADDRESS; CLIENT_DATA : in WIDGET); procedure XT_SET_CALLBACK (CALLBACK_LIST : in XT_CALLBACK_LIST; PREDEFINED_PROC : in XT_PREDEFINED_CALLBACK; CLIENT_DATA : in SYSTEM.ADDRESS := NULL_ADDRESS); procedure XT_SET_CALLBACK (CALLBACK_LIST : in XT_CALLBACK_LIST; PREDEFINED_PROC : in XT_PREDEFINED_CALLBACK; CLIENT_DATA : in WIDGET); CALLBACK_LIST_FULL : exception; function XT_NUMBER (CALLBACK_LIST : in XT_CALLBACK_LIST) return AFS_MEDIUM_NATURAL; procedure XT_CLEAR_CALLBACK_LIST (CALLBACK_LIST : in out XT_CALLBACK_LIST); -- -- CALLBACKS FOR WIDGETS -- procedure XT_ADD_CALLBACK (TO : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALLBACK : in SYSTEM.ADDRESS; CLIENT_DATA : in SYSTEM.ADDRESS := NULL_ADDRESS); procedure XT_ADD_CALLBACK (TO : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALLBACK : in SYSTEM.ADDRESS; CLIENT_DATA : in WIDGET); procedure XT_ADD_CALLBACK (TO : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALLBACK : in SYSTEM.ADDRESS; CLIENT_DATA : in AFS_LARGE_INTEGER); procedure XT_ADD_CALLBACK (TO : in WIDGET; KIND : in XTN_RESOURCE_STRING; PREDEFINED_PROC : in XT_PREDEFINED_CALLBACK; CLIENT_DATA : in SYSTEM.ADDRESS := NULL_ADDRESS); procedure XT_ADD_CALLBACK (TO : in WIDGET; KIND : in XTN_RESOURCE_STRING; PREDEFINED_PROC : in XT_PREDEFINED_CALLBACK; CLIENT_DATA : in WIDGET); procedure XT_ADD_CALLBACKS (TO : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALLBACKS : in XT_CALLBACK_LIST); CALLBACK_LIST_EMPTY : exception; -- raised on XT_ADD_CALLBACKS when callback list is empty. procedure XT_CALL_CALLBACKS (FROM : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALL_DATA : in SYSTEM.ADDRESS := NULL_ADDRESS); procedure XT_REMOVE_CALLBACK (FROM : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALLBACK : in SYSTEM.ADDRESS; CLIENT_DATA : in SYSTEM.ADDRESS := NULL_ADDRESS); procedure XT_REMOVE_CALLBACK (FROM : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALLBACK : in SYSTEM.ADDRESS; CLIENT_DATA : in WIDGET); procedure XT_REMOVE_CALLBACK (FROM : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALLBACK : in XT_PREDEFINED_CALLBACK; CLIENT_DATA : in SYSTEM.ADDRESS := NULL_ADDRESS); procedure XT_REMOVE_CALLBACK (FROM : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALLBACK : in XT_PREDEFINED_CALLBACK; CLIENT_DATA : in WIDGET); procedure XT_REMOVE_CALLBACKS (FROM : in WIDGET; KIND : in XTN_RESOURCE_STRING; CALLBACKS : in XT_CALLBACK_LIST); procedure XT_REMOVE_ALL_CALLBACKS (FROM : in WIDGET; KIND : in XTN_RESOURCE_STRING); ---------------------------------------------------------------------------------------- -- -- ARGUMENT LISTS -- type ARG_REC is record NAME : XTN_RESOURCE_STRING := NULL_ADDRESS; VALUE : AFS_LARGE_INTEGER := 0; end record; type ARG_ARRAY is array (AFS_MEDIUM_POSITIVE range <>) of ARG_REC; type ARG_LIST_REC (ARG_COUNT : AFS_MEDIUM_NATURAL) is record LIST : ARG_ARRAY (1..ARG_COUNT); INDEX : AFS_MEDIUM_NATURAL := 0; end record; type ARG_LIST is access ARG_LIST_REC; NULL_ARG_LIST : constant ARG_LIST := null; -- -- ARGUMENT LIST MANAGEMENT -- procedure XT_MAKE_ARG_LIST (SIZE : in AFS_MEDIUM_NATURAL := 50; ARGS : in out ARG_LIST); ARG_LIST_NOT_EMPTY : exception; -- raised on XT_MAKE_ARG_LIST when ARGS is -- not NULL_ARG_LIST procedure XT_CLEAR_ARG_LIST (ARGS : in out ARG_LIST); ARG_LIST_FULL : exception; -- Raised when XT_SET_ARG attempts to add an arg to an -- ARG_LIST that is already full. procedure XT_SET_ARG (ARGS : in ARG_LIST; NAME : in XTN_RESOURCE_STRING; VALUE : in AFS_LARGE_INTEGER); procedure XT_SET_ARG (ARGS : in ARG_LIST; NAME : in XTN_RESOURCE_STRING; VALUE : in AFS_MEDIUM_FLOAT); procedure XT_SET_ARG (ARGS : in ARG_LIST; NAME : in XTN_RESOURCE_STRING; VALUE : in BOOLEAN); procedure XT_SET_ARG (ARGS : in ARG_LIST; NAME : in XTN_RESOURCE_STRING; VALUE : in SYSTEM.ADDRESS); procedure XT_SET_ARG (ARGS : in ARG_LIST; NAME : in XTN_RESOURCE_STRING; VALUE : in WIDGET); procedure XT_SET_ARG (ARGS : in ARG_LIST; NAME : in XTN_RESOURCE_STRING; VALUE : in XT_CALLBACK_LIST); procedure XT_SET_ARG (ARGS : in ARG_LIST; NAME : in XTN_RESOURCE_STRING; VALUE : in CHARACTER); procedure XT_MERGE_ARG_LISTS (ARGS_1 : in ARG_LIST; ARGS_2 : in ARG_LIST; RESULT : in out ARG_LIST); function XT_NUMBER (ARGS : in ARG_LIST) return AFS_MEDIUM_NATURAL; ---------------------------------------------------------------------------------------- -- -- WIDGETS -- -- -- PREDEFINED WIDGET CLASSES -- -- -- CORE & COMPOSITE CLASSES -- function CORE_WIDGET_CLASS return WIDGET_CLASS; function COMPOSITE_WIDGET_CLASS return WIDGET_CLASS; function CONSTRAINT_WIDGET_CLASS return WIDGET_CLASS; -- -- SHELL WIDGET CLASSES -- function TOP_LEVEL_SHELL_WIDGET_CLASS return WIDGET_CLASS; function TRANSIENT_SHELL_WIDGET_CLASS return WIDGET_CLASS; function OVERRIDE_SHELL_WIDGET_CLASS return WIDGET_CLASS; -- -- WM_SHELL_WIDGET_CLASS and VENDOR_SHELL_WIDGET_CLASS -- should NOT be used by toolbuilders in general function WM_SHELL_WIDGET_CLASS return WIDGET_CLASS; function VENDOR_SHELL_WIDGET_CLASS return WIDGET_CLASS; -- -- WIDGET LIST MANAGEMENT -- type WIDGET_LIST is private; procedure XT_MAKE_WIDGET_LIST (SIZE : in AFS_MEDIUM_NATURAL; LIST : in out WIDGET_LIST); WIDGET_LIST_NOT_EMPTY : exception; -- raised if LIST used in XT_MAKE_WIDGET_LIST is -- not an empty widget list. procedure XT_SET_WIDGET (LIST : in WIDGET_LIST; W : in WIDGET); WIDGET_LIST_FULL : exception; -- raised if LIST used in XT_SET_WIDGET is already -- full. function XT_NUMBER (LIST : in WIDGET_LIST) return AFS_MEDIUM_NATURAL; procedure XT_CLEAR_WIDGET_LIST (LIST : in out WIDGET_LIST); -- -- WIDGET CREATION -- function XT_CREATE_WIDGET (NAME : in STRING; CLASS : in WIDGET_CLASS; PARENT : in WIDGET; ARGS : in ARG_LIST := NULL_ARG_LIST) return WIDGET; function XT_CREATE_APPLICATION_SHELL (NAME : in STRING; CLASS : in WIDGET_CLASS; ARGS : in ARG_LIST := NULL_ARG_LIST) return WIDGET; function XT_CREATE_MANAGED_WIDGET (NAME : in STRING; CLASS : in WIDGET_CLASS; PARENT : in WIDGET; ARGS : in ARG_LIST := NULL_ARG_LIST) return WIDGET; function XT_CREATE_POPUP_SHELL (NAME : in STRING; CLASS : in WIDGET_CLASS; PARENT : in WIDGET; ARGS : in ARG_LIST := NULL_ARG_LIST) return WIDGET; -- -- CONVERSION FUNCTION - WIDGET FROM SYSTEM.ADDRESS -- function ADDR_TO_WIDGET ( ADDR : SYSTEM.ADDRESS ) return WIDGET; function WIDGET_TO_ADDR ( W : WIDGET ) return SYSTEM.ADDRESS; -- -- WIDGET CHILDCARE -- procedure XT_MANAGE_CHILDREN (CHILDREN : in WIDGET_LIST); procedure XT_UNMANAGE_CHILDREN (CHILDREN : in WIDGET_LIST); procedure XT_MANAGE_CHILD (CHILD : in WIDGET); procedure XT_UNMANAGE_CHILD (CHILD : in WIDGET); -- -- REALIZE/MAP WIDGETS -- procedure XT_MAP_WIDGET (W : in WIDGET); procedure XT_UNMAP_WIDGET (W : in WIDGET); procedure XT_REALIZE_WIDGET (W : in WIDGET); -- -- DESTROY WIDGETS -- procedure XT_DESTROY_WIDGET (W : in WIDGET); -- -- GETTING/SETTING WIDGET STATE -- procedure XT_SET_VALUES (W : in WIDGET; ARGS : in ARG_LIST); ARG_LIST_EMPTY : exception; -- raised on XT_SET_VALUES or XT_GET_VALUES -- when ARGS = NULL_ARG_LIST. procedure XT_GET_VALUES (W : in WIDGET; ARGS : in ARG_LIST); -- -- WIDGET MISC -- procedure XT_SET_SENSITIVE (W : in WIDGET; SENSITIVE : in BOOLEAN); procedure XT_SET_MAPPED_WHEN_MANAGED (W : in WIDGET; MAPPED : in BOOLEAN); ---------------------------------------------------------------------------------------- -- -- POPUP SHELLS -- type XT_GRAB_KIND is (XT_GRAB_NONE, XT_GRAB_NONEXCLUSIVE, XT_GRAB_EXCLUSIVE); procedure XT_POPUP (POPUP_SHELL : in WIDGET; GRAB_KIND : in XT_GRAB_KIND); procedure XT_POPDOWN (POPUP_SHELL : in WIDGET); function XT_IS_MANAGED( W : in WIDGET ) return BOOLEAN; procedure XT_SET_KEYBOARD_FOCUS( SUBTREE : WIDGET; DESCENDENT : WIDGET ); -- -- QUERIES -- function XT_CLASS (W : in WIDGET) return WIDGET_CLASS; function XT_SUPERCLASS (W : in WIDGET) return WIDGET_CLASS; function XT_IS_SUBCLASS (W : in WIDGET; CLASS : in WIDGET_CLASS) return BOOLEAN; function XT_IS_COMPOSITE (W : in WIDGET) return BOOLEAN; function XT_IS_REALIZED (W : in WIDGET) return BOOLEAN; function XT_HAS_CALLBACKS (W : in WIDGET; KIND : XTN_RESOURCE_STRING) return XT_CALLBACK_STATUS; function XT_PARENT (W : in WIDGET) return WIDGET; function XT_DISPLAY (W : in WIDGET) return XLIB.DISPLAY_POINTER; function XT_SCREEN (W : in WIDGET) return XLIB.SCREEN_POINTER; function XT_WINDOW (W : in WIDGET) return XLIB.WINDOW_ID; function BLACK_PIXEL_OF_SCREEN (SCREEN : in XLIB.SCREEN_POINTER) return PIXEL; function WHITE_PIXEL_OF_SCREEN (SCREEN : in XLIB.SCREEN_POINTER) return PIXEL; -- -- TRANSLATE COORDINATES -- procedure XT_TRANSLATE_COORDS (W : in WIDGET; X : in POSITION; Y : in POSITION; RX : out POSITION; RY : out POSITION); --------------------------------------------------------------------------------------- -- -- EVENTS -- type EVENT_TIMER_ID is private; NULL_EVENT_TIMER_ID : constant EVENT_TIMER_ID; -- -- TIMEOUTS -- function XT_ADD_TIMEOUT (MILLISECONDS : in AFS_LARGE_INTEGER; CALLBACK : in SYSTEM.ADDRESS; CLIENT_DATA : in SYSTEM.ADDRESS) return EVENT_TIMER_ID; procedure XT_REMOVE_TIMEOUT (TIMER : in EVENT_TIMER_ID); -- -- EVENT HANDLING -- procedure XT_NEXT_EVENT; procedure XT_DISPATCH_EVENT; function XT_PENDING return BOOLEAN; procedure XT_MAIN_LOOP; -- -- Resource Access -- procedure XT_GET_APPLICATION_RESOURCES ( W : in WIDGET := NULL_WIDGET; BASE : in SYSTEM.ADDRESS; RESOURCES : in XT_RESOURCE_LIST; NUM_RESOURCES : in CARDINAL; ARGS : in ARG_LIST ); procedure XT_GET_SUBVALUES ( BASE : in SYSTEM.ADDRESS; RESOURCES : in XT_RESOURCE_LIST; NUM_RESOURCES : in CARDINAL; ARGS : in ARG_LIST ); procedure XT_SET_SUBVALUES ( BASE : in SYSTEM.ADDRESS; RESOURCES : in XT_RESOURCE_LIST; NUM_RESOURCES : in CARDINAL; ARGS : in ARG_LIST ); --------------------------------------------------------------------------------- ----------------------------------------------------------------------------------- -- -- MISCELLANEOUS JUNK -- -- THIS IS ALL STUFF WE AREN'T SURE WE'LL NEED OR WHAT TO DO WITH IT. NONE OF IT -- SHOULD BE USEFUL IN ITS CURRENT FORM. -- ***** want a unsigned integer, need to find the #defines for these -- is this needed by the toolbuilders? ***** -- WINDOW_CLASS is used by XT_CREATE_WINDOW subtype WINDOW_CLASS is AFS_LARGE_INTEGER; -- ***** VISUAL_POINTER is some type --- should change, but these will do? ****** -- do I ever need to know what visual pointer is? subtype VISUAL_POINTER is SYSTEM.ADDRESS; -- ***** XT_VALUE_MASK - an unsigned long in C -- Found the Define on p.18 of the X ref man..but do I need -- XT_VALUE_MASK or X_SET_WINDOW_ATTRIBUTE ***** subtype XT_VALUE_MASK is SYSTEM.ADDRESS; subtype X_SET_WINDOW_ATTRIBUTES is SYSTEM.ADDRESS; -- -- TRANSLATION RELATED TYPES -- -- XT_TRANSLATION is used to pass the translation table to widgets. -- The translation table is used to convey information on how the user -- events are to be handled. -- See Chapter 12 of the X Toolkit Intrinsics documentation for more information. subtype XT_TRANSLATIONS is SYSTEM.ADDRESS; subtype XT_ACCELERATORS is SYSTEM.ADDRESS; -- -- WINDOW CREATION -- procedure XT_CREATE_WINDOW (W : in WIDGET; -- not tested ****** CLASS : in WINDOW_CLASS; VISUAL : in VISUAL_POINTER; VALUE_MASK : in XT_VALUE_MASK; ATTRIBUTES : in X_SET_WINDOW_ATTRIBUTES); -------------------------------------------------------------------------------------- -- -- Translation Table and Accelerator Manipulation -- -- function XT_PARSE_TRANSLATION_TABLE ( TABLE : STRING ) return XT_TRANSLATIONS; procedure XT_AUGMENT_TRANSLATIONS ( W : WIDGET; TRANSLATIONS : XT_TRANSLATIONS ); procedure XT_OVERRIDE_TRANSLATIONS ( W : WIDGET; TRANSLATIONS : XT_TRANSLATIONS ); function XT_PARSE_ACCELERATOR_TABLE( TABLE : in STRING ) return XT_ACCELERATORS; procedure XT_INSTALL_ACCELERATORS( DESTINATION : in WIDGET ; SOURCE : in WIDGET ); --------------------------------------------------------------------------------- private type WIDGET is new SYSTEM.ADDRESS; NULL_WIDGET : constant WIDGET := WIDGET(NULL_ADDRESS); type WIDGET_CLASS is new SYSTEM.ADDRESS; NULL_WIDGET_CLASS : constant WIDGET_CLASS := WIDGET_CLASS (NULL_ADDRESS); type WIDGET_LIST_REC (COUNT : AFS_MEDIUM_NATURAL); type WIDGET_LIST is access WIDGET_LIST_REC; NULL_WIDGET_LIST : constant WIDGET_LIST := null; type XT_RESOURCE_LIST is new SYSTEM.ADDRESS; -- NULL_XT_RESOURCE_LIST : constant XT_RESOURCE_LIST := XT_RESOURCE_LIST ( NULL_ADDRESS ); type EVENT_TIMER_ID is new SYSTEM.ADDRESS; NULL_EVENT_TIMER_ID : constant EVENT_TIMER_ID := EVENT_TIMER_ID (NULL_ADDRESS); end X_TOOLKIT_INTRINSICS_OSF;