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

List:       kde-kimageshop
Subject:    more GUI thoughts
From:       Matthias Elter <me () main-echo ! net>
Date:       1999-08-11 11:44:41
[Download RAW message or body]

Hi

Our current GUI concept is not quite perfect. We have dialogs (currently
only the layer dialog) floating around in external windows just like
GIMP does it. If I maximize my KIS window the dialogs are hidden. IMO we
need a combination of the way GIMP and Photoshop handle their dialogs.
(Photoshop has floating dialogs inside the main window.) Our current
concept does not work as soon as we for example want to add a
KDualColorButton for back-/foreground color selection, you need that
button all the time and it does not fit in a menubar (you currently
can't add custom widgets to OPMenuBars) and it is not useable in a
standalone external dialog.

Solution:

Derive all dialogs from a new class KFloatingDialog. Dialogs that come
to my mind are:
- layer dialog
- color selection (KDualColorButton)
- tool options
- etc...

A dialog derived from KFloatingDialog can:
- float inside the KIS main window -> Its always on top of the image
canvas and can be moved around (thats the Photoshop way). We can extend
it to make dialogs dockable to the inner sides of the mainwindow.
- the dialogs can be standalone dialogs outside the main window (the
GIMP way)

Implementation:
- floating inside the main window:
 * dialogs have the canvasview as parent widget
 * we simulate a small titlebar with buttons to shade/unshade and to
make the dialog standalone
 * the user can move the dialog around by clicking inside the titlebar
and moving
- standalone:
 * simply reparent the dialog (new parent -> 0)
 * no window decorations, we create the titlebar ourself (to add costum
buttons)

I'm going to start work on a KFloatingDialog class.

Greetings, Matthias

-- 
Matthias Elter
me@kde.org / me@main-echo.net
KDE developer
Computer science student university of Wuerzburg, Germany

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

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