|
@@ -100,7 +100,7 @@ public class GUI<E> implements CategoryListener {
|
|
|
|
|
|
private final SimulationMenu simMenu;
|
|
|
|
|
|
- private JTabbedPane tabTemp; //tabbedPane or tabbedPane2
|
|
|
+ private JTabbedPane tabTemp; // tabbedPane or tabbedPane2
|
|
|
private final JMenuBar menuBar = new JMenuBar();
|
|
|
private final JMenu mnNewMenu = new JMenu("File");
|
|
|
private final JMenu mnNewMenuEdit = new JMenu("Edit");
|
|
@@ -378,18 +378,23 @@ public class GUI<E> implements CategoryListener {
|
|
|
@Override
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
|
|
|
+ if (tabbedPane.getMousePosition() != null) {
|
|
|
+ tabTemp = tabbedPane;
|
|
|
+ } else {
|
|
|
+ tabTemp = tabbedPane2;
|
|
|
+ }
|
|
|
model.getSelectedCpsObjects().clear();
|
|
|
// Uppernode Canvas?
|
|
|
- if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
|
|
|
+ if (((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
.getComponent(0) instanceof UpperNodeCanvas) {
|
|
|
- UpperNodeCanvas uNC = (UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent())
|
|
|
- .getViewport().getComponent(0);
|
|
|
+ UpperNodeCanvas uNC = (UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
+ .getComponent(0);
|
|
|
for (AbstractCpsObject cps : uNC.upperNode.getNodes()) {
|
|
|
controller.addSelectedObject(cps);
|
|
|
}
|
|
|
uNC.repaint();
|
|
|
// or Canvas?
|
|
|
- } else if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
|
|
|
+ } else if (((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
.getComponent(0) instanceof MyCanvas) {
|
|
|
for (AbstractCpsObject cps : model.getObjectsOnCanvas()) {
|
|
|
controller.addSelectedObject(cps);
|
|
@@ -479,11 +484,16 @@ public class GUI<E> implements CategoryListener {
|
|
|
|
|
|
@Override
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
+ if (tabbedPane.getMousePosition() != null) {
|
|
|
+ tabTemp = tabbedPane;
|
|
|
+ } else {
|
|
|
+ tabTemp = tabbedPane2;
|
|
|
+ }
|
|
|
if (!model.getSelectedCpsObjects().isEmpty()) {
|
|
|
- if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
|
|
|
+ if (((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
.getComponent(0) instanceof UpperNodeCanvas)
|
|
|
- controller.copy(((UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent())
|
|
|
- .getViewport().getComponent(0)).upperNode);
|
|
|
+ controller.copy(((UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
+ .getComponent(0)).upperNode);
|
|
|
else
|
|
|
controller.copy(null);
|
|
|
if (!model.getClipboradObjects().isEmpty()) {
|
|
@@ -502,17 +512,26 @@ public class GUI<E> implements CategoryListener {
|
|
|
@Override
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
try {
|
|
|
- if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
|
|
|
- .getComponent(0) instanceof UpperNodeCanvas)
|
|
|
+ tabTemp = null;
|
|
|
+ if (tabbedPane.getMousePosition() != null) {
|
|
|
+ tabTemp = tabbedPane;
|
|
|
+ } else {
|
|
|
+ if (!initSplit) {
|
|
|
+ tabTemp = tabbedPane2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (tabTemp != null && ((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
+ .getComponent(0) instanceof UpperNodeCanvas) {
|
|
|
|
|
|
controller.paste(
|
|
|
- ((UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
|
|
|
+ ((UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
.getComponent(0)).upperNode,
|
|
|
- ((UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
|
|
|
+ ((UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
.getComponent(0)).getMousePosition());
|
|
|
- else
|
|
|
+ } else {
|
|
|
controller.paste(null, canvas.getMousePosition());
|
|
|
- unitGraph.update(model.getSelectedCpsObjects());
|
|
|
+ unitGraph.update(model.getSelectedCpsObjects());
|
|
|
+ }
|
|
|
} catch (HeadlessException | JsonParseException | UnsupportedFlavorException | IOException e1) {
|
|
|
// TODO Auto-generated catch block
|
|
|
JLabel message = new JLabel("The Clipboard information cannot be pasted into Application.");
|
|
@@ -530,11 +549,16 @@ public class GUI<E> implements CategoryListener {
|
|
|
|
|
|
@Override
|
|
|
public void actionPerformed(ActionEvent e) {
|
|
|
+ if (tabbedPane.getMousePosition() != null) {
|
|
|
+ tabTemp = tabbedPane;
|
|
|
+ } else {
|
|
|
+ tabTemp = tabbedPane2;
|
|
|
+ }
|
|
|
if (!model.getSelectedCpsObjects().isEmpty()) {
|
|
|
- if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
|
|
|
+ if (((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
.getComponent(0) instanceof UpperNodeCanvas)
|
|
|
- controller.cut(((UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent())
|
|
|
- .getViewport().getComponent(0)).upperNode);
|
|
|
+ controller.cut(((UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
|
+ .getComponent(0)).upperNode);
|
|
|
else
|
|
|
controller.cut(null);
|
|
|
if (!model.getClipboradObjects().isEmpty()) {
|
|
@@ -650,11 +674,6 @@ public class GUI<E> implements CategoryListener {
|
|
|
JOptionPane.showMessageDialog(null, myPanel);
|
|
|
controller.setCanvasX(Integer.parseInt(field1.getText()));
|
|
|
controller.setCanvasY(Integer.parseInt(field2.getText()));
|
|
|
- for (int i = 4; i < tabbedPane.getTabCount(); i++) {
|
|
|
- tabbedPane.getComponentAt(i)
|
|
|
- .setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
|
|
|
- tabbedPane.getComponentAt(i).repaint();
|
|
|
- }
|
|
|
canvas.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
|
|
|
canvas.repaint();
|
|
|
}
|
|
@@ -1178,6 +1197,10 @@ public class GUI<E> implements CategoryListener {
|
|
|
if (unc.upperNode.getId() == updCon.getActualCps().getId()) {
|
|
|
tabbedPane.setTitleAt(index, unc.upperNode.getName());
|
|
|
tabbedPane.updateUI();
|
|
|
+ if (!initSplit) {
|
|
|
+ tabbedPane2.setTitleAt(index, unc.upperNode.getName());
|
|
|
+ tabbedPane2.updateUI();
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
} else if (updCon.getActualCps() instanceof HolonObject) {
|