On May 29, 2008, at 11:30 AM, Valerie wrote:

Before I start... what can I submit as "blueprint", and what should I be

submitting as "wishlist" instead? Can I use the wiki? If so, what pages am

I supposed to save them as? Anyway, most of these will be submitted

separately, but they're all only made feasible with a proper toolbox

management.


So the toolbox is getting cramped, right? At the same time, it's not

really fun when many tools are grouped and you have to find each

sub-component (case of the tweak tools, I can never remember the shortcuts

either). So here's a possible solution, and some possibilities that'd

derive from it.


1. Toolbox proposal


http://img113.imageshack.us/img113/416/toolbarmanagement1ov3.png

http://img146.imageshack.us/img146/3712/toolbarmanagement2xb0.png


Some features:

- There should be a visible icon, as people won't be able to find the

feature otherwise.


- The icon allows you to access toolbox presets. 


- Managing a preset is easy, just go to "configure toolbox" and toggle on

and off the visibility of any tool, just like with Gimp.


This is good, but I don't think it quite goes far enough.

:-)

We've been talking about profiles or modes that can shift more of the UI. Toolbars, menus, docked palettes, etc.

Internally I've gotten most of the current toolbars changed to use XML definitions. The plan is to expose these soon through some nice markup format (the internal format GTK+ uses is not quite appropriate for our needs).

The source is in src/widgets/toolbox.cpp at the moment, and the existing XML starts with:

        "<ui>"
        "  <toolbar name='SelectToolbar'>"
        "    <toolitem action='EditSelectAll' />"
        "    <toolitem action='EditSelectAllInAllLayers' />"
        "    <toolitem action='EditDeselect' />"
        "    <separator />"
        "    <toolitem action='ObjectRotate90CCW' />"
        "    <toolitem action='ObjectRotate90' />"
        "    <toolitem action='ObjectFlipHorizontally' />"
        "    <toolitem action='ObjectFlipVertically' />"
        "    <separator />"

Names for the toolbars is one thing to work on... but the big overall task is probably those action names. Those will be the key for dynamic UI.

So for a menu or toolbar configuration, we'll just need to allow for the final XML format (yet to be determined) to be loaded, modified via tweaking the UI directly, and saved.

But to the big picture... we've been talking about supporting "workflows" or "modes" or whatever, that are use oriented. That is, some might have a "diagramming" workflow, and some users might want an "icon editing" workflow, etc. Some might change in the middle of a project. A comic author switching from pencils phase to inking phase might be one example.