dock notes



Hi all,

(Ettore and Michael I included you in the CC list since you're the
authors of BonoboDock and GimpDock)

As Havoc requested, I made a comparision of the different dock
alternatives currently available.  I focused the analysis in the
architecture/design, but in all cases I mention notable features.

I tried to be as objective as possible, but since I wrote GdlDock I'm
probably somewhat biased (because it's the widget I know better). 
Please correct me if I made a mistake or I missed something important.

Regards,
Gustavo



Qt 3.0:

http://doc.trolltech.com/3.0/qmainwindow.html
http://doc.trolltech.com/3.0/qdockwindow.html
http://doc.trolltech.com/3.0/qdockarea.html

- band-style docking (they call them lines)
- QDockArea is the docking container wich manages several lines
- the window widget (QMainWindow) defines four docking areas (one for
  each side) and a central widget
- docking items might be resizable though (horizontal and vertical),
  which means it could be useful for more than just toolbars
- outline/opaque dragging indication
- saving/restoring layout using c++ streams (in the window widget)
- it is possible to individually allow/disallow docking in each dock
  area
- has a lineUp function which optimizes space use in a dock area


KDE 3.0:

http://developer.kde.org/documentation/library/3.0-api/classref/kdeui/KDockWidget.html
http://developer.kde.org/documentation/library/3.0-api/classref/kdeui/KDockManager.html
http://developer.kde.org/documentation/library/3.0-api/classref/kdeui/KDockMainWindow.html

- hierarchical docking in paneds and notebooks
- KDE uses this in complement to the docking widget in Qt
- not adequate for toolbars/menus
- there is no "central" widget, but one dock item is the main dock
  widget
- every dock item must be "bound" to a KDockManager (KMainDockWindow
  handles the details)
- outline dragging indication
- saving/restoring layout using c++ streams (in the window widget), to
  QDomElements and to KConfig objects
- a pixmap can be set to a dock item (it's shown in the tab when in a
  notebook)
- for each item it's possible to specify how the item can be docked
  and how can other items can be docked to this (i.e. which sides
  accept docking to another item)
- floating is a special state, and so the item can be docked back to
  the previous position


BonoboDock:



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]