25.11.9.10 The resize function 629
25.11.9.11 The remove function 629
25.11.9.12 The restore function 630
25.11.9.13 The layout function 630
25.11.9.14 Accept keyboard focus function 630
25.11.9.15 The yield keyboard focus function 631
25.11.10 Panel Item Extension Attributes 631
Appendix A The Selection Service 635
A.1 The XView Selection Model 636
A.2 Using the Selection Service 637
A.3 Getting the Current Selection 638
A.3.1 The Seln_request Structure 641
A.4 Using selection_query() 646
A.5 Selection Package Summary 652
Appendix B The notice_prompt Function 655
B.1 Creating and Displaying Notices 655
B.1.1 Response Choices and Values 658
B.1.2 Notice Triggers 659
B.2 Another Example 661
B.3 Notice Package Summary 664
Appendix C Mouseless Model Keyboard Mappings 667
C.1 Mouseless Model Resources 667
C.1.1 SunView1 Mappings 668
C.1.1.1 Keyboard core functions 668
C.1.1.2 Local navigation commands 668
C.1.1.3 Text editing commands 668
C.1.2 Basic Mappings 669
C.1.2.1 Local navigation commands 669
C.1.2.2 Text editing commands 669
C.1.3 Full Mouseless Mappings 670
C.1.3.1 Keyboard core functions 670
C.1.3.2 Global navigation commands 670
C.1.3.3 Miscellaneous navigation commands 671
C.2 Mouseless Model Keyboard Semantic Actions 671
C.3 SunView1 Mappings for the Mouseless Model 672
Appendix D Version 3.2 and the File Chooser 677
D.1 Creating File Choosers 677
D.2 Using a File Chooser 680
D.3 Notification from a File Chooser 683
D.4 Controlling the File Chooser Display List 684
D.4.1 Monitoring Directory Changes 685
D.4.2 Filtering 685
D.4.3 File Chooser Sorting 686
D.5 Modifying the Display List 686
D.5.1 Dot Files 687
D.5.2 Abbreviated View 687
D.6 File Chooser Customization 687
D.7 Customizing the File Chooser Dialog 688
D.7.1 File Chooser Components 690
D.8 Version 3.2 Additions 691
D.8.1 New Panel List Attributes for Version 3.2 691
D.8.1.1 Adding new list entries 691
D.8.1.2 Other panel list changes 694
D.9 Keyboard Menu Accelerators 695
D.9.0.1 Frame package menu accelerator attributes 695
D.9.0.2 The menu attributes for menu accelerators 696
D.9.0.3 Resources 698
D.9.0.4 Core set menu accelerators 698
D.9.0.5 Events 699
D.10 File Chooser and Version 3.2 Additions Summary 700
Appendix E OPEN LOOK User-interface Compliance 705
E.1 Level 1 Features Not Supported in XView 3.0 705
E.1.1 Keyboard and Mouse Customization 705
E.1.2 Default Buttons in Pop Ups 706
E.1.3 Help 706
E.1.4 Window Background 707
E.1.5 Notices 707
E.1.6 Text Functions 707
E.1.7 Control Items 707
E.1.8 Property Windows 708
E.2 Level 2 Features Supported in XView 3.0 708
E.3 Level 2 Features Not Supported in XView 3.0 709
Appendix F Example Programs 713
F.1 item_move.c 713
F.2 scroll_cells2.c 719
F.3 menu_dir2.c 723
Figures
Page
1-1 An X application and a traditional text terminal 3
1-2 Selecting a menu item with the pointer 5
1-3 Applications can run on any system across the network 7
1-4 The software architecture of X applications 7
1-5 The Notifier exists between the server and the XView application 10
1-6 A sample OPEN LOOK workspace 13
2-1 XView class hierarchy 18
2-2 Object creation is top down; attribute setting is bottom up 24
2-3 Fully-featured base frame (includes optional elements) 26
2-4 Sample unpinned command frame 27
2-5 Sample help window 28
2-6 Sample notice 28
2-7 A window with multiple views 29
2-8 A control area above a subwindow 30
2-9 A control area to the right of a pane 30
2-10 A control area in a command window 31
2-11 Example of a pop-up menu with a pullright submenu 32
2-12 Vertical scrollbar components 33
2-13 Flow of control in a conventional program 35
2-14 Flow of control in a Notifier-based program 36
2-15 Flow of input events in an XView application 37
3-1 A frame containing a Quit button 45
4-1 Frame package class hierarchy 59
4-2 Three base frames 59
4-3 Simple base frame created without any FRAME attributes specified 63
4-4 A sample header label display in a frame 64
4-5 Headers and footers on base frame 65
4-6 Default icon and application icon 66
4-7 Base frame with a command frame 68
5-1 Canvas class hierarchy 85
5-2 A canvas subwindow with multiple views 86
5-3 Canvases, views, and paint windows 87
5-4 Window before and after an Expose event 92
5-5 Window with two views before and after an Expose event 93
5-6 A window created with canvas_event.c 110
6-1 A sample function keys window 140
6-2 Sample function keys window with a MORE key 141
6-3 Sample virtual keyboard binding 142
7-1 Panel package class hierarchy 153
7-2 Panel item class hierarchy 153
7-3 Controls in an OPEN LOOK GUI implementation 154
7-4 Layout of panel items 160
7-5 Panel item value rectangle and label rectangle 161
7-6 Visual feedback for button controls 166
7-7 Sample menu button (unselected and selected) 169
7-8 Sample abbreviated menu button 170
7-9 Sample panel with exclusive choices 172
7-10 Sample panel with nonexclusive choices 173
7-11 Sample panel with abbreviated choice (unselected and selected) 174
7-12 Sample panel with checkbox 175
7-13 Sample panel with scrolling list 177
7-14 Output of program list_glyphs.c 180
7-15 Sample panel with message item 186
7-16 Sample panel with message item-High Pressure 186
7-17 Sample panel with slider item 188
7-18 Sample panel with text item 189
7-19 Panel multiline text item 194
7-20 Sample panel with drop target items 195
7-21 Panel with gray background 204
7-22 Output of item_move.c in use 208
8-1 A sample text subwindow 215
8-2 Textsw class hierarchy 216
8-3 A caret marks the insertion point 217
8-4 A text selection 231
9-1 TTY package class hierarchy 241
9-2 Output of sample_tty.c 243
9-3 Output of textsw_to_ttysw.c 245
10-1 An OPEN LOOK scrollbar 253
10-2 Relationship between a scrollbar and the object it scrolls 255
10-3 Scrollbar class hierarchy 256
10-4 Splitting a text subwindow twice 257
10-5 Model for scroll_cells.c 258
11-1 The Window menu 274
11-2 Menu buttons each with a pulldown menu 274
11-3 Pushpins in a menu and a submenu 274
11-4 Exclusive settings on a menu 276
11-5 Nonexclusive settings on a submenu 277
11-6 Menu class hierarchy 278
11-7 Output of simple_menu.c when the menu is popped up 282
11-8 Output of xv_menu.c 296
12-1 Notice class hierarchy 307
12-2 A sample notice window 308
12-3 Output of simple_notice.c while the notice is up 311
13-1 Cursor class hierarchy 327
14-1 Three bordered default icons 339
14-2 Icon package class hierarchy 339
15-1 Nonvisual objects class hierarchy 349
16-1 Font package class hierarchy 368
16-2 The Courier font in different styles and sizes 371
18-1 Dragging the pointer to select text 393
18-2 Selection owner class hierarchy 398
Get Volume 7A: XView Programming Manual now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.