[Kst] extragear/graphics/kst/devel-docs

Barth Netterfield 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 @@
-
 Plot UI
 
+Items marked with *** require a change from the current behavior.
+
 ToolBar
-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
+....
+Layout Mode:
+ 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
 
-Select Mode:
- 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.
-
 Text Mode
-* 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'.***
 
-Line/Arrow modes:
-* 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.
 
-Box Mode:
-* Arror Icon
-* The box is drawn with a drag.
-* <Esc> cancels the box.
-
-PolyLine/Polygon:
-* 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.
-
 Ellipse:
 * 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.
 
 Dialogs:
-* 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
+etc...
 
------------
-Cleanup Layout:  (incomplete comments)
 
-Cleans up the layout, returning to a grid, as clse as is possible to the
-existing layout.
-
-* 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
-cleanup.  
-


More information about the Kst mailing list