Ticket #95 (closed defect: fixed)

Opened 4 months ago

Last modified 3 months ago

undo does not work properly with classifier associations

Reported by: wrobe..@pld-linux.org Assigned to: arj..@yirdis.nl
Priority: critical Milestone: Gaphor 0.13.0
Component: Gaphor Version:
Keywords: Cc:

Description

  • put two classes on a diagram
  • create an association between them
  • remove association with bs or del key
  • press c-z to undelete change
  • press c-z again

above will result in exceptions on the console and unsynchronized model tree view with model itself.

Attachments

Change History

01/21/08 00:20:05 changed by arj..@yirdis.nl

  • status changed from new to assigned.
  • milestone set to Gaphor 0.13.0.

In the trunk version, no error is raised when undoing. Only deletion of the association results in the association ends (Properties) being shown as attributes, instead of being deleted.

01/21/08 00:37:23 changed by arj..@yirdis.nl

Looks like Property.owningAssociation is not set. Therefore there is no composite relation between the property and association object, hence it is not removed as soon as the association is removed.

01/21/08 01:05:41 changed by arj..@yirdis.nl

Indeed the 0.12 code is less predictable. It will be a tough job to trace that down.

02/09/08 05:35:27 changed by arj..@yirdis.nl

There is still an issue with associations and undo. This is a more general problem that also occurs with line-like relationship objects:

  • create two classes/interface/actions
  • Create a relationship between those two
  • delete the relationship with bs or del
  • undo (ctrl-z)

This will cause the relationship to appear as expected, only the handles at the end are not connected. Note that the relationship is made on model level though.

This probably has something to do with when a handle is disconnected. This should be done before the relationship itself is removed from the canvas.

02/13/08 01:55:22 changed by arj..@yirdis.nl

  • status changed from assigned to closed.
  • resolution set to fixed.

(In [2214]) * incremented version to 0.3.5

  • made Item.canvas read-only (can be set by calling Canvas.add() and Canvas.remove())
  • fixed unit tests
  • looks like this is a fixes #95

02/13/08 01:59:03 changed by arj..@yirdis.nl

Seemed like it was an issue in Gaphas after all. By making the item-canvas connection protocol stricter it was possible to remove @observed from the Item.canvas setter.


Add/Change #95 (undo does not work properly with classifier associations)




Action