Menu

ANNOUNCE: HToolkit 1.2 released

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.

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
'paintInBitmap'.

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
Windows/GNOME.

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)
functions.

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.

Cheers,
Krasimir

Posted by Krasimir Andreev 2003-10-21

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.