|
@@ -27,8 +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.List;
|
|
|
|
-import java.util.ListIterator;
|
|
|
|
import java.util.Optional;
|
|
import java.util.Optional;
|
|
import java.util.logging.Logger;
|
|
import java.util.logging.Logger;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -75,7 +73,6 @@ import holeg.model.HolonObject;
|
|
import holeg.model.HolonSwitch;
|
|
import holeg.model.HolonSwitch;
|
|
import holeg.preferences.ColorPreference;
|
|
import holeg.preferences.ColorPreference;
|
|
import holeg.ui.controller.Control;
|
|
import holeg.ui.controller.Control;
|
|
-import holeg.ui.model.DecoratedState;
|
|
|
|
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.Model;
|
|
@@ -245,9 +242,6 @@ public class GUI {
|
|
private String eraseCategory = "Do you really want to delete the Category ";
|
|
private String eraseCategory = "Do you really want to delete the Category ";
|
|
private String selectObjBeforeErase = "Please select a Category or an Object in the left library in order to delete something.";
|
|
private String selectObjBeforeErase = "Please select a Category or an Object in the left library in order to delete something.";
|
|
|
|
|
|
- private List<Outliner> outlinerList = new ArrayList<Outliner>();
|
|
|
|
- private List<FlexWindow> flexList = new ArrayList<FlexWindow>();
|
|
|
|
-
|
|
|
|
private JMenuItem removeItem = new JMenuItem("Remove");
|
|
private JMenuItem removeItem = new JMenuItem("Remove");
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -413,7 +407,7 @@ public class GUI {
|
|
if (canvasOrUpperNodeCanvas instanceof GroupNodeCanvas groupNodeCanvas) {
|
|
if (canvasOrUpperNodeCanvas instanceof GroupNodeCanvas 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.delObjUpperNode(cps, groupNodeCanvas.getGroupNode());
|
|
|
|
|
|
+ control.deleteObjectInGroupNode(cps, groupNodeCanvas.getGroupNode());
|
|
unc.setToolTip(false);
|
|
unc.setToolTip(false);
|
|
|
|
|
|
// remove UpperNodeTab if UpperNode deleted
|
|
// remove UpperNodeTab if UpperNode deleted
|
|
@@ -890,7 +884,7 @@ public class GUI {
|
|
&& groupNodeCanvas.mayBeReplaced instanceof GroupNode) {
|
|
&& groupNodeCanvas.mayBeReplaced instanceof GroupNode) {
|
|
groupNodeCanvas.closeUpperNodeTab(groupNodeCanvas.mayBeReplaced.getId());
|
|
groupNodeCanvas.closeUpperNodeTab(groupNodeCanvas.mayBeReplaced.getId());
|
|
}
|
|
}
|
|
- control.addObjUpperNode(h, groupNodeCanvas.getGroupNode());
|
|
|
|
|
|
+ control.addObjectInGroupNode(h, groupNodeCanvas.getGroupNode());
|
|
|
|
|
|
/**
|
|
/**
|
|
* object would be replaced
|
|
* object would be replaced
|
|
@@ -1377,7 +1371,7 @@ public class GUI {
|
|
JMenuItem openOutliner = new JMenuItem("Open Outliner", new ImageIcon(ImageImport
|
|
JMenuItem openOutliner = new JMenuItem("Open Outliner", new ImageIcon(ImageImport
|
|
.loadImage("/Button_Images/iconOutliner.png").getScaledInstance(20, 20, java.awt.Image.SCALE_SMOOTH)));
|
|
.loadImage("/Button_Images/iconOutliner.png").getScaledInstance(20, 20, java.awt.Image.SCALE_SMOOTH)));
|
|
openOutliner.addActionListener(actionEvent -> {
|
|
openOutliner.addActionListener(actionEvent -> {
|
|
- outlinerList.add(new Outliner(holegJFrame, model, control));
|
|
|
|
|
|
+ new Outliner(holegJFrame, model, control);
|
|
});
|
|
});
|
|
openOutliner
|
|
openOutliner
|
|
.setAccelerator(KeyStroke.getKeyStroke('O', Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
|
.setAccelerator(KeyStroke.getKeyStroke('O', Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
|
@@ -1386,39 +1380,13 @@ public class GUI {
|
|
JMenuItem openFlexMenuItem = new JMenuItem("Open Flexibility Panel", new ImageIcon(ImageImport
|
|
JMenuItem openFlexMenuItem = new JMenuItem("Open Flexibility Panel", new ImageIcon(ImageImport
|
|
.loadImage("/Button_Images/iconAlgo.png").getScaledInstance(20, 20, java.awt.Image.SCALE_SMOOTH)));
|
|
.loadImage("/Button_Images/iconAlgo.png").getScaledInstance(20, 20, java.awt.Image.SCALE_SMOOTH)));
|
|
openFlexMenuItem.addActionListener(actionEvent -> {
|
|
openFlexMenuItem.addActionListener(actionEvent -> {
|
|
- flexList.add(new FlexWindow(holegJFrame, control));
|
|
|
|
|
|
+ new FlexWindow(holegJFrame, control);
|
|
});
|
|
});
|
|
openFlexMenuItem
|
|
openFlexMenuItem
|
|
.setAccelerator(KeyStroke.getKeyStroke('L', Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
|
.setAccelerator(KeyStroke.getKeyStroke('L', Toolkit.getDefaultToolkit().getMenuShortcutKeyMaskEx()));
|
|
menuWindow.add(openFlexMenuItem);
|
|
menuWindow.add(openFlexMenuItem);
|
|
}
|
|
}
|
|
|
|
|
|
- public void updateOutliners(DecoratedState state) {
|
|
|
|
- // remove closed Outliner
|
|
|
|
- ListIterator<Outliner> iter = outlinerList.listIterator();
|
|
|
|
- while (iter.hasNext()) {
|
|
|
|
- if (iter.next().isClosed)
|
|
|
|
- iter.remove();
|
|
|
|
- }
|
|
|
|
- // update open Outliner
|
|
|
|
- for (Outliner out : outlinerList) {
|
|
|
|
- out.repaintWithDecoratedState(state);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public void updateFlexWindows() {
|
|
|
|
- // remove closed Outliner
|
|
|
|
- ListIterator<FlexWindow> iter = flexList.listIterator();
|
|
|
|
- while (iter.hasNext()) {
|
|
|
|
- if (iter.next().isClosed)
|
|
|
|
- iter.remove();
|
|
|
|
- }
|
|
|
|
- // update open Flex
|
|
|
|
- for (FlexWindow out : flexList) {
|
|
|
|
- out.update();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
private boolean isUpperPanelInsideBounds() {
|
|
private boolean isUpperPanelInsideBounds() {
|
|
int x = holegJFrame.getX();
|
|
int x = holegJFrame.getX();
|
|
int y = holegJFrame.getY();
|
|
int y = holegJFrame.getY();
|
|
@@ -1448,11 +1416,7 @@ public class GUI {
|
|
*/
|
|
*/
|
|
private void setUpAutoSave(File dest) {
|
|
private void setUpAutoSave(File dest) {
|
|
dest.mkdirs();
|
|
dest.mkdirs();
|
|
- try {
|
|
|
|
- control.autoSave();
|
|
|
|
- } catch (IOException e1) {
|
|
|
|
- e1.printStackTrace();
|
|
|
|
- }
|
|
|
|
|
|
+ control.tryAutoSave();
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|