Sandbox:Piffpoof7

= FreeCAD GUI for Data Manipulation=

Background
The GUI for numeric data entry in FreeCAD is a versatile entity. Unfortunately it contains various inconsistencies which frustrate new (and old) users. This is a list of some of those Inconsistencies. These descriptions may not be complete, rather these are the aspects I have encountered.

Method
A list of issues appears later in this document. It needs to be decided whether the behavior is intended, coincidental or erroneous. To demonstrate and explain them a collection of objects will be used, a screen snapshot of the objects in the Combo View is shown here and a FCStd file will be attached with the example objects.



This page is a "work in progress" and will be extended as necessary. Most likely the object collection (and screen snapshot and FCStd file) will have to be expanded and so will be updated as necessary.

Note: It is not known if these 'bugs' are hard fails or possibly intermittent; also it is not known if some of them may be platform specific. This list is created from FreeCAD v 0.14 on Macintosh computer.

Issue#1 Right-click on Combo View Model Tab to Sort Objects Alphabetically
With large collections of objects, methods to manage the information are required. One method is by creating Groups and placing objects within them. Yet with large object collections even the number of objects in a Group can be daunting.

If the ability to sort objects alphabetically were available through a right-click menu option, then the user would at least know where in the list of objects to direct his attention to locate an object.

As an example, with initial testing of the Open Street Map data importation by Microelly2, over 500 buildings can be imported. Obviously these can all be placed into a Group named "Buildings" but the problem simply happens again within the Group. With the current versions of FreeCAD the objects are listed in the order of creation, and then the ordered can be modified by certain object operations. So looking for Building 357 requires searching the complete list of 500 buildings

Issue#2 Ability to drag/drop objects in Combo View Model tab to place in order
As a corollary to being able to have sorting applied to the object list in the Combo View, it would also be nice to have sorting switched off but to be able to drag objects into a user desired order. It is possible that the viewing order could be one of three: If the option was available through the right-click menu then the user could decide which listing option was most useful at any given point.
 * as is (i.e. the way FreeCAD lists objects in 0.14 and 0.15)
 * alphabetic
 * user determined order

Behavioral Issues:
The format for these Issues is a numbered entry for each Issue, and then within that numbered point, a bullet point for the Issue description followed by a bullet point with the steps to create the Issue. Optionally there is a third bullet point with discussion points For each Issue the following steps are assumed at the beginning of each Issue description:
 * 1) open example file
 * 2) open Views->Combo View
 * 3) click the Data tab

Issue#3 Level of expansion of displayed data for Data tab in Combo View is inconsistent

 * if user has Position drop-down expanded then it should not close when he selects a different object
 * Steps to Create:
 * click on Cube1 to Select it
 * click on the drop-down icon to the left of Position - the positional data for Cube1 should appear
 * click on Cylinder1 - the pop-down data for Position will not appear
 * When working with the alignment of different objects this is very annoying. Once the user has decided what level of detail he wants displayed, this should be maintained by the software.

RELATED http://forum.freecadweb.org/viewtopic.php?f=8&t=10482 on Data or View tab being default to open

Issue#4 New object creation should switch selection to new object (view zooms to display new object, but browser doesn't Select it)

 * If the user has created a new object then presumably that is what they want to work with.
 * Steps to Create:
 * click on the "Create a Cube Solid" button Part_Box.svg or "Create a Cylinder" Part_Cylinder.svg buttons
 * the Selection will not be changed, in order to work with the newly created object you must manually click on it to Select it

Issue#5 Is the math capability for input of X,Y,Z in Position documented?

 * 400 + -17 may be entered into the X, Y,Z coordinates, is this documented?
 * Steps to Create:
 * enter "400+-17" into the X, Y or Z field of the Position. When you click away the string will be evaluated and the resultant displayed ("383" in this example)
 * I have not been able to find documentation of this useful feature.

Issue#6 Deleting a Compound object places the Component objects at the end of the list in the Combo View

 * When a Compound object (e.g. a Pad, Sweep, Loft) is deleted the component objects are removed from any Group they might belong to and placed at the end of the object list.
 * Steps to Create:
 * Select and Delete the object Loft1
 * The object Loft1 will be removed and not appear on the list of objects. The two objects Sketch2a and Sketch2b will now be "released" from the Lost operation and be restored as objects on their own (as opposed to component objects in a compound object). However, they are placed at the end of the object list. They have been removed from the group which they belonged to prior to the Loft operation, they are removed from the Group that they belonged to as part of the compound object result of the Loft operation. In a large project this is very annoying as one must always scroll to the bottom of the object list and return the newly freed objects to their rightful place.

