First of all, this proposal for layers is awesome!
Four things:
1.) Agree about the 1st layer switch which should be on by default, but for advanced users (or anyone) they can turn this off.
2.) Allow the non-group objects to have other items dragged onto it to convert it to a group (good functionality from adobe illustrator).
3.) Also, double click or control click of the layer or entry on the layer palette auto-selects the associated object(s).
4.) Don't forget merge layers as another button on the GUI.
ROCK! Jon
On Sat, 2004-07-03 at 19:44, bulia byak wrote:
The initial/default appearance of the layers dialog would show only the top-level objects, ordered in visual z-order (reverse of XML order). In a document structured in a traditional layered fashion, these top-level objects would be groups, and in this setting look precisely like layers to the user.
This will only work if we will always create a new document with a top-level <g> that is made current at once. Otherwise, as well as with all old documents, the dialog will be flooded by top-level groups which were meant to be groups but are now presented as layers. Do you think this is a problem?
Clicking in the rightmost column of a particular layer's (group's) row would put a little pencil icon (or similar) next to it, making it the current layer for editing (performing the equivalent of "enter group").
Why not just highlight the entire line (no pencil) when clicking on the layer name (no rightmost column)? In any case, having highlight on one layer but pencil on another is going to be very confusing.
[ note omission of pencil "slot" on non-groups ]
Why do we need to show non-groups at all? Only to make it easy to lock/unlock them? I think they will be increasingly annoying for those who just need a layers dialog, and will make the dialog almost unusable for complex documents. I think the displaying of non-layers must be optional and off by default (but with an easily accessible checkbox right on the dialog).
On the other hand, showing non-groups at all is going to be confusing if we use highlight as the means to indicate current layer. I think a good way to resolve this would be:
- on clicking a non-group, make its parent layer current and highlight
it to indicate that
- the object itself that you clicked on is also highlighted but using
a different (lighter) color
We might have some thumbnails or something in there too. I expect there would also be a "new layer" button, which would just create an empty top-level group (which, for the user, is essentially a layer), and whatever other layer manipulation buttons/commands seem appropriate.
Not top-level, but a sibling of the current layer. The two buttons (new and delete) are the necessary minimum, plus the ability to rearrange layers by dragging.
We'll also need menu commands to "move selection one layer up/down" which would work without having to open the dialog. If there's no layer above/below, I think it's appropriate for these commands to display a messagebox telling the user that and offering to create a new layer for the selection contents. If the layer exists, the command does what it is asked to do silently, and makes the layer to which it moved stuff current. Selecting an object makes its layer current too. You can have objects from different layers selected, but some commands will not be available then (there are already checks and warnings for that in most commands). Finally right-clicking on the current layer name in the statusbar must display a menu with "lock/unlock" and "hide/show" commands (for the current layer) as well as the list of sibling layers of the current. And when you attempt to create or paste or import something into a locked or invisible layer, Inkscape must display a warning.
So looks like quite a bunch of UI and logic work is needed, beyond the layers dialog.
Normally I expect users are either going to put all their objects at the top level and not group much, or they will put everything in top-level groups (i.e. layers), so a mixed document like this example will be uncommon.
As said above, we should encourage proper layering by starting a new document with an empty layer.
Permitting each desktop to have its own "current layer" will be necessary when I implement the ability to select a different element as the "root" for a particular editing view.
Sure, different desktops may each have a different current layer.
One more thing: I have already written about it, just wanted to reiterate: for visibility, we need to use the CSS property, not some non-standard attribute as does Sodipodi.
This SF.Net email sponsored by Black Hat Briefings & Training. Attend Black Hat Briefings & Training, Las Vegas July 24-29 - digital self defense, top technical experts, no vendor pitches, unmatched networking opportunities. Visit www.blackhat.com _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel