lp:~yrke/tapaal/ControllersAndPushdown

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

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
  - Changed how 0,Inf intervals are exported to strings.

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)
  - test tikz export of modles when having 0,inf intervals and setting hide 0,inf intervals on.

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

1266. By Kenneth Yrke Jørgensen on 2019-11-14

Removed what seems to be unneeded calls to repaint

1265. By Kenneth Yrke Jørgensen on 2019-11-13

TabComponent now takes an close action, insted of using staic acceser via guiframe

1264. By Kenneth Yrke Jørgensen on 2019-11-13

Depricated all static accessors

1263. By Kenneth Yrke Jørgensen on 2019-11-12

Removed unneded null check

1262. By Kenneth Yrke Jørgensen on 2019-11-12

Fixes issue where inhibArc toggle button was not corretly toggled when selecting inhibarc

Issue did not affect drawing

1261. By Kenneth Yrke Jørgensen on 2019-11-12

Animation StepBack/Forward status is now set when chaning to animation mode and chaning tabs

1260. By Kenneth Yrke Jørgensen on 2019-11-12

Animator now uses field to access tab instead of static accessor via createGui

1259. By Kenneth Yrke Jørgensen on 2019-11-12

updateMouseOverInformation now uses getModel instead of static acces via CreateGui

Also added a note to move this function away when refactoring next

1258. By Kenneth Yrke Jørgensen on 2019-11-12

Not needed to set selectMode, is done when chaning to tab

1257. By Kenneth Yrke Jørgensen on 2019-11-12

Animation history no longer uses static access to tab (now uses this)

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.