Notices
Trademarks
About this book
Who this book is for
Conventions used in this book
Tell us what you think
What's new
What's new in ULC
What's new in this guide

User's Guide
Overview of ULC
Half objects
How the UI Engine works
Setting up ULC
What you need for ULC desktop workstations
Setting up Java support
Setting up the sample ULC HTTP server
Configuring Internet Explorer for ULC
Configuring Netscape Navigator for ULC
Running ULC components
Using the UI Engine
Running the UI Engine as a standalone application
Running the UI Engine as an applet
Running UI Engine as a helper application
UI Engine command options
Using the sample ULC HTTP server
Using Application Controller
About building ULC applications
How ULC compares with common widget protocol
ULC class overview
The simple widgets
ULC layout
ULC layout design tips
Using layout widgets
Shells
About model-based widgets
Using models with model-based widgets
ULC and Server Smalltalk
Opening new ULC views
Handling Strings in ULC applications
Running applications in Compatibility Mode
Migrating to Unicode
Enabling national language support in ULC applications
Differences between ULC and standard VisualAge NLS mechanisms
Implementing NLS support for ULC applications
Building ULC applications visually
Visual composition pitfalls in ULC
Using ULC visual parts
Defining layout
Adding widgets
Setting layout properties
Changing the ULC layout grid
Building the To-Do List with ULC
Creating a ULC application
Creating a new ULC visual part
Setting the layout
Adding the remaining parts
Connecting the parts
Testing the application
Adding support for enablers
Enabling reuse with ULC composite parts
Using ULC nonvisual parts
Working with Variable parts
Working with Form Model parts
Working with Table Model parts
Working with Tree Model parts
Working with Data Models
Working with Row Models
Deploying ULC-based applications
Packaging ULC-based applications in XD
Preparing ULC visual and composite parts
Registering the ULC visual application class
Creating and populating the passive image
Creating the packaging instructions and outputting the image
Setting up a ULC development image to run in production mode
About running ULC applications from a command prompt
Implementing ULC objects
Implementing the widget
Implementing the UI half
Implementing the faceless half
Implementing the faceless half in Java
Implementing the faceless half in Smalltalk
Advanced Techniques
Server Support
Introduction
Monitoring at Development Time
Including the Monitor in Packaged Images
How to write a Custom UI for the Monitor
Support for ENVY/Stats
Overview
Using the ULC Profiler
Test Workbench
Standardized Test Format
Workbench
Create Test Suite
Create Test
Edit Test
Test Overview
Troubleshooting ULC applications
Named ULC contexts
Cleaning up the ULC system
Using the Debugger window with ULC
Configuring #debugPrintString
Tracing inside the Smalltalk image
Default ULC debugging aspects
Defining application-specific debugging aspects
Customizing exception handling by context
Default exception handling in ULC
Implementing custom exception handling
Customization considerations
Frequently asked questions
General Questions
How do I run the UI Engine as an applet?
How do I increase the Environment under Win95?
How do I run ULC on a standalone machine?
How can I request a remote ULC server to exit?
How much code is downloaded when connecting to a ULC application?
What kind of applications is ULC designed for?
How can I convert my standalone application to a ULC server application?
What happens when a connection fails?
Why do I get an error "ULC Transport Unable to load defaults"?
Why am I not able to connect a sample ULC application to a UIEngine on the same machine?
In ULC lists (Table, TreeTable), how is addPreloadColumns different from addPreloadAttributes?
What can I do to tune the performance of my ULC List widgets (Tree, Table, TreeTable) ?
My long running ULC Java server seems to be leaking memory. What can I do?
Smalltalk Questions
Why does the Test button in the Composition Editor stop working?
How do I inspect the objects in a ULC application?
Why do I get a Debugger window when saving the public interface of an object?
Why does the development image not respond when I start a ULC application?
How can I add a new menu to an existing menu or menubar?
How do you inspect the Objects being used within a Smalltalk ULC Application?
Why do I get a debugger when saving the public interface of an object?
How can I find a widget that has disappeared?
How can I execute application specific image startup tasks?
How can I open new ULC views?
Packaging when using non-ULC parts in a variable
Why do I see two connections when starting a Smalltalk example (exe)?
Can I have equal objects in a list?

Programmer's Reference
Resource classes
General classes
Alert
Box parts
Box attributes
Box events
Box general advice
Browser Context
Browser Context attributes
Browser Context events
Button
Button attributes
Button events
Button general advice
CheckBox
CheckBox attributes
CheckBox events
CheckBox general advice
CheckBox Menu Item
CheckBox Menu Item attributes
CheckBox Menu Item events
CheckBox Menu Item general advice
Column
Column attributes
Column events
Column general advice
ComboBox
ComboBox attributes
ComboBox events
Container
Container attributes
Container events
Container general advice
Data Model
Enabler
Enabler general advice
Field parts
Field attributes
Field events
Field general advice
Filler
Filler attributes
Filler events
Filler general advice
Form Model
Form Model attributes
Form Model events
Form Model general advice
GroupBox
GroupBox attributes
GroupBox events
GroupBox general advice
Html Pane
Html Pane attributes
Html Pane events
Html Pane general advice
Label
Label attributes
Label events
Label general advice
List
List attributes
List events
List general advice
Menu
Menu attributes
Menu events
Menu general advice
Menubar
Menubar attributes
Menubar events
Menubar general advice
Menu Item
Menu Item attributes
Menu Item events
Menu Item general advice
Menu Separator
Menu Separator attributes
Menu Separator events
Menu Separator general advice
Notebook
Notebook attributes
Notebook events
Notebook general advice
Page
Page attributes
Page events
Pagebook
Pagebook attributes
Pagebook events
Pagebook general advice
Progress Bar
Progress Bar attributes
Progress Bar events
Progress Bar general advice
RadioButton
RadioButton attributes
RadioButton events
RadioButton general advice
Radio Group
Row Model
Row Model attributes
Row Model general advice
Shell
Shell attributes
Shell events
Shell general advice
Slider
Slider attributes
Slider events
Slider general advice
Split Pane
Split Pane attributes
Split Pane events
Table
Table attributes
Table events
Table general advice
Table Model
Table Model attributes
Table Model events
Table Model general advice
ToolBar
ToolBar attributes
ToolBar events
Tree
Tree attributes
Tree events
Tree Model
Tree Model attributes
Tree Model events
Tree Model general advice
TreeTable
TreeTable attributes
TreeTable events

Reference
Hide Margin/Show Margin
Resize Window
Open <BoxClassName> Settings
Align
Hide Box Margin/Show Box Margin
Row
Column
Switch to page
Font prompt
Icon property
Converter prompt
Accelerator prompt
Index