You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koffice/chalk/doc/palettedesign.txt

35 lines
1.5 KiB

Requirements
* Flexible: plugins should be able to add palettes or palette tabs
* Connected: palette tabs should be able to connect to the main application
using signals and slots
* Configurable: palette widgets should be drag & droppable from palette
to palette, and from palette to void to create a new palette.
* Persistent: the palette configuration of a view should be persisted
on application end and reconfigured on application start.
* Pretty: the palettes should be small, but perfectly formed. There
should be the possibility to use either tabbars or toolboxes for
a palette.
* introspective: the application and plugins should be able to
query for existing palettes and tabs and retrieve a list and
pertinent data on existing palettes and tabs (so a plugin can
decide to place itself initially in a palette with other color
tabs, for instance.
Classes:
PaletteManager, Palette, PaletteContainer PaletteWidget
The palettemanager keeps track of palettes and saves & restores sessions.
Palettes can shade and unshade themselves with a double-click on the
titlebar or using the shade button
Palettes contain a container, either tab-type or toolbox type.
The containers accept drops, in which case a widget is plugged into
the container. The tabs or separators accept drag events, in which
case a widget is unplugged and a drag operation is started.
The drag operation can end in the void, or above another palette.
If above a palette, see above. Into the void: create a new palette