CONTENTS Title Page Copyright Page Preface 1 Introduction to the XUI Toolkit Programming Routines 1.1 Programming Languages 1.2 Routine Documentation Format 1.2.1 Routine Name 1.2.2 Overview 1.2.3 Widget Class Hierarchy 1.2.4 VAX Format 1.2.5 MIT C Format 1.2.6 Returns 1.2.7 Argument or Attribute Information 1.2.8 Attribute Exceptions 1.2.9 Callback Data Structure 1.2.10 Description 2 Intrinsic Routines 2.1 Intrinsics 2.1.1 Widget Manipulation Routines 2.1.2 Initialization and Widget Management 2.1.3 Realizing the Widgets in an Interface 2.1.4 Handling Input Through the Interface 2.2 Shell Widgets 2.2.1 Shell Widget Class Hierarchy 2.3 Shell Widget Attributes 2.4 Intrinsic Routines ADD ACTIONS ADD CALLBACK ADD CALLBACKS ADD CONVERTER ADD EVENT HANDLER ADD EXPOSURE TO REGION ADD GRAB ADD INPUT ADD RAW EVENT HANDLER ADD TIMEOUT ADD WORK PROC APPLICATION ADD ACTIONS APPLICATION ADD CONVERTER APPLICATION ADD INPUT APPLICATION ADD TIME OUT APPLICATION ADD WORK PROC APPLICATION CREATE SHELL APPLICATION ERROR APPLICATION ERROR MESSAGE APPLICATION GET ERROR DATABASE APPLICATION GET ERROR DATABASE TEXT APPLICATION GET SELECTION TIMEOUT APPLICATION MAIN LOOP APPLICATION NEXT EVENT APPLICATION PEEK EVENT APPLICATION PENDING APPLICATION PROCESS EVENT APPLICATION SET ERROR HANDLER APPLICATION SET ERROR MESSAGE HANDLER APPLICATION SET SELECTION TIMEOUT APPLICATION SET WARNING HANDLER APPLICATION SET WARNING MESSAGE HANDLER APPLICATION WARNING APPLICATION WARNING MESSAGE AUGMENT TRANSLATIONS BUILD EVENT MASK CALL ACCEPT FOCUS CALL CALLBACKS CALLBACK EXCLUSIVE CALLBACK NONE CALLBACK NONEXCLUSIVE CALLBACK POPDOWN CALLOC CLASS CLOSE DISPLAY CONFIGURE WIDGET CONVERT CONVERT CASE CREATE APPLICATION CONTEXT CREATE APPLICATION SHELL CREATE MANAGED WIDGET CREATE POPUP SHELL CREATE WIDGET CREATE WINDOW DATABASE DESTROY APPLICATION CONTEXT DESTROY GC DESTROY WIDGET DIRECT CONVERT DISOWN SELECTION DISPATCH EVENT DISPLAY DISPLAY INITIALIZE ERROR ERROR MESSAGE FREE GET APPLICATION RESOURCES GET CONSTRAINT RESOURCE LIST GET ERROR DATABASE GET ERROR DATABASE TEXT GET GC GET RESOURCE LIST GET SELECTION TIMEOUT GET SELECTION VALUE GET SELECTION VALUE INCREMENTAL GET SELECTION VALUES GET SELECTION VALUES INCREMENTAL GET SUBRESOURCES GET SUBVALUES GET VALUES HAS CALLBACKS INITIALIZE INSTALL ACCELERATORS INSTALL ALL ACCELERATORS IS COMPOSITE IS MANAGED IS REALIZED IS SENSITIVE IS SUBCLASS MAIN LOOP MAKE GEOMETRY REQUEST MAKE RESIZE REQUEST MALLOC MANAGE CHILD MANAGE CHILDREN MAP WIDGET MERGE ARG LISTS MOVE WIDGET NAME TO WIDGET NEXT EVENT OFFSET OPEN DISPLAY OVERRIDE TRANSLATIONS OWN SELECTION OWN SELECTION INCREMENTAL PARENT PARSE ACCELERATOR TABLE PARSE TRANSLATION TABLE PEEK EVENT PENDING POPDOWN POPUP PROCESS EVENT QUERY GEOMETRY REALIZE WIDGET REALLOC REGISTER CASE CONVERTER REMOVE ALL CALLBACKS REMOVE CALLBACK REMOVE CALLBACKS REMOVE EVENT HANDLER REMOVE GRAB REMOVE INPUT REMOVE RAW EVENT HANDLER REMOVE TIMEOUT REMOVE WORK PROC RESIZE WIDGET RESIZE WINDOW SCREEN SET ARG SET ERROR HANDLER SET ERROR MESSAGE HANDLER SET KEYBOARD FOCUS SET KEY TRANSLATOR SET MAPPED WHEN MANAGED SET SELECTION TIMEOUT SET SENSITIVE SET SUBVALUES SET VALUES SET WARNING HANDLER SET WARNING MESSAGE HANDLER STRING CONVERSION WARNING SUPERCLASS TOOLKIT INITIALIZE TRANSLATE COORDS TRANSLATE KEYCODE UNINSTALL TRANSLATIONS UNMANAGE CHILD UNMANAGE CHILDREN UNMAP WIDGET UNREALIZE WIDGET WARNING WARNING MESSAGE WIDGET TO APPLICATION CONTEXT WINDOW WINDOW TO WIDGET 3 Convenience Routines 3.1 Convenience Routines ACTIVATE WIDGET CHILDREN GET DISPLAY GET SCREEN GET USER DATA GET WINDOW NUMBER CHILDREN RESOLVE PART OFFSETS VMS CLEAR STRING VMS FREE ARGNAMES VMS GET DESC VALUE VMS SET ARG VMS SET CALLBACK ARG VMS SET DESC ARG 3.2 Message Routines DISPLAY CS MESSAGE DISPLAY VMS MESSAGE 4 XUI Resource Manager (DRM) Routines 4.1 DRM Routines CLOSE HIERARCHY DRM FREE RESOURCE CONTEXT DRM GET RESOURCE CONTEXT DRM HGET INDEXED LITERAL DRM RC BUFFER DRM RC SET TYPE DRM RC SIZE DRM RC TYPE FETCH COLOR LITERAL FETCH ICON LITERAL FETCH INTERFACE MODULE FETCH LITERAL FETCH SET VALUES FETCH WIDGET FETCH WIDGET OVERRIDE INITIALIZE DRM OPEN HIERARCHY REGISTER CLASS REGISTER DRM NAMES 5 Compound String Routines 5.1 Compound String Routines ADD FONT LIST CREATE FONT LIST CS BYTE CMP CS CAT CS COPY CS EMPTY CS LEN CS STRING GET NEXT SEGMENT INIT GET SEGMENT LATIN1 STRING STRING STRING FREE CONTEXT STRING INIT CONTEXT 6 Cut and Paste Routines 6.1 Passing Data by Name 6.2 ICCCM Formats 6.3 Cut and Paste Routines BEGIN COPY TO CLIPBOARD CANCEL COPY FORMAT CANCEL COPY TO CLIPBOARD CLIPBOARD LOCK CLIPBOARD REGISTER FORMAT CLIPBOARD UNLOCK COPY FROM CLIPBOARD COPY TO CLIPBOARD END COPY FROM CLIPBOARD END COPY TO CLIPBOARD INQUIRE NEXT PASTE COUNT INQUIRE NEXT PASTE FORMAT INQUIRE NEXT PASTE LENGTH LIST PENDING ITEMS RECOPY TO CLIPBOARD START COPY FROM CLIPBOARD START COPY TO CLIPBOARD UNDO COPY TO CLIPBOARD 7 High-Level Widget Routines 7.1 High-Level Widget Routines ATTACHED DIALOG BOX CAUTION BOX COLOR MIX GET NEW COLOR COLOR MIX SET NEW COLOR COMMAND APPEND COMMAND ERROR MESSAGE COMMAND SET COMMAND WINDOW CS TEXT CS TEXT CLEAR SELECTION CS TEXT GET EDITABLE CS TEXT GET MAX LENGTH CS TEXT GET SELECTION CS TEXT GET STRING CS TEXT REPLACE CS TEXT SET EDITABLE CS TEXT SET MAX LENGTH CS TEXT SET SELECTION CS TEXT SET STRING DIALOG BOX FILE SELECTION FILE SELECTION DO SEARCH HELP LABEL LIST BOX LIST BOX ADD ITEM LIST BOX DELETE ITEM LIST BOX DELETE POS LIST BOX DESELECT ALL ITEMS LIST BOX DESELECT ITEM LIST BOX DESELECT POS LIST BOX ITEM EXISTS LIST BOX SELECT ITEM LIST BOX SELECT POS LIST BOX SET HORIZ POS LIST BOX SET ITEM LIST BOX SET POS MAIN WINDOW MAIN WINDOW SET AREAS MENU MENU BAR MENU POSITION MESSAGE BOX OPTION MENU PULL DOWN MENU ENTRY PULL DOWN MENU ENTRY HILITE PUSH BUTTON RADIO BOX SCALE SCALE GET SLIDER SCALE SET SLIDER SCROLL BAR SCROLL BAR GET SLIDER SCROLL BAR SET SLIDER SCROLL WINDOW SCROLL WINDOW SET AREAS SELECTION SEPARATOR S TEXT S TEXT CLEAR SELECTION S TEXT GET EDITABLE S TEXT GET MAX LENGTH S TEXT GET SELECTION S TEXT GET STRING S TEXT REPLACE S TEXT SET EDITABLE S TEXT SET MAX LENGTH S TEXT SET SELECTION S TEXT SET STRING TOGGLE BUTTON TOGGLE BUTTON GET STATE TOGGLE BUTTON SET STATE WINDOW WORK BOX 8 Low-Level Widget Routines 8.1 Widget Class Hierarchy 8.2 Common Attributes 8.3 Callback Routines 8.4 Low-Level Widget Routines ATTACHED DIALOG BOX CREATE ATTACHED DIALOG BOX POPUP CREATE CAUTION BOX CREATE COLOR MIX CREATE COMMAND WINDOW CREATE CS TEXT CREATE DIALOG BOX CREATE DIALOG BOX POPUP CREATE FILE SELECTION CREATE HELP CREATE LABEL CREATE LIST BOX CREATE MAIN WINDOW CREATE MENU BAR CREATE MENU CREATE MENU POPUP CREATE MENU PULLDOWN CREATE MESSAGE BOX CREATE OPTION MENU CREATE PULL DOWN MENU ENTRY CREATE PUSH BUTTON CREATE RADIO BOX CREATE SCALE CREATE SCROLL BAR CREATE SCROLL WINDOW CREATE SELECTION CREATE SEPARATOR CREATE S TEXT CREATE TOGGLE BUTTON CREATE WINDOW CREATE WORK BOX CREATE 9 Gadget Creation Routines 9.1 Gadget Hierarchy 9.2 Gadget Creation Routines LABEL GADGET CREATE PULL DOWN MENU ENTRY GADGET CREATE PUSH BUTTON GADGET CREATE SEPARATOR GADGET CREATE TOGGLE BUTTON GADGET CREATE A Summary of Widget Attributes (VAX Binding) A.1 Attached Dialog Box A.2 Attached Dialog Box Popup A.3 Caution Box A.4 Color Mixing A.5 Command Window A.6 CS Text A.7 Dialog Box A.8 Dialog Box Popup A.9 File Selection A.10 Help A.11 Label A.12 List Box A.13 Main Window A.14 Menu Bar A.15 Menu A.16 Menu Popup A.17 Menu Pulldown A.18 Message Box A.19 Option Menu A.20 Pull Down Menu Entry A.21 Push Button A.22 Radio Box A.23 Scale A.24 Scroll Bar A.25 Scroll Window A.26 Selection A.27 Separator A.28 S Text A.29 Toggle Button A.30 Window A.31 Work Box B Summary of Widget Attributes (C Binding) B.1 Attached Dialog Box B.2 Attached Dialog Box Popup B.3 Caution Box B.4 Color Mixing B.5 Command Window B.6 CS Text B.7 Dialog Box B.8 Dialog Box Popup B.9 File Selection B.10 Help B.11 Label B.12 List Box B.13 Main Window B.14 Menu Bar B.15 Menu B.16 Menu Popup B.17 Menu Pulldown B.18 Message Box B.19 Option Menu B.20 Pull Down Menu Entry B.21 Push Button B.22 Radio Box B.23 Scale B.24 Scroll Bar B.25 Scroll Window B.26 Selection B.27 Separator B.28 S Text B.29 Toggle Button B.30 Window B.31 Work Box FIGURES 2-1 Shell Widget Hierarchy 8-1 Widget Class Hierarchy 9-1 Gadget Hierarchy TABLES 1-1 General Rules of Syntax 1-2 VMS Usage Entries 1-3 Access Entries 1-4 Mechanism Entries 2-1 Intrinsic Routines 2-2 Standard Widget Manipulation Routines 3-1 Convenience Routines 3-2 Message Routines 4-1 DRM Routines 5-1 Compound String Routines 6-1 Cut and Paste Routines 6-2 Data Format Names 7-1 High-Level Widget Routines 8-1 Low-Level Widget Routines 8-2 Callback Structure Names 9-1 Gadget Creation Routines A-1 Attached Dialog Box Attributes A-2 Attached Dialog Box Pop-Up Attributes A-3 Caution Box Attributes A-4 Color Mixing Attributes A-5 Command Window Attributes A-6 CS Text Attributes A-7 Dialog Box Attributes A-8 Dialog Box Pop-Up Attributes A-9 File Selection Attributes A-10 Help Attributes A-11 Label Attributes A-12 List Box Attributes A-13 Main Window Attributes A-14 Menu Bar Attributes A-15 Menu Attributes A-16 Menu Pop-Up Attributes A-17 Menu Pull-Down Attributes A-18 Message Box Attributes A-19 Option Menu Attributes A-20 Pull-Down Menu Entry Attributes A-21 Push Button Attributes A-22 Radio Box Attributes A-23 Scale Attributes A-24 Scroll Bar Attributes A-25 Scroll Window Attributes A-26 Selection Attributes A-27 Separator Attributes A-28 S Text Attributes A-29 Toggle Button Attributes A-30 Window Attributes A-31 Work Box Attributes B-1 Attached Dialog Box Attributes B-2 Attached Dialog Box Pop-Up Attributes B-3 Caution Box Attributes B-4 Color Mixing Attributes B-5 Command Window Attributes B-6 CS Text Attributes B-7 Dialog Box Attributes B-8 Dialog Box Pop-Up Attributes B-9 File Selection Attributes B-10 Help Attributes B-11 Label Attributes B-12 List Box Attributes B-13 Main Window Attributes B-14 Menu Bar Attributes B-15 Menu Attributes B-16 Menu Popup Attributes B-17 Menu Pull-Down Attributes B-18 Message Box Attributes B-19 Option Menu Attributes B-20 Pull Down Menu Entry Attributes B-21 Push Button Attributes B-22 Radio Box Attributes B-23 Scale Attributes B-24 Scroll Bar Attributes B-25 Scroll Window Attributes B-26 Selection Attributes B-27 Separator Attributes B-28 S Text Attributes B-29 Toggle Button Attributes B-30 Window Attributes B-31 Work Box Attributes