Subject: [Thuban-list] Legend Design

From: Jonathan Coles <[email-masked]>
Date: 18 Mar 2003 11:57:01 +0100

Although there is still more work to be done on the Classification
dialogs (generating ranges, and perhaps the addition of maps) the next
big feature that needs to be added is the Legend. The following is an
outline of what needs to be done.

From the last meeting, we decided that the Legend would be the principle
point of interaction when the user changes the appearance of the map.
This primarily means that the Legend is the interface where the user can
control which layers are drawn, in which order they are drawn, and how
they are drawn (i.e, this is the place where the user can bring up the
classification dialogs).

The current vision for how the Legend would appear is to use a tree
structure where each of the main branches represents a layer. The order
in which the layers appear in the tree is the order in which they are
drawn on the map (the layer at the top being the layer that is drawn
"closest" to the user). Each subbranch is then a classification group
(if there is no explicit classification then there will at least be a
default group). Each group is drawn with a graphic representing how that
group will appear in the map along with any label that has been
specified. If no label is present then the values that the group
represents are shown.

The window that this Legend is in should be dockable so that the user
can choose if the Legend is free-floating or is attached inside the main
window (where the map is), drawn either on the left or right side. This
way, if the main window is maximized the legend won't obscure the map.

The Legend should contain a series of buttons that can be used instead
of dragging/right-clicking. The following will make this clearer.

The user should be able to drag layers to change where they are drawn in
the map but there should be buttons that accomplish the same goal so
that if the user has to move the layer over a great distance it doesn't
become troublesome. 

Right-clicking on a layer should bring up a menu that allows the user to
do such things as disable (make invisible) a layer in the map or to edit
the classification. Again, there should be buttons that do the same
thing as the menu. If classifying a layer is the primary reason to
right-click on a layer then double clicking with the left button should
also bring up the classification dialog.

The features of dragging or right-clicking should be available as a
convience but only as that, as it is not always clear to the user that
such "hidden" features exist, that is why the buttons should be there.

I expect that an initial version of the Legend will have the following
features:

- Layers are drawn in the order they appear in the Legend (and vice
  versa)

- Layers can be disabled (and this affects the map)

- Groups are rendered with an appropriate graphic (similar to what is in
  the classification dialog now)

- A series of buttons for the user to control the Legend

One issue that needs to be considered is the use of messages. There has
to be a clear understanding of how the classification (and other)
dialogs interact with the Legend. If something changes in the Legend
then some of the dialogs may have to update themselves to reflect those
changes. And if something changes in the dialogs and those changes are
applied the changes should be reflected in the Legend.

--jonathan

-- 
Jonathan Coles
Intevation GmbH
http://www.intevation.de