Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Sapphire/FlexibleDiagramNodeShapes"

Line 334: Line 334:
 
Konstantin: It's much better, but I still found issues. Pull down my changes before looking at these... (a) margins on inner rectangle aren't equal (4 pixels on left/top and 5 pixels for right/bottom), <strike>(b) node with setting overrides shape's capabilities, I set node width to 200 and expand horizontally on both rectangle and text to false, the node width was still 200, expect it to be within the capabilities of the shape.<br/></strike>
 
Konstantin: It's much better, but I still found issues. Pull down my changes before looking at these... (a) margins on inner rectangle aren't equal (4 pixels on left/top and 5 pixels for right/bottom), <strike>(b) node with setting overrides shape's capabilities, I set node width to 200 and expand horizontally on both rectangle and text to false, the node width was still 200, expect it to be within the capabilities of the shape.<br/></strike>
 
Shenxue: regarding issue b, there is no size constraints set on either the rectangle or the text. Therefore the allowable max size for them is Integer.MAX_VALUE. The outer rectangle's allowable max size is also the max integer.  If a max size constraint is set on a child, e.g., see http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=ccbecb0b3a0d85522f3db3150ef2bd4fa4f6832e, you'll notice the node width of 200 is overridden.<br/>
 
Shenxue: regarding issue b, there is no size constraints set on either the rectangle or the text. Therefore the allowable max size for them is Integer.MAX_VALUE. The outer rectangle's allowable max size is also the max integer.  If a max size constraint is set on a child, e.g., see http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=ccbecb0b3a0d85522f3db3150ef2bd4fa4f6832e, you'll notice the node width of 200 is overridden.<br/>
Shenxue: per more discussions on this size constraint issue, I've checked in more fixes http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=2e4f2dd5194c8837fc4b74c5a9b768a43d49d2e6 and http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=225cd61d254fac3994b6e632c2961fca365ebcd1. Issue b should be considered resolved.
+
Shenxue: per more discussions on this size constraint issue, I've checked in more fixes http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=2e4f2dd5194c8837fc4b74c5a9b768a43d49d2e6 and http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=225cd61d254fac3994b6e632c2961fca365ebcd1. Issue b should be considered resolved.<br/>
 
+
Konstantin: Still not working correctly. I set expand horizontally to true for text, but left it false on the inner rectangle. The node size expanded to 200 specified at the node level. All children have to allow the expansion to happen.
  
 
----
 
----

Revision as of 15:19, 9 August 2013

This page tracks ongoing issues and discussions pertaining to Bug 383924.

Issues raised from the UI review with our usability expert:

1. Combo cell editor should be used when direct editing an enum property Bug 404500 resolved

2. Remove "direct edit" context menu Bug 404503 resolved

3. [Sql Schema Editor Sample] SqlSchema editor sample should include toggle primary key context menu Bug 404499 resolved

4. [Sql Schema Editor Sample] Add column action in table node's floating palette doesn't work Bug 404501 resolved

Miscellaneous issues:

1. Direct editing a newly created node doesn't hide the node label.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=d4ccb7d0064a970c96dbdf3dc23676e2155bdf79


2. Select a node that can be resized (ex. sqlschema.xml) and make the node larger.

  a. Edit the table label so it is larger, it should have expanded the node to make it fit but does not
b. Continue to add columns, node does not expand to fit all the newly added columns
c. Edit the column type which is a combo and it extends outside the node, not utilize the available space.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=d96f45b960d95b7ccf712b589612ce5c39bc8f43


3.Reorder column (ex. sqlschema.xml) and column inserted in different location than the visual aid (one column below). Works if moving to a column above. Also the visual aid feedback is a few pixel too big.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=bcf33857fb440acb7895a17f3d5f74b6e1957c1f


4. Drag/drop does not work when moving to the last item - same bug as 3, didn't completely fix.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=7459594a669c7dd7790d61c891cd30fe042d5662


5.Drag/drop feedback should match orange guide lines.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=5ed5db1ff475879c2f8a9e8db4f1e5c9cd1b0a49


6. UML test case - line figure extends to the right edge, ignored specified margin.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=bb35b4d334ada840adf960f3c06fd4fecfefaca7


7.Shape Factory always places its children in the 0th index position.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=85a274836593b352e977e066e5e38f76ec3d1530


8. "Show in source" context button not placed correctly in UML text case.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=68fe36f36c89455dc59431ae2caec035bdab4037


9. Shape factory with no separator NPE.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=e18f4d6e5e8e8897247707f037a19133efa27c35


