lp:~yrke/tapaal/ControllersAndPushdown

Created by Kenneth Yrke Jørgensen on 2019-07-06 and last modified on 2019-09-06

Goal:
To encapsulate more behavior in guiTab, guiView and drawingsurface, into "controllers", and make sure that bahaviour can be changes between tabs.

Changes:
  - UndoManager should not know about guiView or models,
      - Moved delete and translate selection from Undomanager to drawingsurface.
      - Changed check for pending arc draw
      - Removed links to view and models
  - Moved UndoManager from view til TabContent
  - move variable for animation mode out of view, to tab
  - Moved annimation controller from guiFrame to TabContent
  - GuiFrame sets App in tabContent when changing to it, this allows the tab to update the global App state.
  - no longer calls verifyAction.setEnabled(getCurrentTab().isQueryPossible()) was done in restore mode, might not
activate querys right. Seems to work correctly.
  - Moved setMode form Action to function setMode and changed calulation of selected actions
  - SelectionManager is now triggered by mouse events, instead of globally by mode
    - Adds/removes itself from drawingsurface as needed
    - Selection manager used to cover the entire drawingsurface when enabled, now only covers the selection box
    - mouse event are now handled in drawingsurface insted of in a selectionoManager (se above)
     - Added new PrototypeCanvas layer to use for pending draws not yet added to the model,
eg pending arcs.
   - moved drawingsurface to new package, and made interface canvas used in datalyaer
  - Removed custom impl of drag on Arc's, -> you can now drag selection by dragging arc

Bugfixes:
  - fixed an issue with drag not updating coursor correctly and somtimes not working
  - fixed an issue where zoom combox would not be correctly updated when closing a tab

Features:
  - Changing tabs no longer cancels animation mode, animation continues when switching back to tab
  - You can now drag an selected arc to move elements

Tests:
  - Test undo/redo
  - test animation mode (start, close), change tab etc.
  - changing of tabs, updates zoom and actions (zoom buttons, and arc buttons etc)
   - test that query run status is corretly updated
  - change drawing tools, animation mode, and select mode (check the correct elements are drawn)

Possible bugs
  - When changing between modes, the wrong mode might be selected, or other actions might not be correctly deselected

TODO:
  [] Start/exit anitmation at some point did throw an execption?!?
  [] change tab while in animation mode, does not reset the animation mode coloring in net changed from

??

Get this branch:
bzr branch lp:~yrke/tapaal/ControllersAndPushdown
Only Kenneth Yrke Jørgensen can upload to this branch. If you are Kenneth Yrke Jørgensen please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Kenneth Yrke Jørgensen
Project:
TAPAAL
Status:
Development

Recent revisions

1133. By Kenneth Yrke Jørgensen on 2019-09-06

Pushed toggleAttributesVisible up from Transition/Place to PlaceTransitionObject

1132. By Kenneth Yrke Jørgensen on 2019-09-06

Added explisit call to super

1131. By Kenneth Yrke Jørgensen on 2019-09-06

Added explicit call to super

1130. By Kenneth Yrke Jørgensen on 2019-09-06

Removed unneded call to updateSize in NameLabel and made updateSize private

1129. By Kenneth Yrke Jørgensen on 2019-09-06

Encapsulted zoom can only be accessed using getZoom

1128. By Kenneth Yrke Jørgensen on 2019-09-05

Fixed bug where arcpath points where not added back to canvas when changing template

1127. By Kenneth Yrke Jørgensen on 2019-09-05

Added revalitet/repaint when changing temapltes

1126. By Kenneth Yrke Jørgensen on 2019-09-05

Zoom is no longer set on copy

1125. By Kenneth Yrke Jørgensen on 2019-09-05

Removed unused function

1124. By Kenneth Yrke Jørgensen on 2019-09-05

Changed hardcode set of zoom value on create to call zoomUpdated and fixed bug where
a new arc would be drawn from source to 0,0.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:tapaal
This branch contains Public information 
Everyone can see this information.