[Qgis-developer] Vienna hackfest: QGIS Legend discussion
olivier.dalang at gmail.com
Tue Mar 25 17:07:12 PDT 2014
Great news !
(by the way, I'm crossposting to qgis-ux as well)
I've been thinking about this a little and have some more long term ideas I
want to share (see the mockup below, it may be more clear):
1. Trivalent checkboxes (neutral, visible, hidden) (#5787)
When neutral, a layer/group is shown if it's parent is shown (top level
neutral elements are shown).
When hidden, a layer/group is hidden regardless of its parents.
When visible, a layer/group is shown regardless of its parents.
This would make big groups much more usable. Cinema4D's object manager
features this, and its very efficient. Also Qt's checkboxes can be tristate
out of the box, so it may not be that hard to implement.
2. Display the data source as an icon in a column on the left (not
indented, separated by a thin vertical line)
The icon would help to know whether it's a WMS, Shapefile, postgis, etc.
The icon would be grayed out when the source is unavailable.
Right clicking on the source would only source related actions (subset,
relink source, save data as, open in db manager, ...).
It would make the distinction between layer and source much clearer. This
distinction is obvious for experienced GIS users, but I've seen a lot of
beginners being very confused because of that (software working with
external links/files are quite rare for common usage). We could also
display the "edit pencil" on the source, giving one more hint to the user
that he's not modifying the QGIS file, but the datasource behind.
3. Display labels/diagrams/actions/etc. as icons just after the layer's name
Allow for quick toggling of those frequently useful features.
Right clicking allow for related actions (edit, set label expression, etc.)
Imagine what plugins could add there !! Any per-layer setting could be
shown as a tag. Think of Anita's TimeManager or Minoru's qgis2ThreeJs... We
could put the snap settings there too, or new features like alternative
styles, saved feature selections, snap settings, .... !!!
Again, this is how Cinema4D's manager works (they call those icons "tags",
and C4D makes extensive use of them). In their version, they align all the
tags after another vertical bar, which may be the most elegant way to solve
the layout with long layer's names.
I think it's worth making the Legend GUI a bit more rich than it is now.
This is the part of the GUI where the users spend most of their clicks, and
IMO the potential efficiency bonus is by far worth the small
complexification. And it's not only complexification, it's also
The segregation of source/layer/addendi in the legend GUI will be very
powerful in combination with contextual menus. By having three different
contextual menus, we'll be able to have much more actions at finger tips,
without over-crowding the menus.
About Nyall's idea :
It could be implemented as it is in Photoshop, i.e. group's blending mode
is "transfer" by default, which simply draws the children as if there was
no group. But setting the group's blending mode to anything else
("normal","multiply",...) composites the group as one layer, and blends
Having this in the legend UI rather than in the layer style would also make
the UI much clearer. Right now, the UI is a bit confusing because the
transparency at layer level, feature level, and at color alpha level are
almost at the same place.
In general, using Photoshop as a reference for the UI in regard of
layers/blending modes makes much sense since PS is the leader in that
matter (as a remainder, they just have a drop-down menu at the top of the
layer panel which applies to the selected layer).
What do you think ?
If the community likes the principles, I'd be happy to work on the mockup a
bit more (by integrating Nydall's suggestion), so we can have a common
reference for further development.
Anyways, I'm very happy to know some improvements are in preparation !
[image: Images intégrées 1]
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Qgis-developer