[Kst] [Bug 108027] New view objects for annotating and drawing

netterfield at astro.utoronto.ca netterfield at astro.utoronto.ca
Thu Jun 30 17:09:08 CEST 2005


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=108027         




------- Additional Comments From netterfield astro utoronto ca  2005-06-30 17:09 -------
Updated Plot UI spec.  Also in svn as PlotUI.txt

Plot UI

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.
* 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.

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

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.

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.

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.
* <Esc> cancels the circle.
* To convert to an ellipse, drag the minor axis 

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
* 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.

-----------
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