[RkWard-devel] Update on the current state of development
Thomas Friedrichsmeier
thomas.friedrichsmeier at ruhr-uni-bochum.de
Mon Mar 20 21:35:37 UTC 2006
Hi all,
finally I'm about to finish one of the things I had on my TODO-list for a long
time: reworking the plugin code. Those who have followed RKWard development
for long enough, know that this has been a holdup again and again, and has
been lingering for a _long_ time.
What's it all about?
Basically the entire source directory "plugin" has been rewritten. Plugins are
now thought of as a mix of GUI elements ("components") and "properties". For
instance, a <varslot> has a certain look, but perhaps most importantly, it
holds a property, namely a selected variable. In the new design, properties
can easily be access from other places without the need for specialized code,
and can be connected to each other.
So what *is* it all about?
On the one hand this new design allows for much improved logic in the GUI.
Adrien had once added a "depends"-attribute to some elements to allow some
GUI elements to be enabled/disabled according to some settings (e.g. enable
option Y only if option X has been selected). This required quite a bit of
dedicated code at several places. Now it's mostly a matter of connecting -
for instance - the property of a checkbox (checked or not) to the
"enabled"-property of another component (and just as easily the component
could be hidden entirely by connecting to the "visibile"-property). Also more
sophisticated logic (e.g. one component depends on two different options,
etc.) is now possible.
Perhaps more importantly, it is now also possible to embed one plugin into
another, for instance to embed common "plot" options into other plugins that
do plotting. An example of this (in current CVS) can be seen in the Histogram
plugin (sorry for hijacking your plugin, Stefan, I'll clean up before the
release). This feature allows to reuse common elements of plugins and to
create more modular, easier to understand plugins, hopefully saving lots of
work.
Finally, the new design is a much better base to build future features on
(e.g. a notebook GUI).
Is it all ready, yet?
Mostly, yes. I'll yet have to test embedding a wizard GUI into another wizard
GUI. I'll have to clean up and most importantly document everything. Of
course, there are bound to be bugs. All this is going to take some time, but
yes, the hard part is done.
What's next?
Well, right now, I'd like to ask you to test. Check out the current CVS, and
test all the plugins (esp. the ones you wrote yourself), and check whether
everything is still working as expected, whether some features have been
removed, etc.
As soon as I have finished documenting the changes, I'll write another short
mail, so then you can consider using some of the new concepts in your
plugins.
Thanks for testing!
Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/rkward-devel/attachments/20060320/601ea292/attachment.sig>
More information about the Rkward-devel
mailing list