Idea: KAction based dialogs

Aaron Seigo aseigo at kde.org
Fri Feb 13 15:57:30 GMT 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On February 12, 2004 1:51, dirk.schoenberger at sz-online.de wrote:
> - you could use the KDE framework (use e.g. subclass from KDialogBase) and
> implement your dialog GUI manually
> - you could use the Qt UI designer, where you can design your UI
> graphically, in order to use it, you create source code from it.
> Theoretically it should be possible to load the UI at runtime, but this is
> not quite easily to accomplish.

QWidgetFactory makes it about as easy as possible. what are you missing from 
that?

> Furtheron, if you use Qt designer, there 
> are some problems because you don't easily get dialogs which feel "native"
> to KDE (use KDE components, and the like)

*raises one eyebrow*

i do this all the time. what _IS_ missing are Designer templates for 
KDialogBase and KMainWindow to complement the QDialog and QMainWindow 
templates. but this is generally quite trivial to work around by making your 
Designer layout a QWidget and then instantiate it as a the main widget of 
your dialog/window.

> So I would like to propose another way to implement dialogs classes.
> Implement your GUI as a set of actions, which interact with each other,
> like in the recommended implementation for forms (main windows). Define
> the actual GUI layout in an external resource file, which is load and
> evaluated at runtime.

i don't see the benefit of having yet another XML syntax for accomplishing 
exactly what Qt's .ui files provide, minus the GUI designer and all the 
testing and n^m features =)

> If you use the XMLGUI framework for it, you can get 
> the other features of this framework, too, like multiple versions of the
> dialog, possible merging of sub documents, etc.

XMLGUI is a bit orthogonal to UI layouts. i've considered in the past how the 
two could be usefully combined, but i've only be able to come up with some 
pretty contrived examples. of course, i could be missing something and would 
be happy to consider possible synergies between the two concepts.

all the other items you suggest (versions, merging) is already possible, 
though not automagically (with exceptions for things like KCMs). which is 
actually good because at the dialog level you rarely want such things.

- -- 
Aaron J. Seigo
while (!horse()); cart();
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2-rc1-SuSE (GNU/Linux)

iD8DBQFALPPr1rcusafx20MRAqSfAJ9Vw+ETCGdECz7+Ovs8xD/1jekyxACeM0JP
xTlX+DGFev4jC9jtFyydpc8=
=xmF5
-----END PGP SIGNATURE-----




More information about the kde-core-devel mailing list