10. Shape factory -> Case -> Text, note editing not allowed, manual editing in source code results in NPE

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=ea1d0a618962d0f152288624b513f7dea56db9f0


11.Shape factory -> Case -> Rectangle -> Rectangle -> Validation Marker not displayed.

 Workaround: Shape factory -> Case -> Rectangle -> Validation Marker

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=c542a7f75e653d2eb9edc97b7d982c4c82f2e071


12. sqlschema.xml -> edit the <type>, and type in an invalid text "aaa". Notice the text is still <type>. Type in another invalid text "bbb". Now view the error message, "aaa" is not a valid column type, and notice the error message did not update.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=dc56d000a915a5295b8959dc8047f6aff9a7c342


12.b atchitecture.xml -> The error message is not shown in the assist dialog.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=3bf509dbe1ee6b77d91878e9b410ab26cbad2dc9


13. uml.xml -> extra spacing at the end (when the top text margin is 5)

Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=879fbe5c5d4588472387ba089306b0423d34f120


14. uml.mxl -> visible-when on a Rectangle that contains ShapeFactory. First add -> child not added Subsequent add -> ERROR : Figure is not a child java.lang.IllegalArgumentException: Figure is not a child Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=63e73547f6bc78a9ec494028a7b39ca8ca45a682


15. sqlschema.xml -> add a table with 2 columns. Give the first column a longer name, edit the second column name. Notice it does not expand to the maximum allowed width.

This is not an issue. The sql schema editor's column layout has the column name field left aligned but doesn't expand. The column type field is right aligned and does expand to take up the extra space. So even if the name column appears to have extra space, it is the column type field that has the extra space.


16. Need a test case for nested shape factories.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=27b96267109590f0285799f149b609fcd1435077


17. sqlschema.xml -> add a new column to a table in source editor, the new column is always displayed as the last column in the diagram editor even if the new column is inserted in the middle of the table in the source editor.

Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=89fd138e02d8d1c1c9c6d46c24b9e505cef69231

Shenxue: verified


18. Shape factory -> Case -> Text, the text is editable, selectable and movable, but the selection border is not displayed.

Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=d6cae2475ac1a9608e6738e70a8102736c30d64a


19. Added 3 nested Rectangle - each with a different color border and only one of the border is shown. Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=d4949e1c7ddf768ff2243fb20a74fa362aa6f075


20. In sdef editor, min size, max size, size, expand fields don't show up in the "layout constraint" details page for shapes contained by shape factory case.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=27b96267109590f0285799f149b609fcd1435077


21. Alignment for shapes is only applied when "expand" bit is turned on, making text with default alignment which is center-aligned appear to be left-aligned when there is extra space for the text shape. It's also inconsistent with the cell editor locator for the text figure when direct-editing.

Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=5f3fd8c25e08d3d948f01e2180a45af18f6b2b2f


22. Click away from the validation marker pop up results NPE

Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=8a84ee0b2a508491160f7a4fb4c877a091a82b6c
Konstantin: Verified


23. The behavior of the floating toolbar feels odd in the presence of internal selection. Let's make the floating toolbar work off the selection rather than mouse hover.

Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=53975da193eff245eb3e59ebd830d6fe4675d1b8
Konstantin: Verified


24. Impossible to multi-select and delete internal shapes using the context menu.

Resovled http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=0a4382698cc60c3aab461110caee898024a114ef
Konstantin: Verified


25. Shift+Click behaves the same as Ctrl+Click when clicking on internal shapes instead of the expected behavior of selecting a range of shapes. (Ling)

Resolved:http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=aefa1f0625be8ba0fb8e42a0d1c4c20b476fd323

25a. The problem still exists in office space editor when selecting occupants.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=771ff564e41167ff5e355e7bff5e01dab90a86e6

25b. Still not working as expected in all cases. Trying to shift click a range starting at a field and ending at a method in UML editor sample yielded ctrl click behavior.

Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=1f6b5282c7378d694d6e792dae607950fad4b631

25c. Still seeing issues. Try it with UML sample and an entity with three fields and two methods with parameters. Trying to shift-select all properties, now doesn't work correctly. I get first and third. Trying to select everything from first field to last method gives me every other item. Also, when shift-click covers a method with parameters, I see method and parameters selected. We should not be selecting a child shape if parent is selected.

Ling: Yes, my last checkin was incorrect. I would like to revert back to Shenxue's last change, in which shift-click stretch select works iff the editpart have the same parent. Otherwise, it reverts back to the jump select similar to ctrl+click. Perhaps there is another algorithm that I've overlooked?


