From kde-core-devel Tue Sep 21 20:09:53 1999 From: Mirko Sucker Date: Tue, 21 Sep 1999 20:09:53 +0000 To: kde-core-devel Subject: Re: Status: DialogCore class X-MARC-Message: https://marc.info/?l=kde-core-devel&m=93794459327740 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 - ". 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)