GUI framework in kde4

Friedrich W. H. Kossebau Friedrich.W.H at kossebau.de
Mon Jul 3 11:28:20 BST 2006


Am Sonntag, 2. Juli 2006 21:08, schrieb Hamish Rodda:
> Hi,
>
> Please see the following document created at Trysil about improving XMLGUI
> (actually, mostly replacing it, but preserving + improving features):
>
> http://wiki.kde.org/tiki-index.php?page=KDE+4+GUI+framework
>
> Feedback encouraged :)

Food for thought:
In many programs one can see the same sets of actions, e.g. for zooming, 
clipboard interaction, formatting, navigating, etc.
Each set operates on a certain aspect: like zoom of view, or the document/data 
model, or style of current text, or view location, ... This is emphasized by 
the grouping of the corresponding gui items.
The patterns are usually repeating in every program. Still in every program 
the wiring of all those actions and their gui representation has to be and is 
done manually.

What about giving this better support by the framework? I tried to make up 
some concept paper, codename Toolets, along with some example implementation, 
yet could not finish it. Perhaps you are smarter than me and can make more 
out of this faster :)

So here some idea for it: 
In system modelling you have the terms Boundary, Control, Entity. The terms 
should be selfexplaining :) In KDE programs Control and Entity are usually 
left to do for the programmer, while the boundary is supported by things like 
XMLGUI. Now, what about supporting the controls recognized as usual, too? The 
controls would operate on the document/view* by standardized interfaces for 
common aspects (see above).
So if somebody is developing a new datatype modell and a suited view, e.g. for 
wantondocs, if she is fine with using existing document 
interfaces, "setGUI()" would be nothing more than "Tools.setCurrentModel( 
model ); Tools.setCurrentView( view );" or something.
Perhaps this approach might even get one better support for accessibility, but 
then I do know nothing about that.
Surely it delivers/forces more consistency (remember the mess with the order 
of zoom buttons?). And easens the developing, reduces code bloat for the 
single developer, structures programs even more.

* From a certain point of view a "view" is a document, too, a structured set 
of data, e.g. zoom, size, sector of doc, view angle, draw settings.

So far an idea, you are free to ignore it :)

Regards
Friedrich




More information about the kde-core-devel mailing list