ANNOUNCE HToolkit 1.2 released

Krasimir Angelov ka2_mail at
Wed Oct 22 01:20:09 EDT 2003

Dear Haskellers,

I am pleased to announce HToolkit 1.2 for 
Haskell. The HToolkit is a platform independent
package for Graphical User Interface. The package
is split into two libraries GIO and Port. The Port
is a low-level Haskell 98+FFI compatible API, while
GIO is a high-level user friendly interface to Port.
The current release supports all Windows based
platforms and Linux/Unix platforms with GTK/GNOME
toolkit. There are many new features and many
bugfixes. The 1.2 release is a source incompatible
with 1.0 release.

Home page

Incompatible changes:

1. There is a new API for creating:
- radio menu items (MenuRadioItem)
- check boxes (CheckBox)
- radio buttons (RadioBox)

In the new API each widget is created idependently 
from the other widgets and after that they are linked
together to form a group of related items.

2. The 'drawInWidget' function is renamed to 
'paintIn' and the 'drawInBitmap' is renamed to

3. The 'dialogFont' function is removed. Both windows
and dialogs now use the same font (returned from the
'defaultFont' function).

4. The 'defaultFont', 'defaultFontDef', 'dialogColor',

'windowColor' and 'textColor' functions now return
values which are system dependent. The returned
values are given from the current theme selected in 

5. The 'itemCount' attribute of Menu is removed.
There is a new 'count' attribute which is defined
in the type class and instances are defined for Popup,
ListBox, Notebook, Menu and ToolBar types.

6. The 'visible' attribute of Entry is renamed 
to 'password'.

7. The windows and the dialogs are created invisible
by default and can be shown with the 'showWindow' or
'runDialog' (for dialogs) functions. 

New features

1. The implementation for the ToolBar is completed.
Unfortunatelly in this release the toolbars for Linux 
don't work. The reason is that the CVS version
of Port uses GTK 2.3.

2. Each window and dialog can be shown/hidden 
with the 'showWindow' and 'hideWindow' functions 
or by changing the value of the new attribute
'visible'. The attribute is read/write and 
its current value determines whether the window is 
visible. The windows and the dialogs are created 
invisible by default and can be shown with 
the 'showWindow' or 'runDialog' (for dialogs) 

4. In HToolkit 1.0 when the dialog size becomes 
smaller than the minimal size required to layout the 
controls, the dialog automatically shows scrollers. 
In HToolkit 1.2 the dialogs cannot be shrinked to a 
size smaller than the minimal. Under Windows a size
gripper is drawn at the righthand bottom corner of 
the resizable dialogs just like the modern resizable 
dialogs under Windows.

5. The controls are created invisible by default and
are shown only if they are included in the layout
expression of their parent. In this way it is possible
to dynamically hide/show and rearrange the controls.

6.Three new controls are added: Notebook, GroupBox and
CompoundControl. The CompoundControl is a 
container for other controls with automatic 
scrollbars. The control supports 'mouse', 'keyboard' 
and 'paint' events just like the toplevel windows and 
dialogs. The primary purpose of CompoundControl is to 
create new custom controls.

7. The layout algorithm is extended 
with 'stretch', 'hstretch' and 'vstretch' functions in
addition to 'fill', 'hfill' and 'vfill'. The new
functions stretch only the specified control to fit 
the entire space without affecting the rest controls 
in the table.


Do you Yahoo!?
The New Yahoo! Shopping - with improved product search

More information about the Haskell mailing list