*********** VISUALWORKS WIDGETS *********************** 
Author Message
 *********** VISUALWORKS WIDGETS ***********************

                                Integrated Systems Management, Inc.
                                        Tarrytown, NY 10591
                                For Sales and Consulting, please call 1-800-476-2699

        The following widgets are available with  ISM as an enhancement to the VW (VisualWorks) 2.0 UI palette (in the canvas tool). All these widgets have been installed on the system palette and function along with the standard VisualWorks widgets.

Drag/Drop list

        This widget is an enhancement to the VW SelectionInList. Selected item(s) in the list may be dragged into any other widget which is a View (like List, InputField etc.,) or a Composite view (like Subcanvas, ViewHolder etc.) on the same application canvas. Dragging into a composite view is recognized only if the target widget is a view.

        The Properties Dialog of the widget allows entry of a list of widget ids, each associated with a selector that has to be sent to the application canvas whenever that particular widget is the target for a drag/drop action.

        The only constraint here is that for any widget to be registered with the drag/drop list must be given an ID. This is the only allowed way of registering a target widget with the drag/drop list. However any widget id that is not available in the application canvas does not cause an error during operation.

        How to drag:

        Application canvas:     WidgetTestCanvas
        Components with ids:            
                        dragList - A drag/drop list
                        generalList - A selectionInList

        Now including the association generalList -> dragToGeneralList: in the PropertiesDialog window of dragList  means that during run-time when a drag operation is performed from dragList to generalList, the message dragToGeneralList: is sent to WidgetTestCanvas

        The message that is sent to the application canvas must always be a keyword message with a single argument. This argument contains a collection of items which are sent to the application canvas. They contain information such as the dragged items, drag association etc.,.

        Two selectors cannot be associated to the same widget. However two widgets may respond to the same message. The dragList may be worked in the single/multi selection modes. In the multi-selection mode,  depressing the SHIFT key while clicking at a new position selects all elements from the last selection to the current selection.

        The dragging too may proceed in two modes:  MOVE  and  COPY. By default, the drag action performs a MOVE operation, i.e., the dragged items are moved to the incident widget. By depressing the CTRL key, the COPY operation may be evoked. In this case, references to the dragged items are sent to the target widget.

Clock & Timer

        The widget integrates a real time clock and a timer to be used for applications that needs to keep track of  time.

        This widget consists of an analog and digital display panel on which the user can have  a clock or timer running. The widget works using the system clock and it runs independently as a background process without interrupting the application in which it is installed. The user will have facilities to watch  a clock or a timer running on the analog display , at the same time  can watch a clock or a timer or date on the digital display. The other facilities include setting alarm and timer dynamically.

        To install the widget on an application window, the user has to drag the widget from the system palette and put it on the canvas. Then set the properties just as any other widget. The user can set the alarmTime or the timer. The user  can select the values to be displayed on the analog and digital displays. The user can also define  an action that should be done on alarm. This action provides interface of the widget to the application on which it is installed.

        All the properties of the clock or timer can be set dynamically using right mouse menu. The user can dynamically run or stop the clock or the timer by clicking on the buttons provided inside the widget.

        The clock/timer process runs as the background process of Visual Works. More than one clock/timer widget can run at a time. The background process shares the time between each clock/timer widget.

        The software does not make any changes to the system classes. So installing and removing the software becomes easy. Once the software is 'filed in' to the visual works environment the widget installs itself in the system palette. Also if the classes involved are removed from the system it removes itself from the system palette making the environment stable.

Restrictions :

        1. Since Visual Works allows only one user background process , you cannot have some other application running in the background while the clock/timer widget is running.
        2. The widget cannot be used in applications which are very time sensitive. If an I/O action is going on exactly at the clock or the timer alarm time, the widget will trigger the alarm action only after that I/O activity is over.


        The calendar may be described as an  independent application to record daily activities. It may also be used in an application where, in addition to its functionalities, this widget may also be used to trigger notices on system date changes to the application.

        The calendar widget currently offers the following functionality:
View the calendar for a selected month & year. The required month or year may be changed independently.
Enter a note for any particular day.
Set calendar for a five-day or six-day week.
Mark important days & holidays.

        The programmatic interfaces for the widget include the following :
