lp:~yrke/tapaal/ControllersAndPushdown

Created by Kenneth Yrke Jørgensen and last modified

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:
Merged

Recent revisions

1346. By Kenneth Yrke Jørgensen

Code reformat

1345. By Kenneth Yrke Jørgensen

Merged dev branch

1344. By Kenneth Yrke Jørgensen

Clean from CS seminar

1343. By Kenneth Yrke Jørgensen

created function to set windows size that handles null

prepering refactoring of moving state to controller

1342. By Kenneth Yrke Jørgensen

moved changed spacing from gui to tab

1341. By Kenneth Yrke Jørgensen

Renabled sleeps in open code.

Needs further work to test effect

1340. By Kenneth Yrke Jørgensen

Moved save and close to controller

1339. By Kenneth Yrke Jørgensen

showSavePendingChangesDialog now takes tab as argument

1338. By Kenneth Yrke Jørgensen

added case NO to clearify control flow

1337. By Kenneth Yrke Jørgensen

changed save from taking index to tab

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.