26. Shape factory selection border inset should support negative numbers to expand selection border beyond shape bounds.
Ling: The negative number is not obvious. There is also the possibility that negative number exceeds the node. I believe the right way to fix uml.xml so that the shape factory children selection is bounded by the parent is to set the parent layout margin to 0 (instead of shape factory->Case->Rectangle layout)
Konstantin: There is precedent for having positive and negative values when specifying offsets, so I am not concerned about obviousness. We may want to flip the term/property to offset instead of inset, since offset is more common in usage.
Ling: Unfortunately when I get the paint callback so I'm not able to paint outside the shape's graphic clip rectangle. I don't think it is worth the time and complexity to get this working. Can we mark this as will not fix?
Konstantin: I can live with lack of offset support on inner shapes, but inconsistency with the node is bothering me. At node level, the current behavior is a 2 pixel offset and I want that to be controllable. Let's do this... (a) rename inset property as offset and flip the sign, (b) support positive or negative offset at node level, (c) support only negative offset at inner shape level (validate for this in sdef).
Ling: The node level inset also has the same issue as the shape factory case, in that paint callback for selection is bounded by the node's graphic clip rectangle. The current selection does not have any offset. But there appears to be a 2 pixel offset for the border. The inset for non-resizable node is trivial and just needs a property editor in sdef. For resizable node, the fix looks more involved. Before I delve into a complex fix, I just wanted to confirm there is a real need. I propose this: 1. offset for shape negative or zero 2. offset for node (negative or zero) enabled iff it is a non-resizable node.
Konstantin: Ok. Let's do offset for shapes (negative or zero) and leave node with no offset support for now (hardcodded behavior). I am sure that we will need to come back to this, but this should be good enough for now.
Resolved by changing inset (positive or zero) to offset (negative or zero) only. http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=7168447ea27759582ada810fc8cff2314422c11d


27. sqlschema.xml drag & drop column results in ClassCastException.

Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=e5a8ffda80ffc0032a0d0b817911faab8a2cb9c8
Konstantin: Verified


28. When in direct edit mode, pressing a tab should move editing to the next field.

Resolved by http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=8cc53e15b678a8a0c706529d3d931774cb7cd2ef and http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=70129132e6912ac34c1efeb7645b704006d357ec

Note: Pressing tab moves the editing to the next text field in the node, or the first text field in the next adjacent node. When determining the next adjacent node, all the nodes are sorted using the x, y coordinates of the top left corner, from top to bottom and then left to right

Konstantin: Verified


29. NPE at DiagramDeleteActionHandler.java:100 sometimes when deleting shapes in UML editor sample.

Ling: Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=0753d12a83f8f4aaa2397a4bb5b94b5be91d9abc
Konstantin: Verified


30. Default text color should be black. Use "black" rather than "#000000".

Resoved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=378a147d6e0f679be5907cf367fc916b8cc6e8dd
Konstantin: Verified


31. Need to be able to specify Properties View Contribution for a shape factory case. Currently, can only be done at node level.

Shenxue: Since there is no part for shape factory case, the Properties View Contribution is built into shape part. I've augmented sdef editor to allow developers to specify properties page for shapes. http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=3025c8a6a40808a68d4aba9a17e08b577bad32c0
Konstantin: It works, but I don't like how it works. It's too hard to tell where it is actually legal to contribute to the properties page. At least at sdef level, properties view contribution should be on node and shape factory case, not on shape.


32. Need to be able to control selection presentation for the node, similar to what's possible for a shape factory case. Additionally, the background of the selection should be controllable in both cases. The default should probably be no background. (Ling) Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=c75fbd984296aa46b499436d5c39a69e96fb5922
Konstantin: I don't see selection presentation controls for a node in sdef editor, nor do I see selection background control for shape factory case.
Ling: I just rebuilt and verified that they are there. For nodes, the selection presentation options are under Nodes -> entity -> Shape. For shape factory, the selection background section is below selection border under Shape factory -> Case.
Konstantin: Ok. I see it now. Must have been looking at a stale build. But why is inset not available at node level?
Ling: Didn't implement an inset for node because the nodes might be resizable. Seems weird that the resize feedback is different than the actual resize.
Konstantin: I expect inset/offset to work for nodes. Right now, it looks like a hardcodded 1px offset.
Resolved - see 26.


33. Delete all bendpoints action shows up when selected multiple shapes. (Ling) Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=611e32524cb8608d7f6b71a2406bcfb018528ae8