An aspect for the widget can be specified (optional), if the user wants to dynamically access the model.
The calendar (optionally) sends notifications to the application on which it is installed, when the system date changes. Separate messages are sent if the day is marked as a holiday or important day. *
Public accessors and actions include notes, selected date, saving notes, etc.

        * If the application includes the clock widget, the calendar can be linked to the clock widget to update the calendar. Else the calendar can be installed as a background process, if the dynamic date updation option is set.

Restrictions :

        1. Since Visual Works allows only one user background process, there cannot be another application running in the background while the calendar widget is running as a background process. However it may be used  in conjunction with a clock where it accepts inputs from a clock to update system date. However the rest of the functionality of the Calendar would still remain the same.


        The Gauge widget displays information using features of devices commonly seen in our day to day activities like speedometers, thermometers, weighing scales etc. The gauge widget supports the following indicators -
        needle - this can slide vertically, horizontally and in a radial fashion (circular).
        liquid - similar to mercury thermometers.


                The user needs to create the widget using the canvas tool and enter the properties using the properties dialog box. The user can control the following properties -

                the sweep angle - area to be covered by the circular gauge widget (360 means full circle and 180,  semi circle).
                the maximum and minimum values on the gauge.
                number of intervals and subintervals (between the minimum and maximum value).
                the range labels - can be displayed instead of numerical values along the gauge scale.

        Certain features like subintervals, range labels already have default numerical values.
        ex.     range labels            between 0 and 1
                subinterval             1
                minimum value           0
                maximum value           1

        Once the application starts running, the user can send the message currentValue: to the gauge widget to update the indicator position. All the gauge views (any type of indicators) understand this message and work in the same way.

Date Widget

Widget  Specification:  The Date Widget is capable of  displaying a
date on the screen in a wide range of  formats. A calendar is
attached to the widget, which can be opened by a double click on the
leftmost mouse button. The user can select the date he wants to be
displayed on the screen from the calendar.

Widget Description: The Date Widget is a specialization of the
InputField widget in VisualWorks. It can only display dates or in
other words , it is a READ ONLY field. In order to change the date
the user needs to double click on the widget , which pops up a
Dialog with a calendar in it. The user can change the month and/or
year by clicking the corresponding action buttons. The user can
select his choice of the day by a mouse click on the calendar table.
The change is accepted if the user selects 'OK' or ignored if the
user selects 'Cancel'.

In order to install the widget on a canvas, the user has to drag the Date Widget from the Palette to the Canvas. The  properties tool is then used to specify the user preferences. The properties tool is very similar to the InputField properties tool except that the user has more choices of print formats. The print formats supported by Date Widget are the following :-                                              
        m/d/yy                                          (d - Date, m - Month in numbers,
        d-mmm-yy                                        mmm - First 3 letters of month name,    
        mmm-d-yy                                        month - Month name in full,
        d-mmm-yyyy                                      yy - Last 2 digits of the year,
        mmm-d-yyyy                                      yyyy - Year in full)
        month d yy
        d month yy
        d month yyyy
        month d yyyy
        month d
        d month

Installation:  The software is installed by 'Filing in'  the
'date.st' file into the VisualWorks environment. The widget gets
installed in the palette during the 'filing in' process.
When the DateFieldSpec class is removed , the widget removes itself
from the palette. No changes are made to any of the system classes,
so installing and removing the software will not affect the system.

Sat, 12 Sep 1998 03:00:00 GMT  
 [ 1 post ] 

 Relevant Pages 

1. VisualWorks Widgets for VisualWorks 2.0 and 2.5


3. ********* ANNOUNCING VISUALWORKS WIDGETS ***************

4. *********** VISUALWORKS WIDGETS AVAILABLE ******************

5. More VisualWorks Widgets

6. Widgets for VisualWorks 2.0

7. Table widget in VisualWorks (**warning: wet behind the ears**)

8. VisualWorks 3.0 - widget background colors

9. NEW: TabControl Widget for VisualWorks

10. VisualWorks: Text Editor widget

11. Subject: [ANN] NEW: TabControl Widget for VisualWorks

12. Need Enhanced Widgets for VisualWorks


Powered by phpBB® Forum Software