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

List:       kde-core-devel
Subject:    Re: Merger: Re: DialogCore / AboutCore classes
From:       Mirko Sucker <mirko.sucker () unibw-hamburg ! de>
Date:       1999-09-03 23:14:38
[Download RAW message or body]

Espen Sand wrote:

> Would you be very angry/refuse that DialogBase inherits CDialogCore in
> "CDialogCore::Plain" dialog layout mode? DialogBase could then be the easy to
> use version of DialogCore that most people (ie. dialogs) would actually need. I
> could modify CDialogCore so that DialogBase is a friend class to allow it to set
> the Action button text (altough I am not very happy with it ;-) as I have said
> earlier).

Hello Espen,
of course not.
We have to remember two arguments:

  1. You cannot take anything out of the user interface that is part of the library once.
     Be sure that we discussed a long time at Kaiserslautern before we added DialogBase and
     KAboutDialog to kdeui. Our idea was to add something as a starting point, and possibly
     find people like you to enhance it. The problem is only that you write another class
     that does the same - maybe better, but for the same reason. So it cannot be added to
     kdeui, as there is already one for this problem.
     So we MUST merge the classes. I like your ideas, and I know that DialogBase lacks some
     functions and that KAboutDialog is merely useable as a quick displaying dialog for
     small apps. It was never intended as the KDE about dialog.
     So, I will have a look at your current implementations, and then let us join the two
     classes. A friend-relationship will not solve the problem having two basic dialog
     classes in kdeui. Having two base classes for dialogs will not lead us to similar
     dialogs over all apps.
  2. It is not randomly decided to add only three buttons (OK, Accept, Cancel) to the
     dialogs core. The idea is:
     Only this three buttons have a meaning to the program outside of the dialog. Every
     other button only changes stuff inside the dialog. If you have a look at a
     DialogBase-derived dialog, you see the inner part clearly partened from the three
     buttons controlling the dialog window.
     With this idea in mind, your user buttons only make sense if they are used to manage
     functions similar to OK, Accept or Cancel. The Help button provides the same
     functionality as the help link in DialogBase dialogs, except that the help link is
     arranged top-left, where the help menu is located usually.
     So you see, the design of DialogBase is not randomly. That is why I proposed to
     implement your three standard dialog designs as stand alone widgets, and add it in the
     manner of the DialogBase main widget to the dialog. This way, all user button appear
     inside the inner part of the dialog, it is harder to get a stupid dialog layout :-)
     (Additionally, the widgets could be used outside of dialogs, what could lead to apps
     with more similar user interface).
     User buttons in the outer dialog frame may be added, but the docs need to point to
     VERY special cases where this buttons should be used (I currently can not imagine
     one). We could even put the declarations of this dialog design options in the
     dialogbase.h header file.

I hope this shows my opinion in a clear manner. We should prepend to fail in things we
already solved before.
Greetings,
--Mirko.
PS: I added a example program to the KDE 2.0 sources. It is located in kdelibs/kdetest and
is called dialogbasetest.

--
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