Windows 95 Common Control Enhancements 
Description

These libraries allow one to include enhanced Windows 95 common controls in Visual Smalltalk/Visual Smalltalk Enterprise for Windows. They include the following:

IE3 and IE4 enhancements to TreeView. Include check boxes to check/uncheck items in the view, enable selection tracking, and customize colors and item height in the TreeView. The library includes extensions to add and find objects and items in a TreeView.

Toolbar enhancements. Include toolbars in an MDI frame. Toolbar button background color updates according to Windows color preferences. New toolbar styles: custom erase, flat, list, register drop, transparent, and no resize. New button styles: dropdown, autosize, and no prefix.

Dockable Group Pane. A movable container that may be docked to any side of a TopPane simply by dragging and dropping its border to the desired side. Resize and drag operations have rubber-band indicators to show the pane position in motion.

Entry field based on the Microsoft DateTimePicker common control. When the DateTimePicker control is set for date entry a drop down calendar may be opened to select or advance to a day, month, or year of your choice.  For time entry the DateTimePicker becomes a spin button to advance to a desired hour, minute, second, or AM/PM time depending on the time field selected.  An entry for the hour, minute, second, or AM/PM time may also be made when the appropriate field is selected.

A demo of the custom-draw protocol/dockable group pane, the TreeView enhancements, and the DateTimePicker is included.

Files

T4Cmmn35.sll 
T4Cmmn35.sml
General enhancements to core Smalltalk classes 
T4CmCt35.sll 
T4CmCt35.sml
Enhancements to CommonControlsDLL and base support for other libraries. 
Requires T4Cmmn35.
T4TrVw35.sll 
T4TrVw35.sml
Enhancements to TreeView and related classes. 
Requires T4CmCt35.
T4Tlbr35.sll 
T4Tlbr35.sml
Enhancements to Toolbar and related classes. 
Requires Vmdi31w, T4CmCt35, T4TBtm35.
T4DkGP35.sll 
T4DkGP35.sml
T4DockableGroupPane and related classes. 
Requires T4Cmmn35.
T4TBtm35.sll 
T4TBtm35.sml
TransparentBitmap and support methods. 
Requires T4Cmmn35.
T4DtTm35.sll 
T4DtTm35.sml
T4DateTimePicker and related classes. Requires T4CmCt35, T4Cmmn35.
ReadMe.txt Notes on library use and requirements
DocumentNavigator.cls 
NavigatorDemo.cls 
InstallNavigatorDemo.st 
Vdevw.bnd 
T4Nav35.sll 
sdir.bmp
sodir.bmp
Navigator demo files to demonstrate the T4DockableGroupPane as well as the custom-draw protocol in TreeView. 
Requires Vmdm31w, T4TrVw35, and WBPro 3.1.2 run-time files (WB31RBW, WB31R95W, Wb31Rcpw)
T4Tree.PAR PARTS workbench demo of new TreeView styles 
T4DateTimePrompter.cls
InstallDateTimePickerDemo.st 
A simple prompter class demo for the DateTimePicker.
T4DateTime.st Date and time selection demo.

Requirements

VS/VSE 3.1.2c for Win32. For IE3 extensions under Windows 95, COMCTL32.DLL version 4.70 or later is required.  For IE4 extensions under Windows 95, COMCTL32.DLL version 4.71 or later is required.  The code will create a walkback identifying this requirement should IE3 or IE4 extensions be requested and the appropriate DLL not be available. COMCTL32.DLL version 4.72 is available from Microsoft as a redistributable package.

Installation

Ensure that the above SLLs are installed in the VS/VSE library directory or a directory that appears in the Windows PATH statement. Load the libraries as needed for applications. For example, you may load the T4Cmmn35 library using:

SmalltalkLibraryBinder bindTo:'T4Cmmn35'

Examples

TreeView.    The PARTS workbench file T4Tree.PAR demonstrates IE3 and IE4 extensions to TreeView.  Simply open T4Tree.PAR in a PARTS workbench and launch. The required libraries will be bound. The example opens a TreeView on the Object hierarchy of your image and has controls adjacent to it to select the extensions to add.  In this application the TreeView IE3 extensions to include check boxes and to track the selection use corresponding T4TreeView methods #checkBoxes: and #trackSelect:.  Note that once you set the control with the TVS_CHECKBOXES style you cannot remove it, so clicking a second time on the "check boxes" check box has no effect. The IE4 extensions for single select and to select the background, text, or mark color use corresponding T4TreeView methods #singleExpand:, #backColor:, #setTextColor:, and #setInsertMarkColor:.

DateTimePicker.
The T4DateTimePrompter.cls file-in provides an example application that prompts for a date using the
DateTimePicker common control.  You may install this example by loading the T4DtTm35 library then filing in
T4DateTimePrompter.cls such as by using

SmalltalkLibraryBinder bindTo: 'T4DtTm35.sll'.
(File pathNameReadOnly: 'T4DateTimePrompter.cls') fileIn; close.

The following expression opens the date prompter application on a date three days ahead of today:

T4DateTimePrompter
  title: 'T4DateTimePicker'
  prompt: 'Enter a date'
  default: (Date today addDays: 3).

Opening the drop down calendar from the date picker will allow you to select a day, month, or year for the
date.

The T4DatTim.st file-in provides an example that uses two T4DateTimePicker selection widgets--one for
date and other for time.  The time picker style is selected by sending the message #showTimeFormat to the
T4DateTimePicker instance.  Install the demo from the Visual Smalltalk File menu or evaluate the following:

(File pathNameReadOnly: 'T4DatTim.st') fileIn; close.

To open the application evaluate:

T4DateTimePickerDemo open

DockableGroupPane.  A file-in that subclasses the Visual Smalltalk MDI demo to demonstrate a dockable group pane has been included.  The example requires the MDI demo library VMDm31w.sll as well as the navigator and dockable group pane libraries and the Window Builder/Pro 3.1.2 run-time support files.  To ensure that these libraries are loaded and to file in the example copy the files DocumentNavigator.cls, sodir.bmp, sdir.bmp and NavigatorDemo.cls to your VS root directory and evaluate:

#('VMDm31W' 'T4Nav35' 'T4DkGP35' 'WB31R95W') do:[:lib|SmalltalkLibraryBinder bindTo:lib].
 (File pathNameReadOnly: 'DocumentNavigator.cls') fileIn; close.
 (File pathNameReadOnly: 'NavigatorDemo.cls') fileIn; close.

Any remaining  libraries will be loaded as needed.

To open the example evaluate:

  NavigatorDemo new open.

The file ReadMe.txt provides  information upon setup and use of this example.

Additional info

The file ReadMe.txt provides additional details regarding the background and use of these extensions.

Contact

tec4 systems inc.
"The right tools to manage your commercial insurance lines."
#1-215A 10th Street NW
Calgary, Alberta
Canada T2N 1V5
(403) 283-8876
www.tec4.ca

John Eastly
john@tec4.ca

Andrew Ting
andrew@tec4.ca


Links to:
The ObjectShare web site
VisualSmalltalk Product Support
ObjectShare's Online Documentation Site