Zero Memory Widget 0.2.0 review

by on

Widget libraries have now been developed and used for years

License: GPL (GNU General Public License)
File size: 560K
Developer: Thierry Excoffier
0 stars award from

Widget libraries have now been developed and used for years. In all these libraries, widget instances require computer memory. But this memory is not really required, We have implemented a widget library to prove that it is possible to use zero bytes of memory per widget.

In such a library, there is no widget reference, so widget programming is easier even in a low level language such as C. Programs are more robust because they do not use pointers, make no memory management and do not translate data between application and widget.

To set the attributes of a widget, it is not possible to use the widget's pointer so a current state is used as in OpenGL. Most classic widgets were integrated into the library, and it is possible to integrate widgets of all kinds without any problem.

This library license is the GNU GPL. Beware: it is alpha software. It works but the API is not yet stable.

Here are some key features of "Zero Memory Widget":
Base widgets:

text, text_editable, int, int_editable,
button, tearoff, button_with_accelerator,
image, image_from_file,
scrollbar2, scrollbar_vertical, scrollbar_horizontal,
toggle (bit or int or char) with or without label. Same for radio button. Really easy to use.

Container widgets:

window, window_drag, window_popup_right, window_popup_bottom
box_horizontal, box_vertical, box,
scrolledview (can contains billions of children)
table, table_with_width,
void, if, popup : base system to make transient widgets. The menu are constructed with "popup"

Composite widgets:

alert (container),
message (container),

Widget attributes:

Choice of the focus group.
Width: padding, border, focus
Expand: vertical, horizontal
Alignment: vertical, horizontal
Font: family, size, weight, style
Geometry: x, y, width, height
Window auto resize
Sensibility (to overide the value computed automaticaly)
Debug level

Other features:

a drag and drop working only inside the application.
fully working text cut and paste (UTF8 or not).
simple animation possible.
the library runs a web server allowing to debug.
accelerators. If a modifier key is pressed, a list of short-cut with this key is displayed in a bubble tip.

What's New in This Release:
Complete rewrite of the kernel API, in order to have :
The library can now be updated without recompiling external code

Zero Memory Widget 0.2.0 keywords