[Kst] View Object UI fixes

George Staikos staikos at kde.org
Mon Nov 7 18:13:39 CET 2005

On Sunday 06 November 2005 00:58, Barth Netterfield wrote:
> I have commited this to svn in devel docs, but here it is for discussion.
> These changes (or modifications of them) should be made for 1.2
> --------------------------------
> -Make the mouse target area ~20% (5 pixels) of the size of the mouse
> marker. The mouse will be pointing at the highest view object which is
> anywhere inside the target area, to make it easier to select thin items,
> like thin lines.

  Seems reasonable, but maybe that should be the minimum, as opposed to the 
rule.  That way we don't have large dead spots around large objects.

> -Make it so that in layout mode, the mouse can select any view item,
> including child items.

  Of course.

> -Make it so that a selected view object, including child items, can be
> dropped anywhere in the current window.
> ************ the following suggestion needs discussion ***********
> -Make it so that on drop, a viewobject will become the child of the highest
>  viewobject which fully contains it (could be the top level view).
> **************************************************************

   Right, it should fall onto the top object it's geometric centre intersects.

> -Change text mode as follows:
> 	-Add a Scalar Selection Combo box to the text dialog

> 	-Change the order to:
> 		-Scalar list combo, Text, font, font size,
> 		 Resize label for text, H Justification,
> 		 V Justification, data precision, Rotation,
> 		 Transparent fill, Font colour, box properties

   I think we can get pseudo-guarantees of this via property ordering, but if 
not, then we need to implement a "int getSequenceFor(propertyName)"

> 	-on opening a text edit dialog, give focus to the text entry

   Right, we need a focusProperty() also then.

> 	-Set the icon to the text '|' icon.
> 	-On single click open the text edit dialog with the following settings:
> 		-Transparent fill selected
> 		-Resize for label selected
> 		-Horizontal Justification Left
> 		-Vertical Justification Center
> 		-Border size 0
> 	 On OK, the label will be inserted at the click location.
> 	-On a drag behave as it currently does (turn the mouse icon to the arrow
> during
> 	 the drag), except change the label dialog defaults to:
> 		-Transparent fill not selected
> 		-Resize for label not selected
> 		-Horizontal Justification Center
> 		-Vertical Justification Center
> 		-Border size 2
> 	 At the end of the drag, insert the label in the box.

   Seems rather straightforward, but we need to be careful not to special-case 
too much.  Everything in view objects need to be very generic so they're 
useful from the scripting side and so we can finish implementing all the 
dynamic loading and creation.  Once the factories are in place, we will be 
able to dynamically load view objects by name without anything new in the 
loader code, and even have view object plugins.

George Staikos
KDE Developer				http://www.kde.org/
Staikos Computing Services Inc.		http://www.staikos.net/

More information about the Kst mailing list