|
@@ -5,81 +5,54 @@ import javax.swing.*;
|
|
|
import holeg.preferences.ImagePreference;
|
|
|
import holeg.ui.controller.Control;
|
|
|
import holeg.ui.model.GuiSettings;
|
|
|
-import holeg.model.Model;
|
|
|
import holeg.ui.view.canvas.Canvas;
|
|
|
-import holeg.ui.view.canvas.CanvasCollectionPanel;
|
|
|
import holeg.ui.view.image.Import;
|
|
|
+import holeg.ui.view.main.Gui;
|
|
|
import holeg.utility.math.vector.Vec2i;
|
|
|
|
|
|
import java.awt.*;
|
|
|
-import java.awt.event.ActionEvent;
|
|
|
-import java.awt.event.ActionListener;
|
|
|
|
|
|
public class CanvasResizePopUp extends JDialog {
|
|
|
- private final JButton btnOk = new JButton("OK");
|
|
|
- private final JButton btnCancel = new JButton("Cancel");
|
|
|
- JTabbedPane tabbedPane;
|
|
|
Control controller;
|
|
|
- Canvas canvas;
|
|
|
- private JPanel mainPanel = new JPanel();
|
|
|
- private JTextField tFieldWidht = new JTextField();
|
|
|
- private JTextField tFieldHeight = new JTextField();
|
|
|
- private JLabel lblWidth = new JLabel("Width:");
|
|
|
- private JLabel lblHeight = new JLabel("Height:");
|
|
|
- private JPanel buttonPanel = new JPanel();
|
|
|
+ private final JTextField widthTextField = new JTextField();
|
|
|
+ private final JTextField heightTextField = new JTextField();
|
|
|
|
|
|
- public CanvasResizePopUp(Control controller, JFrame parentFrame) {
|
|
|
- super((java.awt.Frame) null, true);
|
|
|
+ public CanvasResizePopUp(Control controller, Gui gui) {
|
|
|
+ super(gui, true);
|
|
|
this.controller = controller;
|
|
|
-
|
|
|
// properties and stuff
|
|
|
this.setIconImage(Import.loadImage(ImagePreference.Logo,30,30));
|
|
|
this.setTitle("Set the Size of the View");
|
|
|
setBounds(200, 100, 200, 100);
|
|
|
- setLocationRelativeTo(parentFrame);
|
|
|
+ setLocationRelativeTo(gui);
|
|
|
|
|
|
// MainPanel
|
|
|
- tFieldWidht.setText("" + GuiSettings.canvasSize.getX());
|
|
|
- tFieldHeight.setText("" + GuiSettings.canvasSize.getY());
|
|
|
+ widthTextField.setText("" + GuiSettings.canvasSize.getX());
|
|
|
+ heightTextField.setText("" + GuiSettings.canvasSize.getY());
|
|
|
+ JPanel mainPanel = new JPanel();
|
|
|
+ JLabel lblWidth = new JLabel("Width:");
|
|
|
mainPanel.add(lblWidth);
|
|
|
- mainPanel.add(tFieldWidht);
|
|
|
+ mainPanel.add(widthTextField);
|
|
|
+ JLabel lblHeight = new JLabel("Height:");
|
|
|
mainPanel.add(lblHeight);
|
|
|
- mainPanel.add(tFieldHeight);
|
|
|
+ mainPanel.add(heightTextField);
|
|
|
mainPanel.setBackground(Color.WHITE);
|
|
|
|
|
|
// Button Panel
|
|
|
+ JButton btnOk = new JButton("OK");
|
|
|
btnOk.addActionListener(e -> {
|
|
|
- GuiSettings.canvasSize.setX(Integer.parseInt(tFieldWidht.getText()));
|
|
|
- GuiSettings.canvasSize.setY(Integer.parseInt(tFieldHeight.getText()));
|
|
|
- Vec2i actualCanvasSize = GuiSettings.canvasSize;
|
|
|
-
|
|
|
- Dimension preferedSize = new Dimension(actualCanvasSize.getX(), actualCanvasSize.getY());
|
|
|
- canvas.setPreferredSize(new Dimension(preferedSize));
|
|
|
- for (int i = 1; i < tabbedPane.getTabCount(); i++) {
|
|
|
- if (tabbedPane.getComponentAt(i) != null) {
|
|
|
- JScrollPane scollPane = (JScrollPane) tabbedPane.getComponentAt(i);
|
|
|
- Canvas groupNodeCanvas = ((Canvas) (scollPane)
|
|
|
- .getViewport().getComponent(0));
|
|
|
- groupNodeCanvas.setPreferredSize(new Dimension(preferedSize));
|
|
|
- groupNodeCanvas.repaint();
|
|
|
- }
|
|
|
- }
|
|
|
- canvas.revalidate();
|
|
|
- canvas.repaint();
|
|
|
-
|
|
|
+ GuiSettings.canvasSize.setX(Integer.parseInt(widthTextField.getText()));
|
|
|
+ GuiSettings.canvasSize.setY(Integer.parseInt(heightTextField.getText()));
|
|
|
+ gui.canvasCollection.resetCanvasSizes();
|
|
|
controller.getModel().getCanvas().getAllObjectsRecursive().forEach(obj -> {
|
|
|
- Vec2i position = obj.getPosition();
|
|
|
- position.clampX(0, actualCanvasSize.getX());
|
|
|
- position.clampY(0, actualCanvasSize.getY());
|
|
|
+ obj.setPosition(Canvas.boundsToCanvas(obj.getPosition()));
|
|
|
});
|
|
|
+ controller.OnCanvasUpdate.broadcast();
|
|
|
dispose();
|
|
|
});
|
|
|
- btnCancel.addActionListener(new ActionListener() {
|
|
|
- @Override
|
|
|
- public void actionPerformed(ActionEvent e) {
|
|
|
- dispose();
|
|
|
- }
|
|
|
- });
|
|
|
+ JButton btnCancel = new JButton("Cancel");
|
|
|
+ btnCancel.addActionListener(clicked -> dispose());
|
|
|
+ JPanel buttonPanel = new JPanel();
|
|
|
buttonPanel.add(btnOk);
|
|
|
buttonPanel.add(btnCancel);
|
|
|
buttonPanel.setBackground(Color.WHITE);
|