-package org.simantics.spreadsheet.ui;\r
-\r
-import java.awt.Graphics2D;\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
-import java.awt.event.FocusListener;\r
-import java.awt.geom.Rectangle2D;\r
-\r
-import javax.swing.JComponent;\r
-\r
-import org.simantics.scenegraph.swing.ComponentNode;\r
-import org.simantics.spreadsheet.Adaptable;\r
-import org.simantics.spreadsheet.ClientModel;\r
-\r
-public class SheetNode extends ComponentNode<JComponent> implements ActionListener, FocusListener {\r
-\r
- private static final long serialVersionUID = -8212264868316567181L;\r
-\r
- private SpreadsheetModel sm;\r
-\r
- public void init(Adaptable serverInterface) {\r
-\r
- scale = true;\r
- sm = new SpreadsheetModel(serverInterface, null);\r
- component = sm.createComponent(this);\r
- component.addFocusListener(this);\r
- \r
- super.init();\r
-\r
- }\r
- \r
- public ClientModel getModifier() {\r
- return sm.getClientInterface();\r
- }\r
-\r
- protected ActionListener actionListener = null;\r
-\r
- public void setActionListener(ActionListener actionListener) {\r
- this.actionListener = actionListener;\r
- }\r
-\r
- @ServerSide\r
- @Override\r
- public void actionPerformed(ActionEvent e) {\r
- if(actionListener != null)\r
- actionListener.actionPerformed(e);\r
- if(container.getParent() != null)\r
- container.getParent().requestFocusInWindow(); // Loose focus\r
- }\r
-\r
- @Override\r
- @SyncField("bounds")\r
- public void setBounds(Rectangle2D bounds) {\r
- this.bounds = bounds;\r
- container.setBounds(0, 0, (int)bounds.getWidth(), (int)bounds.getHeight());\r
- container.setSize((int)bounds.getWidth(), (int)bounds.getHeight());\r
- container.validate();\r
- }\r
- \r
- @Override\r
- public void render(Graphics2D g2d) {\r
- \r
- if(sm == null) return;\r
- if(sm.getTable() == null) return;\r
- \r
- container.validate();\r
-\r
- super.render(g2d);\r
- \r
- }\r
-\r
-}\r
+package org.simantics.spreadsheet.ui;
+
+import java.awt.Graphics2D;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.FocusListener;
+import java.awt.geom.Rectangle2D;
+
+import javax.swing.JComponent;
+
+import org.simantics.scenegraph.swing.ComponentNode;
+import org.simantics.spreadsheet.Adaptable;
+import org.simantics.spreadsheet.ClientModel;
+
+public class SheetNode extends ComponentNode<JComponent> implements ActionListener, FocusListener {
+
+ private static final long serialVersionUID = -8212264868316567181L;
+
+ private SpreadsheetModel sm;
+
+ public void init(Adaptable serverInterface) {
+
+ scale = true;
+ sm = new SpreadsheetModel(serverInterface, null);
+ component = sm.createComponent(this);
+ component.addFocusListener(this);
+
+ super.init();
+
+ }
+
+ public ClientModel getModifier() {
+ return sm.getClientInterface();
+ }
+
+ protected ActionListener actionListener = null;
+
+ public void setActionListener(ActionListener actionListener) {
+ this.actionListener = actionListener;
+ }
+
+ @ServerSide
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ if(actionListener != null)
+ actionListener.actionPerformed(e);
+ if(container.getParent() != null)
+ container.getParent().requestFocusInWindow(); // Loose focus
+ }
+
+ @Override
+ @SyncField("bounds")
+ public void setBounds(Rectangle2D bounds) {
+ this.bounds = bounds;
+ container.setBounds(0, 0, (int)bounds.getWidth(), (int)bounds.getHeight());
+ container.setSize((int)bounds.getWidth(), (int)bounds.getHeight());
+ container.validate();
+ }
+
+ @Override
+ public void render(Graphics2D g2d) {
+
+ if(sm == null) return;
+ if(sm.getTable() == null) return;
+
+ container.validate();
+
+ super.render(g2d);
+
+ }
+
+}