|
@@ -773,6 +773,10 @@ public class GUI<E> implements CategoryListener {
|
|
} else {
|
|
} else {
|
|
for (int i = 0; i < tabbedPane.getTabCount(); i++) {
|
|
for (int i = 0; i < tabbedPane.getTabCount(); i++) {
|
|
tabbedPane2.addTab(tabbedPane.getTitleAt(i), null);
|
|
tabbedPane2.addTab(tabbedPane.getTitleAt(i), null);
|
|
|
|
+ if (i >= 4) {
|
|
|
|
+ tabbedPane2.setTabComponentAt(tabbedPane.getTabCount() - 1,
|
|
|
|
+ new ButtonTabComponent(tabbedPane, tabbedPane2));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if (tabbedPane.getSelectedComponent() == statScrollPane) {
|
|
if (tabbedPane.getSelectedComponent() == statScrollPane) {
|
|
tabbedPane.setComponentAt(0, null);
|
|
tabbedPane.setComponentAt(0, null);
|
|
@@ -2131,12 +2135,18 @@ public class GUI<E> implements CategoryListener {
|
|
* Open a new Tab with an UpperNodeCanvas
|
|
* Open a new Tab with an UpperNodeCanvas
|
|
*/
|
|
*/
|
|
private void openNewUpperNodeTab() {
|
|
private void openNewUpperNodeTab() {
|
|
-
|
|
|
|
- if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport().getComponent(0) instanceof MyCanvas) {
|
|
|
|
|
|
+ // is the uppernode on tabbedPane or tabbedPane2
|
|
|
|
+ JTabbedPane tabTemp;
|
|
|
|
+ if (tabbedPane.getMousePosition() != null) {
|
|
|
|
+ tabTemp = tabbedPane;
|
|
|
|
+ } else {
|
|
|
|
+ tabTemp = tabbedPane2;
|
|
|
|
+ }
|
|
|
|
+ if (((JScrollPane) tabTemp.getSelectedComponent()).getViewport().getComponent(0) instanceof MyCanvas) {
|
|
unc = new UpperNodeCanvas(model, controller, (CpsUpperNode) temp, "");
|
|
unc = new UpperNodeCanvas(model, controller, (CpsUpperNode) temp, "");
|
|
} else {
|
|
} else {
|
|
unc = new UpperNodeCanvas(model, controller, (CpsUpperNode) temp,
|
|
unc = new UpperNodeCanvas(model, controller, (CpsUpperNode) temp,
|
|
- ((UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
|
|
|
|
|
|
+ ((UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
.getComponent(0)).path + " -> ");
|
|
.getComponent(0)).path + " -> ");
|
|
}
|
|
}
|
|
unc.setShowedInformation(canvas.getShowedInformation());
|
|
unc.setShowedInformation(canvas.getShowedInformation());
|
|
@@ -2144,11 +2154,17 @@ public class GUI<E> implements CategoryListener {
|
|
// check if tab already open for clicked NodeOfNode
|
|
// check if tab already open for clicked NodeOfNode
|
|
boolean dupl = false;
|
|
boolean dupl = false;
|
|
for (int i = 4; i < tabbedPane.getTabCount() && dupl == false; i++) {
|
|
for (int i = 4; i < tabbedPane.getTabCount() && dupl == false; i++) {
|
|
- if (((UpperNodeCanvas) ((JScrollPane) tabbedPane.getComponentAt(i)).getViewport().getComponent(0)).upperNode
|
|
|
|
- .getId() == temp.getId()) {
|
|
|
|
|
|
+ if (tabbedPane.getComponentAt(i) != null && ((UpperNodeCanvas) ((JScrollPane) tabbedPane.getComponentAt(i))
|
|
|
|
+ .getViewport().getComponent(0)).upperNode.getId() == temp.getId()) {
|
|
dupl = true;
|
|
dupl = true;
|
|
tabbedPane.setSelectedComponent(tabbedPane.getComponentAt(i));
|
|
tabbedPane.setSelectedComponent(tabbedPane.getComponentAt(i));
|
|
}
|
|
}
|
|
|
|
+ if (!initSplit && tabbedPane2.getComponentAt(i) != null
|
|
|
|
+ && ((UpperNodeCanvas) ((JScrollPane) tabbedPane2.getComponentAt(i)).getViewport()
|
|
|
|
+ .getComponent(0)).upperNode.getId() == temp.getId()) {
|
|
|
|
+ dupl = true;
|
|
|
|
+ tabbedPane2.setSelectedComponent(tabbedPane2.getComponentAt(i));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if (!dupl) {
|
|
if (!dupl) {
|
|
unc.setBorder(null);
|
|
unc.setBorder(null);
|
|
@@ -2161,7 +2177,13 @@ public class GUI<E> implements CategoryListener {
|
|
unitGraph.empty();
|
|
unitGraph.empty();
|
|
holonEleNamesDisplayed = Languages.getLanguage()[25];
|
|
holonEleNamesDisplayed = Languages.getLanguage()[25];
|
|
elementGraph.setText(holonEleNamesDisplayed);
|
|
elementGraph.setText(holonEleNamesDisplayed);
|
|
- temp = ((UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
|
|
|
|
|
|
+ JTabbedPane tabTemp;
|
|
|
|
+ if (tabbedPane.getMousePosition() != null) {
|
|
|
|
+ tabTemp = tabbedPane;
|
|
|
|
+ } else {
|
|
|
|
+ tabTemp = tabbedPane2;
|
|
|
|
+ }
|
|
|
|
+ temp = ((UpperNodeCanvas) ((JScrollPane) tabTemp.getSelectedComponent()).getViewport()
|
|
.getComponent(0)).tempCps;
|
|
.getComponent(0)).tempCps;
|
|
if (doubleClick() && MouseEvent.BUTTON3 != e.getButton() && temp instanceof CpsUpperNode) {
|
|
if (doubleClick() && MouseEvent.BUTTON3 != e.getButton() && temp instanceof CpsUpperNode) {
|
|
openNewUpperNodeTab();
|
|
openNewUpperNodeTab();
|
|
@@ -2175,9 +2197,27 @@ public class GUI<E> implements CategoryListener {
|
|
|
|
|
|
JScrollPane sp = new JScrollPane(unc);
|
|
JScrollPane sp = new JScrollPane(unc);
|
|
sp.setBorder(null);
|
|
sp.setBorder(null);
|
|
- tabbedPane.add(temp.getName(), sp);
|
|
|
|
- tabbedPane.setSelectedComponent(sp);
|
|
|
|
- tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, new ButtonTabComponent(tabbedPane));
|
|
|
|
|
|
+ if (tabTemp == tabbedPane) {
|
|
|
|
+ tabbedPane.add(temp.getName(), sp);
|
|
|
|
+ tabbedPane.setSelectedComponent(sp);
|
|
|
|
+ tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1,
|
|
|
|
+ new ButtonTabComponent(tabbedPane, tabbedPane2));
|
|
|
|
+ if (!initSplit) {
|
|
|
|
+ tabbedPane2.add(temp.getName(), null);
|
|
|
|
+ //tabbedPane2.setTabComponentAt(tabbedPane2.getTabCount() - 1,
|
|
|
|
+ // new ButtonTabComponent(tabbedPane, tabbedPane2));
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ tabbedPane2.add(temp.getName(), sp);
|
|
|
|
+ tabbedPane2.setSelectedComponent(sp);
|
|
|
|
+ //tabbedPane2.setTabComponentAt(tabbedPane2.getTabCount() - 1,
|
|
|
|
+ // new ButtonTabComponent(tabbedPane, tabbedPane2));
|
|
|
|
+
|
|
|
|
+ tabbedPane.add(temp.getName(), null);
|
|
|
|
+ tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1,
|
|
|
|
+ new ButtonTabComponent(tabbedPane, tabbedPane2));
|
|
|
|
+ }
|
|
|
|
+
|
|
temp = null;
|
|
temp = null;
|
|
}
|
|
}
|
|
}
|
|
}
|