Issue#7 X,Y or Z in Position of Placement Inconsistently Maintains Significant Figues in Rolling Over From -9,999 mm to -1.1 m

 * Starting with an X, Y or Z Position value of -9,999, decrementing and incrementing exhibits behavior depending on the direction. In fact, if you starts with -9,999 you never get back to your original value.
 * Steps to Create:
 * Set the Z value of the Position for Cube1 to -9,999
 * Click the Decrement button (or press the Down arrow key),each key click will give you:


 * Keystroke
 * Value of Z
 * &ensp;
 * &ensp;-9,999 mm
 * &darr;
 * &ensp;-10,000 mm
 * &darr;
 * &ensp;-11 m
 * &darr;
 * &ensp;-12 m
 * &uarr;
 * &ensp;-11 m
 * &uarr;
 * &ensp;-10 m
 * &uarr;
 * &ensp;-9 m
 * &uarr;
 * &ensp;-8,999 mm
 * }
 * There may be more irregularities, these are just the ones that have "caught" me.
 * &uarr;
 * &ensp;-9 m
 * &uarr;
 * &ensp;-8,999 mm
 * }
 * There may be more irregularities, these are just the ones that have "caught" me.
 * }
 * There may be more irregularities, these are just the ones that have "caught" me.

Issue#8 When specifying X, Y or Z in Position, Return key doesn't always put user into Edit mode

 * The behavior of the Return key is very erratic when trying to edit the X, Y and Z fields of the Position. The behavior is not exactly repeatable although it always happens. I have not been able to tie this to restarting the image. One time it works one way, the next time it works the other way. This is extremely frustrating when trying to move objects around using the keypad. You enter the keystrokes you expect to position the object and then find out that one of the 3 fields (i.e. X, Y, or Z) has gone "deaf". Of course then you have to exit problem space and start figuring how many of your keystrokes the software accepted and how many it has ignored. This is ultimately annoying.
 * Steps to Create:
 * Load the example project file
 * Both Cube1 and Cylinder1 should have the Position of 0,0,0
 * In Cube1, click on the X value, press down-arrow, press Return
 * Press down-arrow
 * Press Return - you enter into Edit mode for the Y value
 * In Cylinder1, click on the X value, press up-arrow, press Return
 * Press down-arrow
 * Press Return - you do not enter into Edit mode for the Y value
 * As mentioned above - THIS IS PERFECTLY REPEATABLE - try it five times and it will screw up, and if it screws up more than once, it will not necessarily screw up the same way.

Issue#9a Drag & Drop creates erratic object selection

 * Presumably after a Drag & Drop, the object(s) that were subject of the operation should be selected. Instead all the territory they were dragged over is highlighted.
 * Load the example project file
 * Select the Loft in Group3 and Drag it to Group2
 * The Selection will now range from Group3 (where the Loft was dragged out of, up to Group2
 * It makes no difference how far the Drag is, everything in the middle will be selected.

Issue#9b Requires Double-click to reset invalid selection

 * The invalid selection generated by Issue#9b can not be reset with a single click
 * Only a Double-click will clear the invalid selection

Issue#10 Erratic behavior with polarity sign and comma in XYZ field for Position

 * The data fields for X, Y and Z in the Position do not handle commas the same for negative or positive values.
 * Steps to Create:
 * Enter -1,234 into the X of the Position for Cube1
 * Click on the Y field to force the X field to format with the comma for the thousands separator
 * Now we are going to change the X value to 234, edit the X value by clicking between the '1' and the comma
 * Now press Delete twice to change the value to '234'
 * The dynamic formatting of the field will not allow this as it will ignore the second keystroke. It seems to ignore everything until the comma is removed.
 * As a contrast, enter '2,34'. The field will accept this, and even display it. When you click on the Y field the formatting will remove the superfluous comma.
 * With a negative value an extraneous comma if disallowed, with a positive value it is allowed.
 * The field validation should not be enacted until the user exits the field. It is demonstrated above that the code knows how to handle extaneous commas, but in the case of negative values, does not.


 * possibly related information at Strange character on input numbers

Others

 * 1) It appears that the Undo only applies to transformational operations on objects. That is, it does not apply to changes of name.
 * 2) * Is this the intended behaviour?
 * 3) * Is it documented as such?

Not Really

 * 1) does Combo View scroll when you need to drag something from the bottom to the top and the top is off the top of the display?
 * 2) *Steps to Create:
 * 1) *Steps to Create:


 * 1) is there a way to reset "800-170" in X,Y,Z to "630"?
 * 2) *after using 400 + -17 to relocate an object, is there a method for the user to reset the field value to 383?
 * 3) *Steps to Create:


 * 1) drag/drop must be onto folder, will not accept a member of that folder
 * 2) *Steps to Create:
 * 1) *Steps to Create: