|
@@ -27,7 +27,6 @@ import java.io.IOException;
|
|
import java.net.URI;
|
|
import java.net.URI;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Collection;
|
|
import java.util.Collection;
|
|
-import java.util.Optional;
|
|
|
|
import java.util.logging.Logger;
|
|
import java.util.logging.Logger;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -39,7 +38,6 @@ import javax.swing.InputMap;
|
|
import javax.swing.JButton;
|
|
import javax.swing.JButton;
|
|
import javax.swing.JCheckBoxMenuItem;
|
|
import javax.swing.JCheckBoxMenuItem;
|
|
import javax.swing.JComponent;
|
|
import javax.swing.JComponent;
|
|
-import javax.swing.JDialog;
|
|
|
|
import javax.swing.JFileChooser;
|
|
import javax.swing.JFileChooser;
|
|
import javax.swing.JFrame;
|
|
import javax.swing.JFrame;
|
|
import javax.swing.JLabel;
|
|
import javax.swing.JLabel;
|
|
@@ -67,7 +65,6 @@ import org.apache.commons.compress.archivers.ArchiveException;
|
|
import com.google.gson.JsonParseException;
|
|
import com.google.gson.JsonParseException;
|
|
|
|
|
|
import holeg.model.AbstractCanvasObject;
|
|
import holeg.model.AbstractCanvasObject;
|
|
-import holeg.model.Edge;
|
|
|
|
import holeg.model.GroupNode;
|
|
import holeg.model.GroupNode;
|
|
import holeg.model.HolonObject;
|
|
import holeg.model.HolonObject;
|
|
import holeg.model.HolonSwitch;
|
|
import holeg.model.HolonSwitch;
|
|
@@ -75,20 +72,18 @@ import holeg.preferences.ColorPreference;
|
|
import holeg.ui.controller.Control;
|
|
import holeg.ui.controller.Control;
|
|
import holeg.ui.model.GuiSettings;
|
|
import holeg.ui.model.GuiSettings;
|
|
import holeg.ui.model.IdCounter;
|
|
import holeg.ui.model.IdCounter;
|
|
-import holeg.ui.model.Model;
|
|
|
|
import holeg.ui.model.IdCounter.CounterType;
|
|
import holeg.ui.model.IdCounter.CounterType;
|
|
|
|
+import holeg.ui.model.Model;
|
|
import holeg.ui.model.Model.FairnessModel;
|
|
import holeg.ui.model.Model.FairnessModel;
|
|
import holeg.ui.view.canvas.AbstractCanvas;
|
|
import holeg.ui.view.canvas.AbstractCanvas;
|
|
import holeg.ui.view.canvas.Canvas;
|
|
import holeg.ui.view.canvas.Canvas;
|
|
-import holeg.ui.view.canvas.GroupNodeCanvas;
|
|
|
|
import holeg.ui.view.component.ButtonTabComponent;
|
|
import holeg.ui.view.component.ButtonTabComponent;
|
|
import holeg.ui.view.dialog.AboutUsPopUp;
|
|
import holeg.ui.view.dialog.AboutUsPopUp;
|
|
import holeg.ui.view.dialog.AddObjectPopUp;
|
|
import holeg.ui.view.dialog.AddObjectPopUp;
|
|
import holeg.ui.view.dialog.CanvasResizePopUp;
|
|
import holeg.ui.view.dialog.CanvasResizePopUp;
|
|
import holeg.ui.view.dialog.CreateNewDialog;
|
|
import holeg.ui.view.dialog.CreateNewDialog;
|
|
-import holeg.ui.view.dialog.EditEdgesPopUp;
|
|
|
|
-import holeg.ui.view.dialog.SearchPopUp;
|
|
|
|
import holeg.ui.view.dialog.CreateNewDialog.Option;
|
|
import holeg.ui.view.dialog.CreateNewDialog.Option;
|
|
|
|
+import holeg.ui.view.dialog.EditEdgesPopUp;
|
|
import holeg.ui.view.information.HolonInformationPanel;
|
|
import holeg.ui.view.information.HolonInformationPanel;
|
|
import holeg.ui.view.inspector.Inspector;
|
|
import holeg.ui.view.inspector.Inspector;
|
|
import holeg.ui.view.inspector.UnitGraph;
|
|
import holeg.ui.view.inspector.UnitGraph;
|
|
@@ -210,7 +205,6 @@ public class GUI {
|
|
private final JMenuItem mntmUndo = new JMenuItem("Undo");
|
|
private final JMenuItem mntmUndo = new JMenuItem("Undo");
|
|
private final JMenuItem mntmRedo = new JMenuItem("Redo");
|
|
private final JMenuItem mntmRedo = new JMenuItem("Redo");
|
|
private final JMenuItem mntmEditEdges = new JMenuItem("Edge Properties");
|
|
private final JMenuItem mntmEditEdges = new JMenuItem("Edge Properties");
|
|
- private final JMenuItem mntmFindReplace = new JMenuItem("Find/ Replace");
|
|
|
|
private final JMenuItem mntmAlignAll = new JMenuItem("Align All");
|
|
private final JMenuItem mntmAlignAll = new JMenuItem("Align All");
|
|
private final JMenuItem mntmResetCategory = new JMenuItem("Reset Categories");
|
|
private final JMenuItem mntmResetCategory = new JMenuItem("Reset Categories");
|
|
// TODO(Tom2021-12-1) make GUI a JFRAME and remove holegJFrame
|
|
// TODO(Tom2021-12-1) make GUI a JFRAME and remove holegJFrame
|
|
@@ -219,7 +213,7 @@ public class GUI {
|
|
// tabbedPaneOriginal or tabbedPaneSplit
|
|
// tabbedPaneOriginal or tabbedPaneSplit
|
|
private JTabbedPane tabTemp;
|
|
private JTabbedPane tabTemp;
|
|
private String catOfObjToBeEdited;
|
|
private String catOfObjToBeEdited;
|
|
- private GroupNodeCanvas unc;
|
|
|
|
|
|
+ private Canvas unc;
|
|
private JPanel contentPane;
|
|
private JPanel contentPane;
|
|
// Pop up Windows
|
|
// Pop up Windows
|
|
private AddObjectPopUp addObjectPopUP;
|
|
private AddObjectPopUp addObjectPopUP;
|
|
@@ -257,10 +251,11 @@ public class GUI {
|
|
control.setGui(this);
|
|
control.setGui(this);
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
this.unitGraph = new UnitGraph(control);
|
|
this.unitGraph = new UnitGraph(control);
|
|
- this.canvas = new Canvas(model, control, unitGraph);
|
|
|
|
|
|
+ this.canvas = new Canvas(control, unitGraph, model.getCanvas());
|
|
initialize();
|
|
initialize();
|
|
updateCategories(GuiSettings.getCategories());
|
|
updateCategories(GuiSettings.getCategories());
|
|
control.OnCategoryChanged.addListener(() -> this.updateCategoryUI(GuiSettings.getCategories()));
|
|
control.OnCategoryChanged.addListener(() -> this.updateCategoryUI(GuiSettings.getCategories()));
|
|
|
|
+ this.unc = this.canvas;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -372,14 +367,11 @@ public class GUI {
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
Component canvasOrUpperNodeCanvas = scrollPane.getViewport().getComponent(0);
|
|
Component canvasOrUpperNodeCanvas = scrollPane.getViewport().getComponent(0);
|
|
|
|
|
|
- if (canvasOrUpperNodeCanvas instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ if (canvasOrUpperNodeCanvas instanceof Canvas groupNodeCanvas) {
|
|
control.addSelectedObjects(
|
|
control.addSelectedObjects(
|
|
groupNodeCanvas.getGroupNode().getObjectsInThisLayer().collect(Collectors.toSet()));
|
|
groupNodeCanvas.getGroupNode().getObjectsInThisLayer().collect(Collectors.toSet()));
|
|
groupNodeCanvas.repaint();
|
|
groupNodeCanvas.repaint();
|
|
// or Canvas?
|
|
// or Canvas?
|
|
- } else if (canvasOrUpperNodeCanvas instanceof Canvas) {
|
|
|
|
- control.addSelectedObjects(model.getObjectsOnCanvas());
|
|
|
|
- canvas.repaint();
|
|
|
|
}
|
|
}
|
|
control.getObjectsInDepth();
|
|
control.getObjectsInDepth();
|
|
}
|
|
}
|
|
@@ -404,7 +396,7 @@ public class GUI {
|
|
// complete re-evaluation of the net)
|
|
// complete re-evaluation of the net)
|
|
boolean wasProducerDeleted = true;
|
|
boolean wasProducerDeleted = true;
|
|
|
|
|
|
- if (canvasOrUpperNodeCanvas instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ if (canvasOrUpperNodeCanvas instanceof Canvas groupNodeCanvas) {
|
|
for (AbstractCanvasObject cps : GuiSettings.getSelectedObjects()) {
|
|
for (AbstractCanvasObject cps : GuiSettings.getSelectedObjects()) {
|
|
if (groupNodeCanvas.getGroupNode().getObjectsInThisLayer().anyMatch(object -> object == cps)) {
|
|
if (groupNodeCanvas.getGroupNode().getObjectsInThisLayer().anyMatch(object -> object == cps)) {
|
|
control.deleteObjectInGroupNode(cps, groupNodeCanvas.getGroupNode());
|
|
control.deleteObjectInGroupNode(cps, groupNodeCanvas.getGroupNode());
|
|
@@ -416,25 +408,6 @@ public class GUI {
|
|
}
|
|
}
|
|
groupNodeCanvas.repaint();
|
|
groupNodeCanvas.repaint();
|
|
control.clearSelection();
|
|
control.clearSelection();
|
|
-
|
|
|
|
- // or Canvas?
|
|
|
|
- } else if (canvasOrUpperNodeCanvas instanceof Canvas canvasPanel) {
|
|
|
|
- // Edge Deleting
|
|
|
|
- Optional<Edge> edgeHighlight = GuiSettings.getSelectedEdges().stream().findAny();
|
|
|
|
- edgeHighlight.ifPresent(edge -> {
|
|
|
|
- control.removeEdgesOnCanvas(edge);
|
|
|
|
- // TODO(Tom2021-12-20): Convert to Optional
|
|
|
|
- canvasPanel.edgeHighlight = null;
|
|
|
|
- });
|
|
|
|
- canvas.setToolTip(false);
|
|
|
|
- for (AbstractCanvasObject cps : GuiSettings.getSelectedObjects()) {
|
|
|
|
- control.delCanvasObject(cps, false);
|
|
|
|
- // remove UpperNodeTab if UpperNode deleted
|
|
|
|
- removeUpperNodeTab(cps);
|
|
|
|
- }
|
|
|
|
- control.clearSelection();
|
|
|
|
- control.tryAutoSave();
|
|
|
|
- canvas.repaint();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
// recalculate net if a producer was deleted
|
|
// recalculate net if a producer was deleted
|
|
@@ -446,21 +419,6 @@ public class GUI {
|
|
GuiSettings.getSelectedObjects().clear();
|
|
GuiSettings.getSelectedObjects().clear();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
-
|
|
|
|
- String cntrlFDown = "controlF";
|
|
|
|
- inputMap.put(KeyStroke.getKeyStroke("control F"), cntrlFDown);
|
|
|
|
- actionMap.put(cntrlFDown, new AbstractAction() {
|
|
|
|
-
|
|
|
|
- private static final long serialVersionUID = 1L;
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public void actionPerformed(ActionEvent e) {
|
|
|
|
- SearchPopUp dialog = new SearchPopUp(control, canvas, holegJFrame);
|
|
|
|
- dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
|
|
|
- dialog.setVisible(true);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
String cntrlCDown = "controlC";
|
|
String cntrlCDown = "controlC";
|
|
inputMap.put(KeyStroke.getKeyStroke("control C"), cntrlCDown);
|
|
inputMap.put(KeyStroke.getKeyStroke("control C"), cntrlCDown);
|
|
AbstractAction controlC = new AbstractAction() {
|
|
AbstractAction controlC = new AbstractAction() {
|
|
@@ -472,7 +430,7 @@ public class GUI {
|
|
System.out.println("heiCopy - control C");
|
|
System.out.println("heiCopy - control C");
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
if (!GuiSettings.getSelectedObjects().isEmpty()) {
|
|
if (!GuiSettings.getSelectedObjects().isEmpty()) {
|
|
- if (scrollPane.getViewport().getComponent(0)instanceof GroupNodeCanvas groupNodeCanvas)
|
|
|
|
|
|
+ if (scrollPane.getViewport().getComponent(0)instanceof Canvas groupNodeCanvas)
|
|
control.copy(groupNodeCanvas.getGroupNode());
|
|
control.copy(groupNodeCanvas.getGroupNode());
|
|
else
|
|
else
|
|
control.copy(null);
|
|
control.copy(null);
|
|
@@ -503,7 +461,7 @@ public class GUI {
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
Component canvasOrUpperNodeCanvas = scrollPane.getViewport().getComponent(0);
|
|
Component canvasOrUpperNodeCanvas = scrollPane.getViewport().getComponent(0);
|
|
|
|
|
|
- if (tabTemp != null && canvasOrUpperNodeCanvas instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ if (tabTemp != null && canvasOrUpperNodeCanvas instanceof Canvas groupNodeCanvas) {
|
|
|
|
|
|
control.paste(groupNodeCanvas.getGroupNode(), canvasOrUpperNodeCanvas.getMousePosition());
|
|
control.paste(groupNodeCanvas.getGroupNode(), canvasOrUpperNodeCanvas.getMousePosition());
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
@@ -532,7 +490,7 @@ public class GUI {
|
|
chooseTabTemp();
|
|
chooseTabTemp();
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
if (!GuiSettings.getSelectedObjects().isEmpty()) {
|
|
if (!GuiSettings.getSelectedObjects().isEmpty()) {
|
|
- if (scrollPane.getViewport().getComponent(0)instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ if (scrollPane.getViewport().getComponent(0)instanceof Canvas groupNodeCanvas) {
|
|
control.cut(groupNodeCanvas.getGroupNode());
|
|
control.cut(groupNodeCanvas.getGroupNode());
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
scrollPane.getViewport().getComponent(0).repaint();
|
|
scrollPane.getViewport().getComponent(0).repaint();
|
|
@@ -566,18 +524,6 @@ public class GUI {
|
|
mnNewMenuEdit.add(mntmUndo);
|
|
mnNewMenuEdit.add(mntmUndo);
|
|
|
|
|
|
mnNewMenuEdit.add(mntmRedo);
|
|
mnNewMenuEdit.add(mntmRedo);
|
|
- mntmFindReplace.addActionListener(actionEvent -> {
|
|
|
|
- try {
|
|
|
|
- SearchPopUp dialog = new SearchPopUp(control, canvas, holegJFrame);
|
|
|
|
- dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
|
|
|
- dialog.setVisible(true);
|
|
|
|
- control.getObjectsInDepth();
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
- ex.printStackTrace();
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
- mnNewMenuEdit.add(mntmFindReplace);
|
|
|
|
mnNewMenuEdit.add(mntmEditEdges);
|
|
mnNewMenuEdit.add(mntmEditEdges);
|
|
mntmEditEdges.addActionListener(actionEvent -> {
|
|
mntmEditEdges.addActionListener(actionEvent -> {
|
|
EditEdgesPopUp edgePopUp = new EditEdgesPopUp(holegJFrame);
|
|
EditEdgesPopUp edgePopUp = new EditEdgesPopUp(holegJFrame);
|
|
@@ -627,7 +573,7 @@ public class GUI {
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
// Update UpperNodes
|
|
// Update UpperNodes
|
|
Component canvasOrUpperNodeCanvas = getScrollPaneFromTabbedPane().getViewport().getComponent(0);
|
|
Component canvasOrUpperNodeCanvas = getScrollPaneFromTabbedPane().getViewport().getComponent(0);
|
|
- if (canvasOrUpperNodeCanvas != null && canvasOrUpperNodeCanvas instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ if (canvasOrUpperNodeCanvas != null && canvasOrUpperNodeCanvas instanceof Canvas groupNodeCanvas) {
|
|
groupNodeCanvas.repaint();
|
|
groupNodeCanvas.repaint();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -642,7 +588,7 @@ public class GUI {
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
control.calculateStateAndVisualForCurrentTimeStep();
|
|
// Update UpperNodes
|
|
// Update UpperNodes
|
|
Component canvasOrUpperNodeCanvas = getScrollPaneFromTabbedPane().getViewport().getComponent(0);
|
|
Component canvasOrUpperNodeCanvas = getScrollPaneFromTabbedPane().getViewport().getComponent(0);
|
|
- if (canvasOrUpperNodeCanvas != null && canvasOrUpperNodeCanvas instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ if (canvasOrUpperNodeCanvas != null && canvasOrUpperNodeCanvas instanceof Canvas groupNodeCanvas) {
|
|
groupNodeCanvas.repaint();
|
|
groupNodeCanvas.repaint();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -676,7 +622,7 @@ public class GUI {
|
|
if (spane != null) {
|
|
if (spane != null) {
|
|
Component canvasOrUpperNodeCanvas = spane.getViewport().getComponent(0);
|
|
Component canvasOrUpperNodeCanvas = spane.getViewport().getComponent(0);
|
|
if (canvasOrUpperNodeCanvas != null
|
|
if (canvasOrUpperNodeCanvas != null
|
|
- && canvasOrUpperNodeCanvas instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ && canvasOrUpperNodeCanvas instanceof Canvas groupNodeCanvas) {
|
|
groupNodeCanvas.repaint();
|
|
groupNodeCanvas.repaint();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -814,7 +760,7 @@ public class GUI {
|
|
/**
|
|
/**
|
|
* check for replacements on the canvas
|
|
* check for replacements on the canvas
|
|
*/
|
|
*/
|
|
- if (canvasOrUpperNodeCanvas instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ if (canvasOrUpperNodeCanvas instanceof Canvas groupNodeCanvas) {
|
|
if (unc.getMousePosition() == null)
|
|
if (unc.getMousePosition() == null)
|
|
return;
|
|
return;
|
|
int x = (int) unc.getMousePosition().getX() + 16;
|
|
int x = (int) unc.getMousePosition().getX() + 16;
|
|
@@ -864,7 +810,7 @@ public class GUI {
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
Component canvasOrUpperNodeCanvas = scrollPane.getViewport().getComponent(0);
|
|
Component canvasOrUpperNodeCanvas = scrollPane.getViewport().getComponent(0);
|
|
|
|
|
|
- if (canvasOrUpperNodeCanvas instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ if (canvasOrUpperNodeCanvas instanceof Canvas groupNodeCanvas) {
|
|
int x = (int) groupNodeCanvas.getMousePosition().getX() + 16;
|
|
int x = (int) groupNodeCanvas.getMousePosition().getX() + 16;
|
|
int y = (int) groupNodeCanvas.getMousePosition().getY() + 16;
|
|
int y = (int) groupNodeCanvas.getMousePosition().getY() + 16;
|
|
|
|
|
|
@@ -1128,7 +1074,7 @@ public class GUI {
|
|
holegJFrame.getContentPane().add(splitPane);
|
|
holegJFrame.getContentPane().add(splitPane);
|
|
|
|
|
|
mntmNew.addActionListener(actionEvent -> {
|
|
mntmNew.addActionListener(actionEvent -> {
|
|
- if (model.getObjectsOnCanvas().size() != 0) {
|
|
|
|
|
|
+ if (model.getCanvas().getObjectsInThisLayer().findAny().isPresent()) {
|
|
int newWarning = JOptionPane.YES_NO_OPTION;
|
|
int newWarning = JOptionPane.YES_NO_OPTION;
|
|
int dialogForNewWarning = JOptionPane.showConfirmDialog(holegJFrame, saveBeforeNew, warningText,
|
|
int dialogForNewWarning = JOptionPane.showConfirmDialog(holegJFrame, saveBeforeNew, warningText,
|
|
newWarning);
|
|
newWarning);
|
|
@@ -1141,8 +1087,7 @@ public class GUI {
|
|
tabbedPaneInnerOriginal.remove(1);
|
|
tabbedPaneInnerOriginal.remove(1);
|
|
}
|
|
}
|
|
control.clearSelection();
|
|
control.clearSelection();
|
|
- model.getEdgesOnCanvas().clear();
|
|
|
|
- model.getObjectsOnCanvas().clear();
|
|
|
|
|
|
+ model.clear();
|
|
control.OnSelectionChanged.broadcast();
|
|
control.OnSelectionChanged.broadcast();
|
|
GuiSettings.getSelectedEdges().clear();
|
|
GuiSettings.getSelectedEdges().clear();
|
|
control.getModel().setCurrentIteration(0);
|
|
control.getModel().setCurrentIteration(0);
|
|
@@ -1468,11 +1413,8 @@ public class GUI {
|
|
|
|
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
JScrollPane scrollPane = getScrollPaneFromTabbedPane();
|
|
if (scrollPane.getViewport().getComponent(0)instanceof Canvas canvasPanel) {
|
|
if (scrollPane.getViewport().getComponent(0)instanceof Canvas canvasPanel) {
|
|
- unc = new GroupNodeCanvas(model, control, unitGraph, node, "", canvasPanel);
|
|
|
|
|
|
+ unc = new Canvas(control, unitGraph, node);
|
|
|
|
|
|
- } else if (scrollPane.getViewport().getComponent(0)instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
- unc = new GroupNodeCanvas(model, control, unitGraph, node, groupNodeCanvas.getParentPath() + " -> ",
|
|
|
|
- scrollPane.getViewport().getComponent(0));
|
|
|
|
}
|
|
}
|
|
|
|
|
|
// check if tab already open for clicked NodeOfNode
|
|
// check if tab already open for clicked NodeOfNode
|
|
@@ -1480,7 +1422,7 @@ public class GUI {
|
|
|
|
|
|
for (int i = 1; i < tabbedPaneInnerOriginal.getTabCount(); i++) {
|
|
for (int i = 1; i < tabbedPaneInnerOriginal.getTabCount(); i++) {
|
|
JScrollPane paneOriginal = (JScrollPane) tabbedPaneInnerOriginal.getComponentAt(i);
|
|
JScrollPane paneOriginal = (JScrollPane) tabbedPaneInnerOriginal.getComponentAt(i);
|
|
- if (paneOriginal != null && ((GroupNodeCanvas) paneOriginal.getViewport().getComponent(0)).getGroupNode()
|
|
|
|
|
|
+ if (paneOriginal != null && ((Canvas) paneOriginal.getViewport().getComponent(0)).getGroupNode()
|
|
.getId() == node.getId()) {
|
|
.getId() == node.getId()) {
|
|
dupl = true;
|
|
dupl = true;
|
|
// set selected component to view
|
|
// set selected component to view
|
|
@@ -1516,7 +1458,7 @@ public class GUI {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
Component pane = ((JScrollPane) c).getViewport().getComponent(0);
|
|
Component pane = ((JScrollPane) c).getViewport().getComponent(0);
|
|
- if (pane instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
|
|
|
|
+ if (pane instanceof Canvas groupNodeCanvas) {
|
|
//TODO(Tom2021-12-20) maybe
|
|
//TODO(Tom2021-12-20) maybe
|
|
if(temp instanceof GroupNode node) {
|
|
if(temp instanceof GroupNode node) {
|
|
groupNodeCanvas.setGroupNode(node);
|
|
groupNodeCanvas.setGroupNode(node);
|
|
@@ -1538,7 +1480,7 @@ public class GUI {
|
|
JScrollPane scrollPaneOriginal = (JScrollPane) tabbedPaneInnerOriginal.getComponentAt(i);
|
|
JScrollPane scrollPaneOriginal = (JScrollPane) tabbedPaneInnerOriginal.getComponentAt(i);
|
|
|
|
|
|
if (scrollPaneOriginal == null) {
|
|
if (scrollPaneOriginal == null) {
|
|
- } else if (((GroupNodeCanvas) scrollPaneOriginal.getViewport().getComponent(0)).getGroupNode()
|
|
|
|
|
|
+ } else if (((Canvas) scrollPaneOriginal.getViewport().getComponent(0)).getGroupNode()
|
|
.getId() == cps.getId()) {
|
|
.getId() == cps.getId()) {
|
|
((ButtonTabComponent) tabbedPaneInnerOriginal.getTabComponentAt(i)).removeTabs();
|
|
((ButtonTabComponent) tabbedPaneInnerOriginal.getTabComponentAt(i)).removeTabs();
|
|
break;
|
|
break;
|
|
@@ -1601,7 +1543,7 @@ public class GUI {
|
|
*/
|
|
*/
|
|
for (int i = 1; i < tabbedPaneInnerOriginal.getTabCount(); i++) {
|
|
for (int i = 1; i < tabbedPaneInnerOriginal.getTabCount(); i++) {
|
|
JScrollPane scrollPaneOriginal = (JScrollPane) tabbedPaneInnerOriginal.getComponentAt(i);
|
|
JScrollPane scrollPaneOriginal = (JScrollPane) tabbedPaneInnerOriginal.getComponentAt(i);
|
|
- if (((GroupNodeCanvas) scrollPaneOriginal.getViewport().getComponent(0)).getGroupNode() == null) {
|
|
|
|
|
|
+ if (((Canvas) scrollPaneOriginal.getViewport().getComponent(0)).getGroupNode() == null) {
|
|
((ButtonTabComponent) tabbedPaneInnerOriginal.getTabComponentAt(i)).removeTabs();
|
|
((ButtonTabComponent) tabbedPaneInnerOriginal.getTabComponentAt(i)).removeTabs();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
@@ -1626,8 +1568,8 @@ public class GUI {
|
|
canvas.disabled = state;
|
|
canvas.disabled = state;
|
|
for (int i = 1; i < tabbedPaneInnerOriginal.getTabCount(); i++) {
|
|
for (int i = 1; i < tabbedPaneInnerOriginal.getTabCount(); i++) {
|
|
JScrollPane scrollPaneOriginal = (JScrollPane) tabbedPaneInnerOriginal.getComponentAt(i);
|
|
JScrollPane scrollPaneOriginal = (JScrollPane) tabbedPaneInnerOriginal.getComponentAt(i);
|
|
- if (((GroupNodeCanvas) scrollPaneOriginal.getViewport().getComponent(0)).getGroupNode() != null) {
|
|
|
|
- ((GroupNodeCanvas) scrollPaneOriginal.getViewport().getComponent(0)).disabled = state;
|
|
|
|
|
|
+ if (((Canvas) scrollPaneOriginal.getViewport().getComponent(0)).getGroupNode() != null) {
|
|
|
|
+ ((Canvas) scrollPaneOriginal.getViewport().getComponent(0)).disabled = state;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|