[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Status: DialogCore class
From:       Mirko Sucker <mirko.sucker () unibw-hamburg ! de>
Date:       1999-09-21 20:09:53
[Download RAW message or body]

Espen Sand wrote:

> I have been working on making the DialogCore compatible (using the same
> methods) with the current DialogBase.  When doing this I have copied much of
> the code/ideas from DialogBase and added a number of improvements/features,

Some parts of it are rather tricky, arent they :-)

> The goal is to make a very easy to use dialog class that provides features
> such as tabbed, and treelists type (and more) dialogs and that uses defined but
> changable margins and spacings (provided by hint() methods) so that all dialogs
> use the  same settings.

As I said in the other message you should get today, I want to opt for two
different classes: the dialog base class creating a common design for KDE dialogs,
and another class creating (at least) one common main part design. Derived design
would make this well-structured.

> I have added a simple but powerful action button layout
> mechanism that controls the button order (see below 6-8). The number of
> predefined dialogs types (faces) can easily be extended later without breaking
> old code.
>
> SO: What does it take to replace the current DialogBase with the new code?

If it is compatible: nothing (in my opinion). Just check it in at the place of
dialogbase.

> I have not yet made documentation. I can copy/paste a lot from the current
> DialogCore and add the new that is needed. Most of all I want to make a
> tutorial with copy/paste examples with screenshots (based from khexedit)
> that goes to developer.kde.org.

Some basic information should be included, I think.

> 1. Renamed to KDialogBase (just so that it can coexists with DialogBase for now)

Why not check it into kdeui? DialogBase is not holy ...

> 2. Does everything DialogBase currently do + much more.
>
> 3. I have installed it in my local kdeui lib and replaced the
> instances of DialogBase with KDialogBase etc in the CVS. Everything (using
> DialogBase) works as before as far as I can see!
>
> ... 7. The action buttons are as follows:
> Help|Default|User3|User2|User|Ok|Apply|Cancel. "Cancel" can be replaced
> by "Close" and "Apply" with "Try". All buttons use accelerators. The user
> can decide the name of the "UserN" buttons. Buttons can be grayed out,
> and/or hidden (should not be used much tough)
>
> 8. The user decides what buttons should be present, but do no decide in what
> order. The order is defined by the style and can be controlled centrally.
> I think this is a big advantage.
>
> 9. The standard caption is "captionText - <appName>". setCaption() has
> been reimplemented to to do this automatically. There is a setPlainCaption()
> that does things the std way.

This stuff (7-9) is complex, but useful. I agree that the buttons of DialogBase are
not that flexible.
Please add some docs, and think about the partening of dialog base class and dialog
contents design, these are my points. Both could be included in dialogbase.{h,cpp}.

Greetings,
--Mirko.

--
Denn der  Mensch  liebt und ehrt den  Menschen,  solange er ihn
nicht zu beurteilen vermag, und die Sehnsucht ist ein Erzeugnis
mangelhafter Erkenntnis. (Thomas Mann)

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic