diff options
Diffstat (limited to 'krita/doc/palettedesign.txt')
-rw-r--r-- | krita/doc/palettedesign.txt | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/krita/doc/palettedesign.txt b/krita/doc/palettedesign.txt new file mode 100644 index 00000000..549264a7 --- /dev/null +++ b/krita/doc/palettedesign.txt @@ -0,0 +1,34 @@ +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 |