Page MenuHomePhabricator

Dead state in PlanarFigureInteraction for 'read-only' PlanarFigures
Closed, ResolvedPublic

Description

If you have a PlanarFigure that is 'read-only' (has bool-property 'planarfigure.iseditable' == false) and click onto a control-point, the state-machine enters a dead-state that cannot be exited again.
You will enter the state 'FigurePaced' that has no transition that can be triggered with a 'read-only' figure.

To fix this, an additional condition shall be added 'figure_is_editable' that can be used to prevent the StateMachine to enter the dead-state.

An additional issue is with 'PlanarCross' measurements, as the condition 'reset_on_point_select_needed' that is only used for PlanarCrosses is not a real condition but also does the actual action. So, if another condition in the transition blocks the transition, the figure will still be modified.

To fix this, the current condition 'reset_on_point_select_needed' shall call a new method on PlanarFigure that ONLY CHECKS if the 'point reset' is necessary but not do it.

Event Timeline

User engelm has pushed new remote branch:

bug-19803-fix-deadstate-in-planarfigureInteractor

[e06a92]: Merge branch 'bug-19803-fix-deadstate-in-planarfigureInteractor'

Merged commits:

2016-06-27 09:10:29 Markus Engel [f3a1a2]
fixed dead-state, added condition 'figure_is_editable'

[494c51]: COMP: Merge branch 'bug-19803-fix-deadstate-in-planarfigureInteractor'

Merged commits:

2016-06-27 12:17:51 Markus Engel [df9d39]
fixed warnings treated as error

[27aa70]: COMP: Merge branch 'bug-19803-fix-deadstate-in-planarfigureInteractor'

Merged commits:

2016-06-27 14:08:55 Markus Engel [93ae0b]
fixed more warnings handled as errors