Onward and Upward

 

Smalltalk ProductsFeatures of WindowBuilder Pro for Smalltalk

There are dozens of new features that have been added to the product (many at the suggestion of users like yourself).

They're described below, in no particular order.

screenshot

More Code Generation Options

Optionally use generic IBM Smalltalk code generation

Optionally generate EtWindow subclasses

New Help Editor

Specify tooltips (mini / hover help) for any widget

Specify platform help files and help topic IDs for any widget

New WbPlatformHelpExample provided

Mini / hover help enhanced to work with EwToolBar tools

Runtime IC Generation

New "Runtime ICs" submenu is available from the Transcript's WindowBuilder menu

Generate ICs for all WindowBuilder & WidgetKit components

Generate ICs for either development or runtime images

Enhanced Integration with VA Smalltalk

WBPro windows may be embedded within VisualAge windows as visual components

Conceptually similar to nested applications within WBPro or CompositePanes in VSE

WBPro is now the ideal environment for creating complex, reusable visual parts for VA Smaltalk

New Timer support protocols in WbApplication

Easily set up (and remove) timers

New #timer event

Use #startTimer:period: to create a timer

Use #stopTimer: to stop a timer

Support for Icons as graphical labels

New smart WbIcon subclass of CgIcon

Load icons from .ICO files or from resource DLLs

Pixmap Editor is now the Graphics Editor and can be used to select Pixmaps or Icons

New WbLabeledImage runtime support class

Combines an image and a label into a single renderable object

Supports EwRenderContext interface

Horizontal or vertical orientations supported

Create toolbars with labeled buttons - see the WbLabeledImageExample class for an example

Create fancy iconic lists and tables

New WbObjectComboBox widget

Object-oriented version of CwComboBox

Support for new IBM Smalltalk widgets

EwProgressBar

EwToolBar

CwSash (splitbar)

New WbEnhancedText widget

Character and field-level validation

Password style

Left, right and center justification

New menu layout

(e.g., Align, Position and Sizing functions have been separated)

New toolbar buttons

Morph, Undo, Redo, Select All, etc.

Drag drop tab order setting

In "Show Tab/Z-Order" mode, the tags are live and may be dragged from one widget to another

Dynamic, context sensitive style selection

Style comboboxes now have identifying labels

Right-clicking on style comboboxes allows you to change the displayed style choices

Enhanced Color Editor

New palette of the 16 "primary" colors

Minor window enhancements

Any window can be made to float above the main WindowBuilder Pro window

All windows have their own icons (makes it easy to distinguish between them in the task bar)

Support for OLE/ActiveX

OleClient

OleControl

Wrappered OLE/ActiveX widgets (AbtOleExtendedWidget subclasses)

Support for Windows 95 widgets

CwStatusBar

CwToolBar

CwTabStrip

CwTreeView

CwProgressBar

CwTrackBar

Works with any arbitrary objects, not just strings

#printSelector attribute specifies how the obects will be displayed

Supports type ahead object matching in text edit mode

Lightweight visual programming
(e.g., configure callbacks and event handlers via drag-drop, like the VA Smalltalk Composition Editor)

Popup connect menu listing callbacks and events

screenshot
screenshot

Drag connect the source to the target

Popup message menu on target

Resultant callback/event handlers can be viewed with Callback Editor

New Callback Editor

screenshot

In this Callback Editor...

  • Widgets are displayed as graphical tree
  • Widgets may be displayed hierarchically, alphabetically (by name or type)
  • Widgets may be filtered by type (e.g., view just the CwPushButtons)
  • Multiple widget select (create callbacks/event handlers on multiple widgets simultaneously)
  • Multiple handler select (change receiver/selector/clientdata simultaneously)
  • Handlers may be ordered via up/down buttons
  • Handlers may be zero (unary) or one-argument methods in addition to the standard three-argument methods. For one-argument callbacks, the default argument that is passed is the originating widget. Specifying a unary selector as the client data will cause the attribute of the originating widget specified by that selector to be passed as the argument (e.g., specifying #selectedItem as the client data for the Single Selection Callback of a listbox will cause the selected item to be passed as the argument).

Graphically enhanced tab/z-order editor, call-out editor, and drag-drop editor

screenshotWidgets are displayed graphically in list (e.g., icon and name)

Status is displayed graphically
screenshot


Context sensitive popup menus everywhere (in layout area and on numerous toolbar buttons)

screenshotPopup widget menu reflects the type and number of selected widgets

Popup morph menu lists morphing types for the selected widget(s)

 

Popup undo and redo menu list undoable and redoable actions

Popup select all menu lists are widget types in layout (e.g., makes it easy to select all CwLabels)

Popup open menu lists recently accessed classes

Popup menu on a nested application provides an "Edit Class..." function

New Generic Attribute Editor, Template Editor and Property Editor

Graphically enhanced (e.g., widgets are displayed with icons and labels)

Table widget is now used for all attribute/property setting

screenshot screenshot

screenshot

Enhanced Attachment Editor

More default styles

New thumbnail before and after views

screenshot

New floating tool windows

They remember their last size and position each time they are opened

Color tool
(this is a mini version
of the Color Editor)

screenshot

Attachment tool
(this is a mini version
of the Attachment Editor)

screenshot

Nudge
(move/size by pixel)
tool

screenshot

Tab & Z-Order tool
(bring to front,
send to back, etc.)

screenshot

Widget Selection tool
(select multiple widgets
at any level of the widget hierarchy)

screenshot

New Layout features

New Drag & Drop Reparenting option allows widgets to be reparented simply by dragging them from one parent to another. For example, a widget may be dragged from the top level form into a nested form without the need to cut and paste it. Likewise, a table widget may be dragged into a scrolled window to make it scrollable.

Side handles are now available for selected widgets (in addition to the existing corner handles). This gives more precise control over resizing a widget in only one direction

New Vertical and Horizontal Packing functions make it easy to cluster groups of widget together

If the ALT key is held down while performing a horizontal or vertical widget alignment, only the specified sides of the widgets will be aligned while the opposite sides will not move. This will cause the widgets to grow or shrink in size (as opposed to moving and retaining their original sizes)

ALT-clicking to direct edit a nested application will open another copy of WBPro on that class