[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