|
@@ -1,4 +1,4 @@
|
|
|
-package ui.view;
|
|
|
+package ui.view.outliner;
|
|
|
|
|
|
import java.awt.BorderLayout;
|
|
|
import java.awt.Color;
|
|
@@ -27,27 +27,34 @@ import ui.model.MinimumNetwork;
|
|
|
import ui.model.Model;
|
|
|
import ui.model.Passiv;
|
|
|
import ui.model.Supplier;
|
|
|
+import utility.Event;
|
|
|
import utility.ImageImport;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
public class Outliner extends JFrame {
|
|
|
- private static final long serialVersionUID = 1L;
|
|
|
JTabbedPane tabbedPane = new JTabbedPane();
|
|
|
JPanel listPanel = new JPanel(new BorderLayout());
|
|
|
JPanel statePanel = new JPanel(new BorderLayout());
|
|
|
+ Event outlinerUpdate = new Event();
|
|
|
+
|
|
|
+ HolonView holonView;
|
|
|
public boolean isClosed = false;
|
|
|
ArrayList<MinimumNetwork> list;
|
|
|
- Outliner(JFrame parentFrame, Model model, Control controller){
|
|
|
+ public Outliner(JFrame parentFrame, Model model, Control control){
|
|
|
setBounds(0, 0, 400, parentFrame.getHeight());
|
|
|
this.setIconImage(ImageImport.loadImage("/Images/Holeg.png", 30, 30));
|
|
|
this.setTitle("Outliner");
|
|
|
setLocationRelativeTo(parentFrame);
|
|
|
this.setVisible(true);
|
|
|
- repaintWithDecoratedState(controller.getSimManager().getActualDecorState());
|
|
|
+ repaintWithDecoratedState(control.getSimManager().getActualDecorState());
|
|
|
this.getContentPane().add(tabbedPane);
|
|
|
this.addWindowListener(new java.awt.event.WindowAdapter() {
|
|
|
@Override
|
|
@@ -57,10 +64,11 @@ public class Outliner extends JFrame {
|
|
|
});
|
|
|
tabbedPane.addTab("List", listPanel);
|
|
|
tabbedPane.addTab("State", statePanel);
|
|
|
+ tabbedPane.addTab("Holon", holonView = new HolonView(this, control));
|
|
|
}
|
|
|
|
|
|
public void repaintWithDecoratedState(DecoratedState decoratedState) {
|
|
|
-
|
|
|
+ outlinerUpdate.broadcast();
|
|
|
listPanel.removeAll();
|
|
|
statePanel.removeAll();
|
|
|
DefaultMutableTreeNode topListPanel = new DefaultMutableTreeNode();
|
|
@@ -78,10 +86,6 @@ public class Outliner extends JFrame {
|
|
|
switches.add(new DefaultMutableTreeNode(dSwitch.getModel().getName()));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- nodes.add(new DefaultMutableTreeNode(node.getName()));
|
|
|
- }*/
|
|
|
-
|
|
|
for(DecoratedNetwork dNet: decoratedState.getNetworkList()) {
|
|
|
DefaultMutableTreeNode network = new DefaultMutableTreeNode("Network");
|
|
|
if(!dNet.getConsumerList().isEmpty() || !dNet.getConsumerSelfSuppliedList().isEmpty()) {
|
|
@@ -119,47 +123,15 @@ public class Outliner extends JFrame {
|
|
|
cables.add(new DefaultMutableTreeNode(cable.getModel().toString()));
|
|
|
}
|
|
|
|
|
|
+ listPanel.add(TreeUtils.makePanelFromNode(topListPanel));
|
|
|
+ statePanel.add(TreeUtils.makePanelFromNode(topStatePanel));
|
|
|
|
|
|
- JTree listTree = new JTree(topListPanel);
|
|
|
- signIconsForTree(listTree);
|
|
|
- listTree.setRootVisible(false);
|
|
|
- for (int i = 0; i < listTree.getRowCount(); i++) {
|
|
|
- listTree.expandRow(i);
|
|
|
- }
|
|
|
- JScrollPane listScroller = new JScrollPane(listTree);
|
|
|
- listPanel.add(listScroller);
|
|
|
-
|
|
|
- JTree stateTree = new JTree(topStatePanel);
|
|
|
- signIconsForTree(stateTree);
|
|
|
- stateTree.setRootVisible(false);
|
|
|
- for (int i = 0; i < stateTree.getRowCount(); i++) {
|
|
|
- stateTree.expandRow(i);
|
|
|
- }
|
|
|
- statePanel.add(new JScrollPane(stateTree));
|
|
|
-
|
|
|
- listPanel.revalidate();;
|
|
|
+ listPanel.revalidate();
|
|
|
statePanel.revalidate();
|
|
|
listPanel.repaint();
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- private void signIconsForTree(JTree t) {
|
|
|
- ImageIcon ClosedIcon = new ImageIcon(ImageImport.loadImage("/Button_Images/Close.png",9,9));
|
|
|
- ImageIcon OpenIcon = new ImageIcon(ImageImport.loadImage("/Button_Images/Open.png",9,9));
|
|
|
- ImageIcon LeafIcon = new ImageIcon(ImageImport.loadImage("/Button_Images/Leaf.png",9,9));
|
|
|
- if (ClosedIcon != null && OpenIcon != null && LeafIcon!= null) {
|
|
|
- DefaultTreeCellRenderer renderer =
|
|
|
- new DefaultTreeCellRenderer();
|
|
|
- renderer.setClosedIcon(ClosedIcon);
|
|
|
- renderer.setOpenIcon(OpenIcon);
|
|
|
- renderer.setLeafIcon(LeafIcon);
|
|
|
- t.setCellRenderer(renderer);
|
|
|
- }
|
|
|
- }
|
|
|
|
|
|
class MyTreeModelListener implements TreeModelListener {
|
|
|
|