[XForms] New pre-release 1.0.91pre5
Jens Thoms Toerring
jt at toerring.de
Wed Apr 9 21:27:27 EDT 2008
To subscribers of the xforms list
Hello everybody,
I guess it's about time for a new pre-release, so here you go:
http://download.savannah.nongnu.org/releases/xforms/xforms-1.0.91pre5.tar.gz
Again, there aren't any dramatic changes. Due to some very
constructive criticism by Michal Szymanski I undid some of the
changes I made:
a) I had made buttons only react to the left mouse button. My
idea behind this was to make XForms' behaviour more similar
to that of other toolkits with this. But it breaks some
existing programs and therefore it's probably better to
implement it differently. Per default buttons now again
react to each and every mouse button (including the scroll
wheel) as it used to be. But to make it possible to change
that I added a new function
void fl_set_button_mouse_buttons( FL_OBJECT * obj, int mb )
The first argument is a pointer to the button object and the
second determines which mouse buttons the button object will
react to. It's the inclusive OR of
( 1 << ( FL_MBUTTONx - 1 ) )
where the 'x' in 'FL_MBUTTONx' is a number between 1 and 5,
with 1 for the left, 2 for the middle and 3 for the right
mouse button. 4 stands for rotating the scroll wheel up and
5 for down. For each of the bits set in 'mb' the button will
react to clicks of the corresponding mouse button.
Of course, there's also the 'reverse' function that lets you
determine which mouse buttons a button reacts to, going by
the name of
int fl_set_button_mouse_buttons( FL_OBJECT * obj )
The return value has the same meaning as the 'mb' value you
pass to the other function.
b) The behaviour of the buttons can also be set via fdesign. If
you look at the attributes of a button. When you select the
button and press 'F1' and then click on the "Spec" tab rider
you are able to select which mouse buttons the button will
react to. The '.fd' files now contain for buttons that aren't
set to the default behaviour (all mouse buttons work) an extra
line, starting with 'mbuttons:' and followed by an integer
with the value of 'mb' for the button.
c) Luckily the older fdesign versions don't seem to mind the
extra line for buttons starting with 'mbuttons:'. But to make
it easier to compile applications that are sensitive to these
changes I added a new option to fdesign: '-xforms-version'.
This writes the version of the library fdesign was linked
against to stderr in a form like
FORMS Library Version 1.0.91pre5
d) Also making one of a group of radio buttons "active" automatically
wasn't such a great idea as I had imagined. So I simply removed
this, reverting back to the original behaviour.
e) Michal Szymanski also found out that if you started an appli-
cation with a lot of options the program did crash with a
segmentation fault in fl_initialize(). It looks as if this
was due to not enough memory getting allocated for the copy
of the command line arguments done in a function invoked by
fl_initialize().
f) I removed the limitation on both the number of symbols that
can be created (formerly 16) and the length of their names
(formerly 15 characters).
g) I got a bit further in my quest to free all memory allocated by
the library at least on fl_finish() - all memory allocated for
tabfolders now (hopefully) gets released.
h) Finally - shame on my - there was a bug I introduced that re-
sulted in a program hanging when a menu entry contained a '%'.
Best regards and happy testing, Jens
--
\ Jens Thoms Toerring ________ jt at toerring.de
\_______________________________ http://toerring.de
_______________________________________________
To unsubscribe, send any message to
xforms-leave at bob.usuhs.mil or see:
http://cweblog.usuhs.mil/mailman/listinfo/xforms
List Archive: http://bob.usuhs.mil/pipermail/xforms and
http://bob.usuhs.mil/mailserv/list-archives/
Development: http://savannah.nongnu.org/files/?group=xforms
More information about the Xforms
mailing list