netterfield at astro.utoronto.ca
Sun Nov 6 03:21:44 CET 2005
SVN commit 478174 by netterfield:
Update PlotUI definition.
M +39 -97 PlotUI.txt
--- trunk/extragear/graphics/kst/devel-docs/PlotUI.txt #478173:478174
@@ -1,117 +1,59 @@
+Items marked with *** require a change from the current behavior.
-There should be two pull down icon menus forming a radio pair in the tool bar:
-* one selects the 2d plot zoom modes,
- * Contains XY, X, and Y zoom icons
-* the other selects object manipulation modes.
- * Contains Select, Text, Line, Arrow, Box, Ellipse. Biezer, poly-line
- and polygon are optional.
+There should a pull down icon menuin the tool bar with the following entries:
+* XY, X, and Y zoom icons
+* Layout mode, Text, Line, Arrow, Box, Ellipse, picture
* The last icon selected from the list is the one which shows.
Zoom Modes (XY, X and Y zoom modes)
-2d plot modes which are only valid for 2d plots. The current behavior
-of these there modes is correct, though the toolbar icon handling will
-change as described above.
+2d plot modes which are only valid for 2d plots. The current behavior for clicks inside the plot area of these there modes is correct.
-Modes selected from the data-manipulation toolbar icon:
For all of these modes, the right button menu should include:
-* Delete (Only active if over a view object)
-* Edit (Only active if over a view object)
-* Cut (Only active if over a view object)
-* Copy (Only active if over a view object)
-* Cleanup Layout
+ Used to move and edit any data view object.
+* All mouse actions applies to the highest level object the mouse is over.
+* ***The mouse's target area is ~20% of the size of the mouse icon.***
+* Single click on an object selects it. A selected object is marked by a filled rectangle.
+* A double click on a view object selects the object, and pops up the objects edit dialog. (eg, PlotDialog for plot, labeldialog for labels, etc).
+* A drag on a view object moves the object and all of its children.
+* *** Mouse actions are independent of whether the object is a child object or not. Drags drag, clicks select, double clicks edit. ***
+* *** On drop, an object becomes the child of the highest object to completely contain it. This may be the top level view ***
+* A drag on the hot point of a data object changes the object's geometry and all of its children.
+* The mouse icon will change depending on where it is. The current behavior is correct.
+* Visual feedback as to what object would be selected or moved will be given by showing an open rectangle around the object's hotpoint.
+* The hotpoints are located as follows:
+* Plots, rectangles, text objects: hotpoints on the 4 corners, and 4 midpoints. Drags on the corners do XY resizing. Drags on the midpoints do either X or Y resizing.
+* Lines: Hot points at each end. Drags on the hotpoints move the point. Drags anywhere else moves the line.
+* Ellipse: Hot points at noon, 3:00, 6:00, and 9:00
- Used to move and edit any data view object. An enhancement to layout mode.
-* A single click on a view object pops up the objects edit dialog.
- (eg, PlotDialog for plot, labeldialog for labels, etc)
-* A drag on a view object moves the object.
-* If a view object is dragged to become completely contained in another
- view object, it becomes a child of the containing object, and then
- drags and scales with the containing onject.
-* A drag on the edge of, or the hot point of a data object changes the
- object's geometry.
-* The top-most object with pixels drawn in the mouse target area (~20%
- of the mouse's size) is the one which is selected.
-* The mouse icon will change depending on where it is
-* By default the mouse icon is the standard arrow
-* When a drag would cause a move, the mouse icon is the standard 4 arrow
- mouse move icon
-* When a drag would move a hot point, the mouse returns to an arrow
- icon, and the hot point box is filled.
-* Visual feedback as to what object will be selected will be given by
- showing the hotpoints or by drawing a dashed bounding box as follows:
- * Plots: A dashed rectangle around the outside, as currently
- in layout mode
- * Rectangles: Same as plots
- * Text: Dashed box around the text
- * Lines and poly-lines: Hot points at each end and each vertex
- * Ellipse: Hot point at the center and at both sides of the
- widest and narrowest sections. Dragging the hot points can
- change the scaling and orientation of the ellipse.
-OBJECT Drawing Modes:
-* For each of the modes below, when the mouse is over an object of the
-selected type, the behavior is the same as it would be in Select mode,
-including hot point behavior and dragging.
-* Icon changes to the text | icon.
-* When not over a text object, clicking calls up a text dialog for entry.
+* *** Icon changes to the text | icon. ***
+* ***Clicking calls up a text dialog for entry. It will placed relative to the click point based on the selection of 'justification'.***
-* Arrow Icon
-* Lines are made by draging from the 1st point to the 2nd point.
-* <Esc> cancels the line in the middle of a drag.
-* For arrows, the head is at the Mouse Release end.
-* An arrow is just a line with the release end's arrow head shown by default. A line can be turned to an arrow or an arrow to a line in the dialog.
+Line/Arrow Line modes:
+* The line goes from the first click to the second click.
+* The line is drawn from the first click to the mouse until the 2nd click.
+* <Esc> cancels the line.
+* For arrows, the head is at the 2nd click.
+* An arrow is just a line with the 2nd arrow head shown by default. A line can be turned to an arrow or an arrow to a line in the dialog.
-* Arror Icon
-* The box is drawn with a drag.
-* <Esc> cancels the box.
-* Arrow Icon
-* First and each subsequent click adds a node.
-* The lines are drawn as we go. A line is drawn from the previous node
- to the mouse icon.
-* <Esc> ends the line with the last node.
-* Double click ends the line at the location of the double click.
-* For Polygons, once ended, a line is drawn from the first point to
- the last point.
* Arrow Icon
-* A circle is drawn with a drag from the center along the major axis.
-* The circle is drawn as the mouse is moved.
+* First click is at centre.
+* Second is at extended corner.
+* The ellipse is drawn as the mouse is moved.
* <Esc> cancels the circle.
-* To convert to an ellipse, drag the minor axis
+* There is no concept of a circle: the dimensions are relative the parent.
-* Line Mode contains: width, type, color, and arrow head properties
- (check box for 1st head, 2nd head, and a scale factor).
-* Polyline contains: width, type, color
-* Polygon contains width, type, line color, fill color
+* Line Mode and arrow mode contains: width, type, color, and arrow head properties (check box for 1st head, 2nd head, and a scale factor).
* Ellipse contains width, type, line color, and a check box to make it a circle
-* with the exception of 2nd arrow head check box for lines and arrows,
- and the text in a text dialog, all entry defaults should be sticky
- from previous use.
+* Box: Border color, border width, fill color, X and Y roundness, and ()Transparent fill
+* Label: ***In This order***: ***Scalar list combo***, Text, font, font size, Resize label for text, H Justification, V Justfication, data precision, Rotation, Transparent fill, Font colour, box properties
-Cleanup Layout: (incomplete comments)
-Cleans up the layout, returning to a grid, as clse as is possible to the
-* Plots with borders surpressed need to be smaller, so that each plot area
- in the window has equal area.
-* Only direct children of the top level view get moved or resized directly.
- All other objects get scaled or moved with their parents.
-* Only container objects (plots, boxes, ellipses) get resized in a layout
More information about the Kst