-package org.simantics.scenegraph.swing;\r
-\r
-import java.awt.AWTEvent;\r
-import java.awt.Point;\r
-import java.awt.event.MouseEvent;\r
-\r
-import javax.swing.JComponent;\r
-import javax.swing.JTable;\r
-import javax.swing.table.JTableHeader;\r
-import javax.swing.table.TableColumnModel;\r
-import javax.swing.table.TableModel;\r
-\r
-import org.simantics.scenegraph.INode;\r
-\r
-public class JTableSG extends JTable implements JComponentSG {\r
-\r
- private static final long serialVersionUID = -8307824148871305452L;\r
- \r
- final private INode node;\r
- \r
- public JTableSG(TableModel model, INode node) {\r
- super(model);\r
- this.node = node;\r
- }\r
-\r
- @Override\r
- public boolean contains(int eventX, int eventY) {\r
- return JComponentUtils.contains(eventX, eventY, this, node);\r
- }\r
- \r
- @Override\r
- public boolean containsTransformed(Point p) {\r
- return super.contains(p.x, p.y);\r
- }\r
- \r
- @Override\r
- public JComponent getComponent() {\r
- return this;\r
- }\r
- \r
- @Override\r
- protected void processEvent(AWTEvent e) {\r
- super.processEvent(JComponentUtils.relocate(e, this, node));\r
- }\r
- \r
- private boolean isDragging = false;\r
- \r
- protected void mouseDragFinished() {\r
- \r
- }\r
- \r
- @Override\r
- protected JTableHeader createDefaultTableHeader() {\r
- \r
- class TableHeaderSG extends JTableHeader implements JComponentSG {\r
-\r
- private static final long serialVersionUID = 209426441282352819L;\r
-\r
- TableHeaderSG(TableColumnModel model) {\r
- super(model);\r
- }\r
-\r
- @Override\r
- public boolean contains(int eventX, int eventY) {\r
- return JComponentUtils.contains(eventX, eventY, this, node);\r
- }\r
- \r
- @Override\r
- public boolean containsTransformed(Point p) {\r
- return super.contains(p.x, p.y);\r
- }\r
- \r
- @Override\r
- public JComponent getComponent() {\r
- return this;\r
- }\r
- \r
- @Override\r
- protected void processEvent(AWTEvent e) {\r
- super.processEvent(JComponentUtils.relocate(e, this, node));\r
- }\r
- \r
- @Override\r
- protected void processMouseMotionEvent(MouseEvent e) {\r
- int id = e.getID();\r
- switch(id) {\r
- case MouseEvent.MOUSE_DRAGGED:\r
- isDragging = true;\r
- break;\r
- }\r
- super.processMouseMotionEvent(e);\r
- }\r
- \r
- @Override\r
- protected void processMouseEvent(MouseEvent e) {\r
- int id = e.getID();\r
- switch(id) {\r
- case MouseEvent.MOUSE_RELEASED:\r
- if(isDragging) mouseDragFinished();\r
- isDragging = false;\r
- break;\r
- }\r
- super.processMouseEvent(e);\r
- }\r
- \r
- }\r
- \r
- return new TableHeaderSG(columnModel);\r
- \r
- }\r
- \r
-}\r
+package org.simantics.scenegraph.swing;
+
+import java.awt.AWTEvent;
+import java.awt.Point;
+import java.awt.event.MouseEvent;
+
+import javax.swing.JComponent;
+import javax.swing.JTable;
+import javax.swing.table.JTableHeader;
+import javax.swing.table.TableColumnModel;
+import javax.swing.table.TableModel;
+
+import org.simantics.scenegraph.INode;
+
+public class JTableSG extends JTable implements JComponentSG {
+
+ private static final long serialVersionUID = -8307824148871305452L;
+
+ final private INode node;
+
+ public JTableSG(TableModel model, INode node) {
+ super(model);
+ this.node = node;
+ }
+
+ @Override
+ public boolean contains(int eventX, int eventY) {
+ return JComponentUtils.contains(eventX, eventY, this, node);
+ }
+
+ @Override
+ public boolean containsTransformed(Point p) {
+ return super.contains(p.x, p.y);
+ }
+
+ @Override
+ public JComponent getComponent() {
+ return this;
+ }
+
+ @Override
+ protected void processEvent(AWTEvent e) {
+ super.processEvent(JComponentUtils.relocate(e, this, node));
+ }
+
+ private boolean isDragging = false;
+
+ protected void mouseDragFinished() {
+
+ }
+
+ @Override
+ protected JTableHeader createDefaultTableHeader() {
+
+ class TableHeaderSG extends JTableHeader implements JComponentSG {
+
+ private static final long serialVersionUID = 209426441282352819L;
+
+ TableHeaderSG(TableColumnModel model) {
+ super(model);
+ }
+
+ @Override
+ public boolean contains(int eventX, int eventY) {
+ return JComponentUtils.contains(eventX, eventY, this, node);
+ }
+
+ @Override
+ public boolean containsTransformed(Point p) {
+ return super.contains(p.x, p.y);
+ }
+
+ @Override
+ public JComponent getComponent() {
+ return this;
+ }
+
+ @Override
+ protected void processEvent(AWTEvent e) {
+ super.processEvent(JComponentUtils.relocate(e, this, node));
+ }
+
+ @Override
+ protected void processMouseMotionEvent(MouseEvent e) {
+ int id = e.getID();
+ switch(id) {
+ case MouseEvent.MOUSE_DRAGGED:
+ isDragging = true;
+ break;
+ }
+ super.processMouseMotionEvent(e);
+ }
+
+ @Override
+ protected void processMouseEvent(MouseEvent e) {
+ int id = e.getID();
+ switch(id) {
+ case MouseEvent.MOUSE_RELEASED:
+ if(isDragging) mouseDragFinished();
+ isDragging = false;
+ break;
+ }
+ super.processMouseEvent(e);
+ }
+
+ }
+
+ return new TableHeaderSG(columnModel);
+
+ }
+
+}