X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Fui%2Fdiagram%2FSheetNode.java.keep;h=3cb9a206c72f783a1d1f9cccbe0d6260c1161604;hb=95144e3b879f0a10715927027bb9a7aa8e05bdeb;hp=6dab808821a5f8a961a26e6eeb1608a8ce62f86a;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/SheetNode.java.keep b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/SheetNode.java.keep index 6dab80882..3cb9a206c 100644 --- a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/SheetNode.java.keep +++ b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/SheetNode.java.keep @@ -1,155 +1,155 @@ -package org.simantics.modeling.ui.diagram; - -import java.awt.Graphics2D; -import java.awt.Rectangle; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.FocusEvent; -import java.awt.event.FocusListener; -import java.beans.PropertyChangeEvent; - -import javax.swing.event.TableModelListener; -import javax.swing.table.TableModel; - -import org.simantics.scenegraph.g2d.G2DRenderingHints; -import org.simantics.scenegraph.g2d.nodes.ComponentNode; -import org.simantics.spreadsheet.Cell; -import org.simantics.spreadsheet.Model; -import org.simantics.spreadsheet.ui.Spreadsheet.SpreadsheetModel; - -public class SheetNode extends ComponentNode implements ActionListener, FocusListener { - - private static final long serialVersionUID = -8212264868316567181L; - - private SpreadsheetModel sm; - - class Proxy implements Model, TableModel { - - TableModelListener listener; - Model model; - TableModel tableModel; - - Proxy(Model model, TableModel tableModel) { - this.model = model; - this.tableModel = tableModel; - } - - @Override - public Cell get(int row, int column) { - throw new Error(); - } - - @Override - public T getAdapter(Class clazz) { - return model.getAdapter(clazz); - } - - @Override - public void dispose() { - throw new Error(); - } - - @Override - public void addTableModelListener(TableModelListener l) { - assert(listener == null); - listener = l; - } - - @Override - public Class getColumnClass(int columnIndex) { - return tableModel.getColumnClass(columnIndex); - } - - @Override - public int getColumnCount() { - return 2; - } - - @Override - public String getColumnName(int columnIndex) { - return "" + columnIndex; - } - - @Override - public int getRowCount() { - return 15; - } - - @Override - public Object getValueAt(int rowIndex, int columnIndex) { - return tableModel.getValueAt(rowIndex, columnIndex); - } - - @Override - public boolean isCellEditable(int rowIndex, int columnIndex) { - return true; - } - - @Override - public void removeTableModelListener(TableModelListener l) { - throw new Error(); - } - - @Override - public void setValueAt(Object aValue, int rowIndex, int columnIndex) { - throw new Error(); - } - - } - - public void init(Model model, TableModel tableModel) { - - Proxy proxy = new Proxy(model, tableModel); - - sm = new SpreadsheetModel(proxy, proxy, null); - component = sm.createComponent(false); - component.addFocusListener(this); - super.propertyChange(new PropertyChangeEvent(this, "component", null, component)); - - } - - 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({"width", "height"}) - public void setSize(int width, int height) { - this.width = width; - this.height = height; -// container.setBounds(0, 0, width, height); -// component.setBounds(0, 0, width, height); -// component.validate(); -// container.validate(); -// System.out.println("table bounds=" + sm.getTable().getBounds()); -// - } - - @Override - public void focusGained(FocusEvent arg0) { - } - - @Override - public void focusLost(FocusEvent arg0) { - } - - @Override - public void render(Graphics2D g2d) { - Rectangle bounds = (Rectangle)g2d.getRenderingHint(G2DRenderingHints.KEY_CONTROL_BOUNDS); - width = (int)bounds.getWidth(); - height = (int)bounds.getHeight(); - super.render(g2d); - } - -} +package org.simantics.modeling.ui.diagram; + +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.beans.PropertyChangeEvent; + +import javax.swing.event.TableModelListener; +import javax.swing.table.TableModel; + +import org.simantics.scenegraph.g2d.G2DRenderingHints; +import org.simantics.scenegraph.g2d.nodes.ComponentNode; +import org.simantics.spreadsheet.Cell; +import org.simantics.spreadsheet.Model; +import org.simantics.spreadsheet.ui.Spreadsheet.SpreadsheetModel; + +public class SheetNode extends ComponentNode implements ActionListener, FocusListener { + + private static final long serialVersionUID = -8212264868316567181L; + + private SpreadsheetModel sm; + + class Proxy implements Model, TableModel { + + TableModelListener listener; + Model model; + TableModel tableModel; + + Proxy(Model model, TableModel tableModel) { + this.model = model; + this.tableModel = tableModel; + } + + @Override + public Cell get(int row, int column) { + throw new Error(); + } + + @Override + public T getAdapter(Class clazz) { + return model.getAdapter(clazz); + } + + @Override + public void dispose() { + throw new Error(); + } + + @Override + public void addTableModelListener(TableModelListener l) { + assert(listener == null); + listener = l; + } + + @Override + public Class getColumnClass(int columnIndex) { + return tableModel.getColumnClass(columnIndex); + } + + @Override + public int getColumnCount() { + return 2; + } + + @Override + public String getColumnName(int columnIndex) { + return "" + columnIndex; + } + + @Override + public int getRowCount() { + return 15; + } + + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + return tableModel.getValueAt(rowIndex, columnIndex); + } + + @Override + public boolean isCellEditable(int rowIndex, int columnIndex) { + return true; + } + + @Override + public void removeTableModelListener(TableModelListener l) { + throw new Error(); + } + + @Override + public void setValueAt(Object aValue, int rowIndex, int columnIndex) { + throw new Error(); + } + + } + + public void init(Model model, TableModel tableModel) { + + Proxy proxy = new Proxy(model, tableModel); + + sm = new SpreadsheetModel(proxy, proxy, null); + component = sm.createComponent(false); + component.addFocusListener(this); + super.propertyChange(new PropertyChangeEvent(this, "component", null, component)); + + } + + 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({"width", "height"}) + public void setSize(int width, int height) { + this.width = width; + this.height = height; +// container.setBounds(0, 0, width, height); +// component.setBounds(0, 0, width, height); +// component.validate(); +// container.validate(); +// System.out.println("table bounds=" + sm.getTable().getBounds()); +// + } + + @Override + public void focusGained(FocusEvent arg0) { + } + + @Override + public void focusLost(FocusEvent arg0) { + } + + @Override + public void render(Graphics2D g2d) { + Rectangle bounds = (Rectangle)g2d.getRenderingHint(G2DRenderingHints.KEY_CONTROL_BOUNDS); + width = (int)bounds.getWidth(); + height = (int)bounds.getHeight(); + super.render(g2d); + } + +}