3
import pipe.dataLayer.TAPNQuery;
4
import pipe.dataLayer.Template;
5
import pipe.gui.undo.UndoManager;
6
import dk.aau.cs.model.tapn.TimedArcPetriNet;
7
import dk.aau.cs.model.tapn.TimedArcPetriNetNetwork;
8
import dk.aau.cs.util.Require;
10
public class Context { // TODO: consider having only currentTab as a field and have methods ask it for the things?
11
private final TimedArcPetriNetNetwork network;
12
private final Template selectedTemplate;
14
private final UndoManager undoManager;
15
private final TabContent currentTab;
17
public Context(TabContent tab) {
18
Require.that(tab != null, "tab cannot be null");
19
this.currentTab = tab;
20
this.network = tab.network();
21
this.selectedTemplate = tab.activeTemplate();
22
this.undoManager = tab.drawingSurface().getUndoManager();
25
public TimedArcPetriNetNetwork network(){
29
public TimedArcPetriNet activeModel(){
30
return selectedTemplate.model();
33
public UndoManager undoManager(){
37
public Iterable<TAPNQuery> queries() {
38
return currentTab.queries();
41
public TabContent tabContent() {
45
public NameGenerator nameGenerator() {
46
return currentTab.drawingSurface().getNameGenerator();