Archive for November, 2012


Cincom ObjectStudio’s ProgressBarDialog

At the last ESUG conference in Gent, Andreas Hiltner gave an “Lightning Talk” about the Cincom® ObjectStudio® new GUI project. The goal of this project is to create a new GUI library of Windows native widgets for ObjectStudio using DLLCC instead of writing them in C. In October, we looked at the Marquee Dialog. This time we would like to present the ProgressBarDialog.

Benefits

  • No more primitives—100% Smalltalk code.
  • The code can be changed at any time.
  • Easier for support to send fixes to customers.
  • Customers can now overwrite or change the code to their liking.
  • Easy enhancements of features not yet implemented.

ProgressBarDialog

The ProgressBarDialog has more or less the same purpose as the MarqueeDialog we discussed last time.  It shows some simple animation while a larger process is being performed and the systems seem to be idle. However, with the ProgressBarDialog, we have a clear set of steps and we can show how the process is proceeding and how much of it is already processed.

This is what a typical ProgressBarDialog looks like that has two-thirds of the job finished.

Using this ProgressBarDialog in your application is very similar to using the MarqueeDialog.

Protocol

To create a new ProgressBarDialog, you have the option of the following two methods:

createTitle: aString or createTitle: aString position: aPosition extent: anExtent in which aPosition and anExtent are Point objects.

When you use “ProgressBarDialog createTitle: ‘Loading Information …’”, you create a dialog that will appear at position 225@475 and with a size of 1160@350. It will look like this:

By using “ProgressBarDialog createTitle: ‘Loading Information …’ position: 400@800 extent: 1300@250,” you define where you want the dialog and the size of it. In this case, you get:

setRangeLower:upper:

With the setRangeLower:upper:, you specify the starting and ending range of the progress bar for instance:

progressBar setRangeLower: 0 upper: myCollectionSize.

step:

The step: method tells the progress bar how much it should proceed after each step of the process is executed.

progressBar step: 1.

open

opens the progress bar dialog.

stepIt

sending stepIt to the progress bar increments the progress of the bar with the quantity defined with the step: method.

close

closes the progress bar dialog.

Example

| coll dialog |
coll := self doSomeWorkAndReturnACollection.
dialog := ProgressBarDialog createTitle: ‘Work in progress…’.
dialog
 setRangeLower: 0 upper: coll size;
step: 1.
dialog open.
coll do: [:each |
            dialog stepIt.
            self doSomeWorkUsing: each
].
dialog close.

Cincom ObjectStudio 8.4.1

ObjectStudio 8.4.1 is the maintenance release of the ObjectStudio 8.4 major release, and is the latest release of ObjectStudio.

Since ObjectStudio shares a foundation library and VM with VisualWorks, ObjectStudio 8.4.1 improvements include most of the action requests (ARs) and resolutions for VisualWorks 7.9.1, which include over 50 ARs and resolutions representing improvements, refinements and fixes to the product.

See the ObjectStudio 8.4.1 major release feature changes by visiting the ObjectStudio product site. Also, for detailed release information, see the ObjectStudio 8.4.1. release notes and readme files.

Cincom VisualWorks 7.9.1

VisualWorks 7.9.1 is the maintenance release of the VisualWorks 7.9 major release, and is the latest release of VisualWorks.

The release contains over 50 ARs (action requests) and resolutions, which represent improvements, refinements and fixes to the product.

See the VisualWorks 7.9 major release feature changes by visiting the VisualWorks product site.  Also, for detailed release information, see the VisualWorks 7.9.1. release notes.

As before, you can request media, or an ftp transfer of the product.  For other options, please contact your account manager.

To request a new release, please go to the following link on our website and fill out the form: http://www.cincomsmalltalk.com/main/services-and-support/support/maintenance-release-request/