ANNOUNCE: HToolkit 1.2 released

Krasimir Angelov ka2_mail at yahoo.com
Tue Oct 21 16:27:30 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
~~~~~~~~~

http://htoolkit.sourceforge.net

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

__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com


More information about the Haskell mailing list