|
@@ -3,6 +3,8 @@ package ui.view;
|
|
|
import java.io.File;
|
|
|
import java.text.AttributedCharacterIterator;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
+
|
|
|
import javax.swing.JFrame;
|
|
|
import javax.swing.JLabel;
|
|
|
import javax.swing.JMenuBar;
|
|
@@ -10,6 +12,7 @@ import javax.swing.JMenu;
|
|
|
import javax.swing.JMenuItem;
|
|
|
import javax.swing.JOptionPane;
|
|
|
import javax.swing.JTree;
|
|
|
+import javax.swing.BorderFactory;
|
|
|
import javax.swing.BoxLayout;
|
|
|
import javax.swing.JSplitPane;
|
|
|
import javax.swing.JScrollPane;
|
|
@@ -62,6 +65,7 @@ import java.awt.event.ActionListener;
|
|
|
import java.awt.event.MouseAdapter;
|
|
|
import java.awt.event.MouseEvent;
|
|
|
import java.awt.image.ImageObserver;
|
|
|
+import java.awt.peer.MouseInfoPeer;
|
|
|
import java.beans.PropertyChangeEvent;
|
|
|
import java.beans.PropertyChangeListener;
|
|
|
import java.awt.event.ActionEvent;
|
|
@@ -92,8 +96,6 @@ public class GUI implements CategoryListener {
|
|
|
|
|
|
private final JTree tree = new JTree();
|
|
|
private final JEditorPane dtrpnHereWillBe = new JEditorPane();
|
|
|
- private final JSplitPane splitPane_2 = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
|
|
|
-
|
|
|
/******************************************
|
|
|
************* Right Container*************
|
|
|
******************************************/
|
|
@@ -149,8 +151,11 @@ public class GUI implements CategoryListener {
|
|
|
private MyCanvas canvas;
|
|
|
private UnitGraph testgraph; // for testing, remove later
|
|
|
private final JSplitPane splitPane_3 = new JSplitPane();
|
|
|
- private final JSlider slider = new JSlider();
|
|
|
+ private final JSlider sizeSlider = new JSlider();
|
|
|
private final JLabel lblImageSize = new JLabel("Image Size");
|
|
|
+ private final JSlider timeSlider = new JSlider();
|
|
|
+ private final JPanel timePanel = new JPanel();
|
|
|
+ private final JButton playBtn = new JButton();
|
|
|
|
|
|
/**
|
|
|
* Create the application.
|
|
@@ -194,18 +199,18 @@ public class GUI implements CategoryListener {
|
|
|
|
|
|
mnNewMenu_3.add(splitPane_3);
|
|
|
|
|
|
- slider.setMinimum(15);
|
|
|
- slider.setMaximum(115);
|
|
|
- slider.addChangeListener(new ChangeListener() {
|
|
|
+ sizeSlider.setMinimum(15);
|
|
|
+ sizeSlider.setMaximum(115);
|
|
|
+ sizeSlider.addChangeListener(new ChangeListener() {
|
|
|
@Override
|
|
|
public void stateChanged(ChangeEvent e) {
|
|
|
- controller.setScale(slider.getValue());
|
|
|
+ controller.setScale(sizeSlider.getValue());
|
|
|
tree.setRowHeight(model.getScale());
|
|
|
canvas.objectSelectionHighlighting();
|
|
|
canvas.repaint();
|
|
|
}
|
|
|
});
|
|
|
- splitPane_3.setRightComponent(slider);
|
|
|
+ splitPane_3.setRightComponent(sizeSlider);
|
|
|
|
|
|
splitPane_3.setLeftComponent(lblImageSize);
|
|
|
|
|
@@ -600,6 +605,29 @@ public class GUI implements CategoryListener {
|
|
|
split_Graph_HolonEl.setTopComponent(scrollGraph);
|
|
|
split_Graph_HolonEl.setBottomComponent(scrollElements);
|
|
|
|
|
|
+ timePanel.setLayout(new BorderLayout(0, 0));
|
|
|
+ timeSlider.setPaintTicks(true);
|
|
|
+ timeSlider.setPaintLabels(true);
|
|
|
+ timeSlider.setMinorTickSpacing(1);
|
|
|
+ timeSlider.setToolTipText("");
|
|
|
+
|
|
|
+ timeSlider.setMinimum(1);
|
|
|
+ timeSlider.setMaximum(50);
|
|
|
+ timeSlider.setValue(1);
|
|
|
+
|
|
|
+ playBtn.setBorder(BorderFactory.createEmptyBorder());
|
|
|
+ playBtn.setIcon(new ImageIcon(new ImageIcon(this.getClass().getResource("/Images/node.png")).getImage()
|
|
|
+ .getScaledInstance(30, 30, Image.SCALE_SMOOTH)));
|
|
|
+ playBtn.addActionListener(new ActionListener() {
|
|
|
+ public void actionPerformed(ActionEvent ae) {
|
|
|
+ timeSlider.setValue(timeSlider.getValue() + 1);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ timePanel.add(playBtn, BorderLayout.WEST);
|
|
|
+ timePanel.add(timeSlider);
|
|
|
+
|
|
|
+ frmCyberPhysical.getContentPane().add(timePanel, BorderLayout.SOUTH);
|
|
|
}
|
|
|
|
|
|
/*
|