33a. "Delete All Bend Points" menu does not disable/enable when adding/removing bend points.
33b. "Delete All Bend Points" menu is always disabled when select multiple connections.
Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=41a00345af5c2a1d4175ebbce151388de72f409f
33c. "Delete All Bend Points" menu does not update when selection is the same while modifying bend points. Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=81f6f4e8a776a648269f2213dfff561637fd909e


34. In the layout, cell sizes (min, max and preferred) should be after margins are applied, rather than before.

Ling : Not a bug - this is consistent with the SWT GridLayout
Konstantin : Consistency with other layouts is not a goal.
Ling: Yes, but I suspect most of Sapphire users are experienced with SWT GirdLayout and would find the new way to cell size calculation surprising.
Konstantin : Let them be surprised. The goal is to take good ideas from existing layouts and leave the rest behind, so if you are going to argue for the current behavior, convince me that it is the better semantics. Consistency arguments do not sway me.
Ling: Let say the user wants to specify an image size of 32x32 and margin of 2. Let say after testing the margin needs to be increased. Currently, the user changes the margin to 3. But the new way the user needs to modify both the margin to 3 and the preferred image size since the size is inclusive. I also think it is easier to think about adding the margin plus cell size, vs, total size minus the margin.
Konstantin: The size settings reference the size of the cell, not the size of what's contained. Note that in your scenario, there is no reason for the user to be specifying any size settings. Just the margins will do.
Ling: Agree that setting size should be minimized. Let say you want to specify image size in conjunction with visible-when. You are specifying the actual size of the image, not the size plus the margin.
Konstantin: Visible when makes the whole cell disappear, so size settings and margins are not relevant.
Ling: There may not be a reason for the user to specify any size setting, but if they do specify a size setting and a margin for an image, then their image will be clipped by the margin. I fail to articulate what seems so obvious to me.
Konstantin: It only seems obvious because you are used to incorrect usage of the word margins in SWT GridLayout. Think about the meaning of the word margin. My document is 8.5"x11" with 1" margins, not 7.5"x10" with 1" margins. CSS is a better reference point. They have margins and padding. Margins are on the inside. Padding is on the outside.
Ling: Yes, you are right. But there is some validity in "when in Rome, do as the Roman's do." I'm probably not the only person brainwashed by SWT margin and confuse margin with padding.
Konstantin: The layout we have is so drastically different from anything available in SWT that I am not concerned by this. If anyone is confused, they will quickly get unconfused through a bit of trial and error.


35. Spacer part is needed. This part should be treated as a transparent elastic, capable of size from 0 to infinity. All sizing-related layout constraints should apply. Besides the layout constraint, the only user-configurable property should be visible-when.

Shenxue: Resovled http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=d36035cd612678630a8b7bc07d02ac3086dfcb92


36. Validation marker part should handle lack of a validation problem by making the part invisible. Override SapphirePart.initVisibleWhenFunction().

Shenxue: Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=d36035cd612678630a8b7bc07d02ac3086dfcb92
Konstantin: Verified


37. Image part should handle lack of an image by making the part invisible. Override SapphirePart.initVisibleWhenFunction to augment this implicit constraint to whatever the user may have specified.

Shenxue: Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=d36035cd612678630a8b7bc07d02ac3086dfcb92
Konstantin: I don't see ImagePart overriding initVisibleWhenFunction(). Also, there is something weird going on in ImagePart. I am guessing that imagePathFunction and getImagePath() aren't actually needed.
Shenxue: Based on a later discussion, part visibility and null image/text should be handled separately. I've verified the current code handles them correctly.


38. ShapeFactoryPart does not implement computeValidation. It needs to rollup the validation result for the parts that it creates/manages. 

Shenxue: Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=77c456619b043c44276aa27716f5be7b9d071b1d
Konstantin: This only partly works. When new child element is added or removed, the parent validation marker is not updated. Try adding and removing method parameters in the UML sample. Shenxue: Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=17890341599643ef91932e31e76a9bcf19148275
Konstantin: Verified


39. Separator part from a shape factory is selectable. It should not be. You can see this in the UML editor. If you are very precise, you can select the coma between method parameters.

Ling: This was resolved in an earlier checkin.
Konstantin: I am still able to repro the issue.

Resoved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=96895122b78354d41228302e43ebce75301853b8
Ling: Introduced ClassCastException
Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=a2557e7936be868ff742dbfa95bc8d922c630564
Konstantin: Verified


40. Show in source is missing from the context menu of the shape factory case.

Shenxue: Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=14c0c2ce327e13e97d43948d43b15b95916b9f82
Konstantin: Verified


