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