WorkShop: Visual User's Guide
Contents
1. Overview
- 1.1 Introduction to WorkShop Visual
- 1.2 Operating Environment
- 1.3 Requirements for Compiling Generated Code
- 1.4 Basic Concepts and Terms
- 1.5 Protection from Invalid Actions
- 1.6 On-Line Help
- 1.7 The WorkShop Visual Development Cycle
- 1.8 How This Manual Is Organized
2. Building the Widget Hierarchy
- 2.1 Introduction to the Tutorial
- 2.2 The Design Hierarchy
- 2.3 Starting and Stopping
- 2.4 Navigating in the Menus
- 2.5 Toolbar
- 2.6 Status Line
- 2.7 Starting the Design
- 2.8 Widget Names
- 2.9 Naming Widgets
- 2.10 Adding Children to the Hierarchy
- 2.11 Dynamic Display of Layout
- 2.12 Currently Selected Widget
- 2.13 Multiple Selection
- 2.14 No Selected Widget
- 2.15 Adding the Buttons
- 2.16 Building the Menu Bar
- 2.17 Adding the Work Area
- 2.18 Building the Radio Box
- 2.19 Building the Row Column Array
- 2.20 Adding the Toggle Buttons
- 2.21 Adding a Window to your Application
- 2.22 Creating a Second Window
- 2.23 Editing the Hierarchy
- 2.24 Display Options
- 2.25 Printing Your Hierarchy
- 2.26 Using the File Browser
3. Resources
- 3.1 Introduction
- 3.2 The Label Resource Panel
- 3.3 Multiple Selection and Resources
- 3.4 Resource Panels in Microsoft Windows Mode
- 3.5 Button Widget Resources
- 3.6 Shared Resource Panels
- 3.7 Resources for Menu Items
- 3.8 The Keyboard Page
- 3.9 Designated Help Widget
- 3.10 RowColumn Resources
- 3.11 Shell Resources
- 3.12 Navigating in the Resource Panels
- 3.13 Core Resource Panel
- 3.14 Constraints Panel
- 3.15 Default Resource Settings
- 3.16 The Reset Command
- 3.17 Rejected Resource Settings
- 3.18 Resource Bindings
- 3.19 Loose Bindings
- 3.20 Tight Bindings
- 3.21 Comparison of Resource Generation
- 3.22 Where to Look for More Information on Resources
4. The Layout Editor
- 4.1 Introduction
- 4.2 Concepts
- 4.3 Displaying the Layout Editor
- 4.4 Editing Area
- 4.5 Status Line
- 4.6 Editing Modes
- 4.7 Selection: Single, Primary and Secondary
- 4.8 Layout Editor Toolbar
- 4.9 Layout Editor File Menu
- 4.10 Layout Editor Edit Menu
- 4.11 Layout Editor View Menu
- 4.12 Layout Editor Layout Menu
- 4.13 Grid
- 4.14 Resize Policy
- 4.15 Understanding the Default Layout
- 4.16 Rough Layout: The Move Mode
- 4.17 Offsets
- 4.18 Attachments to the Form
- 4.19 Attachments Between Widgets
- 4.20 Aligning Widgets: The Align Mode
- 4.21 Aligning Widgets: Group Alignment
- 4.22 Distribute
- 4.23 Proportional Spacing: The Position Mode
- 4.24 Self Mode
- 4.25 Resize Mode
- 4.26 Using the Constraints Panel
- 4.27 Other Layout Widgets
- 4.28 Layout Editor Restrictions
5. Other Editors
- 5.1 Introduction
- 5.2 Setting Colors
- 5.3 Setting Fonts
- 5.4 Selecting Pixmaps
- 5.5 Editing Pixmaps
- 5.6 Editing the Color Palette
- 5.7 Using the Pixmap Editor
- 5.8 Compound Strings
- 5.9 Callback and Prelude Editing
6. Making It All Work
- 6.1 Introduction
- 6.2 Designating a Callback
- 6.3 Callback Functions
- 6.4 Accessing Widgets in Callbacks
- 6.5 Manipulating Widgets
- 6.6 Links
- 6.7 Drag and Drop
- 6.8 Translations and Actions
- 6.9 Modifying a Translation Table
- 6.10 Augment, Override and Replace
- 6.11 Translation Table Syntax
- 6.12 Translation Table Ordering
- 6.13 Available Actions
- 6.14 Additional Actions
7. Generating Code
- 7.1 Introduction
- 7.2 The Generate Menu
- 7.3 Generate Dialog
- 7.4 Adding Callback Functionality
- 7.5 Analysis of the Primary Module
- 7.6 Resource File Syntax
- 7.7 Arranging Your Files
- 7.8 Customizing the Generated Files: Preludes
- 7.9 Module Preludes
- 7.10 Code Preludes
- 7.11 Using the Edit Mechanism
8. Structured Code Generation and Reusable Definitions
- 8.1 Introduction
- 8.2 Structured Code Generation
- 8.3 Function Structures
- 8.4 Data Structures
- 8.5 C++ Classes
- 8.6 Method Declarations
- 8.7 Children Only Place Holders
- 8.8 Structured Code Generation and UIL
- 8.9 Changing Declaration Scope
- 8.10 Definitions
- 8.11 The Definitions file
- 8.12 Modifying a Definition
- 8.13 Instances
- 8.14 Definitions and Resource Files
- 8.15 Online Help for Definitions
9. C++ Code Tutorial
- 9.1 Introduction
- 9.2 Creating a C++ Class
- 9.3 Callback Methods
- 9.4 Adding Class Members
- 9.5 Creating a Derived Class
- 9.6 Creating a Definition
- 9.7 Adding a Definition to the Palette
- 9.8 Generating Code for a Definition
- 9.9 Creating an Instance
- 9.10 Modifying and Extending an Instance
- 9.11 Creating a Derived Class
- 9.12 Overriding a Callback Method
- 9.13 Definitions and Resource Files
10. Cross Platform Development
- 10.1 Introduction
- 10.2 Overview
- 10.3 Starting in Microsoft Windows Mode
- 10.4 The WorkShop Visual Window
- 10.5 Microsoft Windows Compliance
- 10.6 Compliance Failure
- 10.7 User-Defined Widgets
- 10.8 Using Links
- 10.9 Manager Widgets and Layout
- 10.10 Fonts
- 10.11 Pixmaps, Bitmaps and Icons
- 10.12 Colors
- 10.13 Configuring WorkShop Visual
- 10.14 File names
- 10.15 Method Declarations
- 10.16 DrawingAreas
- 10.17 Application Class
- 10.18 Code Generation
11. Cross Platform Tutorial
- 11.1 Introduction
- 11.2 Starting Your Design
- 11.3 Creating a Definition
- 11.4 Creating an Instance
- 11.5 File Selection Dialog
- 11.6 Popup Menu
- 11.7 Setting Resources
- 11.8 Building the Application
- 11.9 Filling in the MFC Stubs
- 11.10 Compiling the Application
- 11.11 Microsoft Windows
12. Design Tools
- 12.1 Introduction
- 12.2 AppGuru
- 12.3 Using AppGuru
- 12.4 Component Toggles
- 12.5 Creating Your Own AppGuru Templates
- 12.6 WorkShop Visual Capture
- 12.7 Capture Dialog
- 12.8 Using WorkShop Visual Capture from the Command Line
13. WorkShop Visual Replay
- 13.1 Introduction
- 13.2 How to Invoke an Application with WorkShop Visual Replay
- 13.3 Recording and Replaying from the Command Line
- 13.4 Getting the Most from WorkShop Visual Replay
- 13.5 Preparing Rolling Demonstrations
- 13.6 Taking Screen Dumps
- 13.7 Testing
- 13.8 Extending the WorkShop Visual Replay Widget Set
- 13.9 Adding your own WorkShop Visual Replay commands
- 13.10 Allowing Your Applications to be Recorded and Replayed
14. User-Defined Widgets
- 14.1 Introduction
- 14.2 Requirements
- 14.3 Prerequisites
- 14.4 How WorkShop Visual Works
- 14.5 Getting Widget Information
- 14.6 visu_config - the Main Dialog
- 14.7 Widget Classes
- 14.8 Widget Attributes
- 14.9 Resources
- 14.10 Aliases
- 14.11 Enumerations
- 14.12 Converters
- 14.13 Popups
- 14.14 Resource Memory Management
- 14.15 XmStringTable Resources
- 14.16 Headers
- 14.17 Motif Widgets Stop List
- 14.18 Generating and Compiling Code
- 14.19 Testing the Configuration
- 14.20 Configuration Functions
15. Makefile Generation
- 15.1 Introduction
- 15.2 Creating the Initial Makefile
- 15.3 Updating the Initial Makefile
- 15.4 Editing the Generated Makefile
- 15.5 Using your own Makefiles
16. Advanced Layout
- 16.1 Introduction
- 16.2 Column Layout Using the RowColumn
- 16.3 Column Layout Using the Form
- 16.4 Edge Problems
- 16.5 Form Resizing
17. Hypertext Help
- 17.1 Introduction
- 17.2 The Help Model
- 17.3 Help Viewers
- 17.4 Setting up Help in WorkShop Visual
- 17.5 Module Defaults
- 17.6 Finding Help Documents and Markers
- 17.7 Linking Help into your Application
- 17.8 Help Implementation
18. Internationalization
- 18.1 Introduction
- 18.2 What is the Problem?
- 18.3 Locale
- 18.4 Font Sets
- 18.5 Creating International Text
- 18.6 International Text Input in Your Application
- 18.7 Setting the Application Font Resource
- 18.8 Using Eight-Bit Characters in Shell Titles
19. Command Line Operations
- 19.1 Introduction
- 19.2 Command Line Switches for Interactive Use
- 19.3 Generating Code from the Command Line
- 19.4 WorkShop Visual Replay
- 19.5 WorkShop Visual Capture
- 19.6 Converting UIL Source to WorkShop Visual Save Files
- 19.7 Converting GIL Source to WorkShop Visual Save Files
20. Configuration
- 20.1 Introduction
- 20.2 Setting up Callback and Prelude Editing
- 20.3 Palette Icons
- 20.4 Palette Contents
- 20.5 Palette Layout
- 20.6 Toolbar
- 20.7 Makefile Features
21. Command Summary
- 21.1 Introduction
- 21.2 Widget Name and Variable Name
- 21.3 The File Menu
- 21.4 The Edit Menu
- 21.5 The View Menu
- 21.6 The Palette Menu
- 21.7 The Widget Menu
- 21.8 The Module Menu
- 21.9 The Generate Menu
- 21.10 Tear-Off Menus
- 21.11 The Tools Menu
- 21.12 The Help Menu
- 21.13 Keyboard Shortcuts
22. Widget Reference
- 22.1 Introduction
- 22.2 ArrowButton
- 22.3 BulletinBoard
- 22.4 CascadeButton
- 22.5 Command
- 22.6 DialogTemplate
- 22.7 DrawingArea
- 22.8 DrawnButton
- 22.9 FileSelectionBox
- 22.10 Form
- 22.11 Frame
- 22.12 Label
- 22.13 List
- 22.14 MainWindow
- 22.15 Menu
- 22.16 MenuBar
- 22.17 MessageBox
- 22.18 OptionMenu
- 22.19 PanedWindow
- 22.20 PushButton
- 22.21 RadioBox
- 22.22 RowColumn
- 22.23 Scale
- 22.24 ScrollBar
- 22.25 ScrolledList
- 22.26 ScrolledText
- 22.27 ScrolledWindow
- 22.28 SelectionBox
- 22.29 SelectionPrompt
- 22.30 Separator
- 22.31 Shell
- 22.32 Text
- 22.33 TextField
- 22.34 ToggleButton
- 22.35 Mapping Motif Widgets to Microsoft Windows
- 22.36 Mapping Motif Resources to Microsoft Windows
- 22.37 Window Styles
23. Troubleshooting in WorkShop Visual
- 23.1 Introduction
- 23.2 WorkShop Visual Interface
- 23.3 Resource Panels
- 23.4 Layout Editor
- 23.5 Links
- 23.6 Code Generation
A. Application Defaults
- A.1 Introduction
- A.2 General
- A.3 Callback and Prelude Editing
- A.4 Microsoft Windows
- A.5 Filters
- A.6 Generate Dialog
- A.7 Generation
- A.8 Help
- A.9 Auto Save
- A.10 Layout Editor
- A.11 Hierarchy Colors
- A.12 Work-arounds
- A.13 FrameMaker
- A.14 Configuration
B. Motif XP Reference
- B.1 Introduction
- B.2 Motif XP Library
- B.3 Linking Error with Some Compilers
C. WorkShop Visual Replay Command Syntax
- C.1 Introduction
- C.2 Specifying the context of actions
- C.3 Button Actions (Simple controls)
- C.4 Menu Operations
- C.5 Option Menu Operations
- C.6 Keyboard Operations
- C.7 Text Entry
- C.8 Button Actions (Position Dependent Controls)
- C.9 Resource Evaluation
- C.10 Widget Hierarchy Analysis
- C.11 Non-application operations
- C.12 Condition clauses
- C.13 Display Expressions
- C.14 Widget State Expressions
- C.15 Importing User-Defined Commands
- C.16 WorkShop Visual Replay Widget Naming Conventions
D. Further Reading
- D.1 Introduction
- D.2 Books Mentioned In This Manual
- D.3 Books on X and Motif
- D.4 Books on C++ and Object Oriented Programming
- D.5 Books on Microsoft Foundation Classes
- D.6 Books on Internationalization
- D.7 Books on CDE
- D.8 Books on HTML