41. In a stacked layout, the first shape controls the dimensions of the stack. This should be ok in many cases, but is inconsistent with how other two orientations work. Expect the dimensions to be established by taking all of the participating shapes into account.

Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=c85d3406a52c9ccfcfa755ef2fcf55d499913a68 Above commit was reverted.

In our stack layout implementation, the first shape controls how the subsequent controls are placed. Thus it makes sense that the first shape controls the dimensions.
Konstantin: The first shape controls nothing. In fact, the first shape may change over time given various dynamic behaviors, such as visible-when. The placement is always relative to the cell, not the first shape, and cell size should be calculated taking all shapes into account.
Ling: This change will not be backward compatible. In the architecture sample, the validator and depends on image's layout constraint is relative to first shape control.
Konstantin: Not sure I understand. Backwards compatible to what? If the first shape is largest, the behavior would be unchanged from today.
Ling: architecture sample will no longer work, as well as task flow in OEPE. This only an issue because the cell is wider than image width.
Konstantin: I don't understand why you are saying that these usecases will not work. If you are saying that they will need tweaking of layout constraints, that doesn't concern me.
Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=71b345c47184550dd6bff07afc5e3f589e4b18d9
Konstantin: Something is still not right with the layout. Looking at the architecture sample, the inner rectangle should not be expanding, but it is. Since the base image is the largest of its children, I expect the inner rectangle to stay pinned to the size of the base image plus margins. The adjustments of the overlay margins should not have been necessary. Let's talk more about this tomorrow.
Shenxue: The architecture sample is designed to have more room for the node label thus the cell size for the image is larger than the image size. The first image(base image) is center aligned horizontally and vertically so there is some padding at the left and right. To place the other images (decorators), it's much easier if the margin is calculated based off the first image compared to margins based off the cell. In order to calculate the margins of the decorators based off the cell, we have to know how large the cell is and how the base image is placed (centered vs left-aligned etc).
Shenxue: more fixes in http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=3487416b7e818b1f0694461d42706f086ea495c5. Please give it a try and let me know if you see issues there.
Konstantin: It's much better, but I still found issues. Pull down my changes before looking at these... (a) margins on inner rectangle aren't equal (4 pixels on left/top and 5 pixels for right/bottom), (b) node with setting overrides shape's capabilities, I set node width to 200 and expand horizontally on both rectangle and text to false, the node width was still 200, expect it to be within the capabilities of the shape.
Shenxue: regarding issue b, there is no size constraints set on either the rectangle or the text. Therefore the allowable max size for them is Integer.MAX_VALUE. The outer rectangle's allowable max size is also the max integer. If a max size constraint is set on a child, e.g., see http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=ccbecb0b3a0d85522f3db3150ef2bd4fa4f6832e, you'll notice the node width of 200 is overridden.
Shenxue: per more discussions on this size constraint issue, I've checked in more fixes http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=2e4f2dd5194c8837fc4b74c5a9b768a43d49d2e6 and http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=225cd61d254fac3994b6e632c2961fca365ebcd1. Issue b should be considered resolved.
Konstantin: Still not working correctly. I set expand horizontally to true for text, but left it false on the inner rectangle. The node size expanded to 200 specified at the node level. All children have to allow the expansion to happen.


42. Gradient background - select only 1 gradient background get NPE. Also sdef UI should check for less than or equals to 2 gradient segments. Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=fd67ae549885a11b928006d5ef4130d0d2f4491b


43. Node -> Shape -> Text, NPE when direct edit. (Ling) Resolved: http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=2f128ecd2c23a5fee7ba0621d3f616d55014e061


44. Node selection outline seems to have one pixel padding on top/left and no padding on bottom/right. (Shenxue)


45. The image shape should allow developers to implement a double-click action. This can be used to implement simple editing behaviors, such as cycling through enum or boolean values when the image is the representation of such properties. In the UML editor, I would like to implement double-click for entity kind image (cycle between class and interface) as well as for field/method accessibility icon. Let's call this action "Sapphire.DoubleTap", since "tap" is more generic than "click" in the days of touch screens. Note that I don't expect Sapphire to provide any action handlers for this action, just the action, so that developers can implement handlers.

Shenxue: Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=cc7f1e67f46b5c12a28d210bd378927a48b228fc
Shenxue: I also added an action handler for the entity kind image to toggle the entity type in the uml sample.
Konstantin: Verified


46. sql schema editor sample, create a new table, resizing the table node, save the diagram, reopen the diagram, the table node is not displayed.

Resolved http://git.eclipse.org/c/sapphire/org.eclipse.sapphire.git/commit/?id=b811105073e9f47754f000e73caeccfb252e171d

Back to the top