Ultra Light Client Guide and Reference
The ULC feature of VisualAge Smalltalk Version 5.5 has changed
since Version 5.0. VisualAge Smalltalk Version 5.0
supported ULC 1.5. VisualAge Smalltalk Version 5.5
supports ULC 3.0. Here is a list of what is new:
- UI Engine
-
- FormModels now preload all data for their clients reducing the number of
round trips required to populate the view.
- The UI Engine now supports Swing 1.1.1 and JRE
1.2.2.
- Most widgets now support a BlockInputTrigger action. This trigger
displays the busy cursor and blocks further user input till an answer has been
received from the ULC server.
- The Table widget supports edit navigation using the keyboard.
- The Date validator allows multiple date formats (eg:
dd:MM;dd:MM:yy;dd:MM:yyyy) which
allows partial inputs of dates to be correctly interpreted.
- A new ULCTreeTable widget has been added as well as a corresponding
ULCTreeTableModel.
- A new ULCContainer widget has been added.
- Labels now support multi line text.
- The ULCShell now supports a destroy on close flag that causes the shell to
be released from the UI when it is closed.
- FormModels now preload all data for their clients reducing the number of
round trips required to populate the view.
- Concatenated enablers are supported allowing simple boolean logic (AND,
OR, NOT, XOR) to be used directly in the UI to enable or disable a
widget. Wherever a enabler was supported a concatenated enabler can be
used in its place and each concatenated enabler can be linked to other
concatenated enablers and multiple widgets as input sources
simultaneously.
- Mandatory input support allowing a widget to be highlighted whenever input
is mandatory. The Mandatory input enabler also functions as an AND
Enabler allowing for example a button to be enabled once all the source
widgets have input.
- Table and Column supports a sortRequest API.
- The ULCIcon now supports a isCachedOnUI property and can now be cached in
the UI persistently across sessions.
Note: | The caching support is currently not available when the UI is running as an
Applet.
|
- RowModel and TreeRowModel proxy have been added allowing any Form widget
to access its data from a row in a TableModel or a TreeModel.
- Menus can now be linked to a Form model allowing the menu to be displayed
when the fo rm model has a specific value.This allows dynamic context
menus to be supported.
- Batching of requests to the UI is supported using the
startBatchingRequests/stopBatchingRequests API.
- Table, List and ComboBox support an ItemList API that allows multiple
widgets to share the same TableModel but have different sort orders.
- The Column allows a header renderer to be specified.
- A HelpBrowserContext proxy has been added to provide simple F1/Help key
support for all widgets.
- TableModel and TreeModel support a preloadAttributes API that forces the
specified attributes to be uploaded to the UI whenever the row is uploaded for
the first time.
- All widgets that support tooltips now support multi-line tooltips.
- All widgets that support mnemonics now support automatic mnemonic parsing
from the label string (eg: ~File indicates the mnemonic F).
- Label supports the horizontalTextPosition attribute.
- The ComboBox is now closed whenever a mouse click is made outside the
ComboBox popup area.
- The Shell supports a defaultButton API that specifies a Button that is
triggered whenever the user hits enter within a Shell.
- The Date validator rolls partially specified years into the the 20th
century or 21st century based on a 70 year window using standard Y2K
rules. (eg: 00= 2000, 98=1998)
- The CheckBoxMenuItem and the RadioButtonMenuItem can now be linked to a
ButtonGroup.
- The Page supports a setIcon API that allows the notebook page icon to be
changed dynamically. Table and List now display an empty string on
receiving a null value instead of "null".
- Table Columns now support validation at the keystroke level similar to
fields as well as maintaining the last input for an editable column.
- The StringValidator allows -1 as a string length indicating unlimited
length.
- The TreeModel supports inserting children before or after a specific
node.
- The TreeModel supports changing the icon or label of a node
dynamically.
- The ULCTransport.properties file has been moved into the
ulc.jar file as well as the uiengine.jar. Customers that
implement their own transports can override the default file by placing their
modified version of the ULCTransport.properties file in the root of
their classpath. If such a file is found it will be used in place of
the default file provided with the ULC release.
- ULC Smalltalk API
-
- A new UlcDataModel has been added that when used in conjunction with a
ULCTreeItemList can be shared among Trees, Tables and List widgets.
- The IBM ULC VisualAge Server ULC feature is a prerequisite. (IBM
ULC R1.5).
- The ULC Smalltalk API supports the ULC Filter API as well which allows the
ULC Java UI Engine based record/playback tools to be used to test ULC
Smalltalk applications as well.
- Support for ENVY/Stats has been added.
- Pagebooks signal the optional pageChanged event.
- Web Integration
- The UI Engine code is no longer packaged along with the HTTP
Server. The environment variable ULCUIHOME must point to the root
directory of the UI Engine.
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]