diff --git a/AlgebraicDataflowArchitectureModel/src/application/ApplicationWindow.java b/AlgebraicDataflowArchitectureModel/src/application/ApplicationWindow.java index 63324d0..9dc8998 100644 --- a/AlgebraicDataflowArchitectureModel/src/application/ApplicationWindow.java +++ b/AlgebraicDataflowArchitectureModel/src/application/ApplicationWindow.java @@ -5,6 +5,7 @@ import javax.swing.JFrame; +import application.views.NavigationWindow; import com.mxgraph.model.mxCell; import com.mxgraph.model.mxGeometry; import com.mxgraph.model.mxGraphModel; @@ -28,6 +29,7 @@ private mxGraphComponent graphComponent = null; private ApplicationMenuBar menuBar = null; + private NavigationWindow navigationWindow; public ApplicationWindow() { setTitle(title); @@ -76,6 +78,9 @@ menuBar = new ApplicationMenuBar(this); setJMenuBar(menuBar); setSize(870, 640); + + navigationWindow = new NavigationWindow(this, editor); + navigationWindow.setVisible(true); } public mxGraph getGraph() { diff --git a/AlgebraicDataflowArchitectureModel/src/application/views/NavigationWindow.java b/AlgebraicDataflowArchitectureModel/src/application/views/NavigationWindow.java new file mode 100644 index 0000000..df44a0b --- /dev/null +++ b/AlgebraicDataflowArchitectureModel/src/application/views/NavigationWindow.java @@ -0,0 +1,67 @@ +package application.views; + +import application.ApplicationWindow; +import application.editor.Editor; +import application.editor.IStageChangeListener; +import application.editor.Stage; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class NavigationWindow extends JDialog implements IStageChangeListener { + private String title = "Navigation"; + private Editor editor; + private JToggleButton dataFlowModelingButton; + private JToggleButton pushPullSelectionButton; + private boolean forbidReentry = false; + + public NavigationWindow(ApplicationWindow owner, Editor editor) { + super(owner); + this.editor = editor; + dataFlowModelingButton = new JToggleButton("Data Flow Modeling"); + pushPullSelectionButton = new JToggleButton("Push Pull Selection"); + dataFlowModelingButton.addActionListener(new DataFlowModelingButtonListener()); + pushPullSelectionButton.addActionListener(new PushPullSelectionButtonListener()); + pushPullSelectionButton.setEnabled(false); + dataFlowModelingButton.setSelected(true); + + setTitle(title); + setDefaultCloseOperation(HIDE_ON_CLOSE); + Container panel = getContentPane(); + panel.setLayout(new GridLayout(2, 1)); + + ButtonGroup group = new ButtonGroup(); + group.add(dataFlowModelingButton); + group.add(pushPullSelectionButton); + panel.add(dataFlowModelingButton); + panel.add(pushPullSelectionButton); + + pack(); + + Point location = new Point(owner.getX() + (owner.getWidth() / 2) - (this.getWidth() / 2), owner.getY() + (owner.getHeight() / 2) - (this.getHeight() / 2)); + setLocation(location); + + setResizable(false); + } + + @Override + public void stageChanged(Stage newStage) { + // TODO Implement + } + + private class DataFlowModelingButtonListener implements ActionListener { + @Override + public void actionPerformed(ActionEvent e) { + // TODO Implement + } + } + + private class PushPullSelectionButtonListener implements ActionListener { + @Override + public void actionPerformed(ActionEvent e) { + // TODO Implement + } + } +}