]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.spreadsheet.ui/src/org/simantics/spreadsheet/ui/editor/SheetTab.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.spreadsheet.ui / src / org / simantics / spreadsheet / ui / editor / SheetTab.java
1 package org.simantics.spreadsheet.ui.editor;\r
2 \r
3 import org.eclipse.jface.layout.GridDataFactory;\r
4 import org.eclipse.jface.layout.GridLayoutFactory;\r
5 import org.eclipse.swt.SWT;\r
6 import org.eclipse.swt.graphics.Font;\r
7 import org.eclipse.swt.widgets.Composite;\r
8 import org.eclipse.swt.widgets.Display;\r
9 import org.eclipse.ui.IWorkbenchSite;\r
10 import org.simantics.browsing.ui.swt.widgets.Label;\r
11 import org.simantics.browsing.ui.swt.widgets.TrackedText;\r
12 import org.simantics.browsing.ui.swt.widgets.VariableIntegerPropertyTextModifier;\r
13 import org.simantics.browsing.ui.swt.widgets.VariableStringPropertyFactory;\r
14 import org.simantics.browsing.ui.swt.widgets.impl.WidgetSupport;\r
15 import org.simantics.db.layer0.variable.Variable;\r
16 import org.simantics.db.management.ISessionContext;\r
17 import org.simantics.selectionview.PropertyTabContributorImpl;\r
18 \r
19 public class SheetTab extends PropertyTabContributorImpl {\r
20 \r
21         static class NoCellInput {\r
22                 \r
23                 public Variable sheet;\r
24                 public String location;\r
25                 \r
26                 public NoCellInput(Variable sheet, String location) {\r
27                         this.sheet = sheet;\r
28                         this.location = location;\r
29                 }\r
30                 \r
31         }\r
32         \r
33     public void createControls(Composite body, IWorkbenchSite site, final ISessionContext context, WidgetSupport support) {\r
34 \r
35         Display display = body.getDisplay();\r
36         Font font = new Font(display, "Arial", 12, SWT.NONE); \r
37 \r
38         Composite composite = new Composite(body, SWT.NONE);\r
39         composite.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
40         GridDataFactory.fillDefaults().grab(true, true).applyTo(composite);\r
41         GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(2).applyTo(composite);\r
42         \r
43         Composite headerComposite = new Composite(composite, 0);\r
44         headerComposite.setBackground(display.getSystemColor(SWT.COLOR_BLACK));\r
45         GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(headerComposite);\r
46         GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(1).extendedMargins(2,2,2,2).applyTo(headerComposite);\r
47 \r
48         Composite headerComposite2 = new Composite(headerComposite, 0);\r
49         headerComposite2.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
50         GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(headerComposite2);\r
51         GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(1).extendedMargins(3,3,3,3).applyTo(headerComposite2);\r
52 \r
53         Label header = new Label(headerComposite2, support, 0);\r
54         header.setText("Sheet");\r
55         header.setFont(font);\r
56         header.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
57         GridDataFactory.fillDefaults().grab(true, false).span(2, 1).align(SWT.CENTER, SWT.CENTER).applyTo(header.getWidget());\r
58         \r
59         Label rowsLabel = new Label(composite, support, SWT.NONE);\r
60         rowsLabel.setText("Rows: ");\r
61         rowsLabel.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
62         GridDataFactory.fillDefaults().grab(false, false).applyTo(rowsLabel.getWidget());\r
63         \r
64         TrackedText rows = new TrackedText(composite, support, SWT.BORDER);\r
65         rows.setTextFactory(new VariableStringPropertyFactory("/DimensionsCell#RowCount"));\r
66         rows.addModifyListener(new VariableIntegerPropertyTextModifier("/DimensionsCell#RowCount"));\r
67         GridDataFactory.fillDefaults().grab(true, false).applyTo(rows.getWidget());\r
68         \r
69         Label columnsLabel = new Label(composite, support, SWT.NONE);\r
70         columnsLabel.setText("Columns: ");\r
71         columnsLabel.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
72         GridDataFactory.fillDefaults().grab(false, false).applyTo(columnsLabel.getWidget());\r
73         \r
74         TrackedText columns = new TrackedText(composite, support, SWT.BORDER);\r
75         columns.setTextFactory(new VariableStringPropertyFactory("/DimensionsCell#ColumnCount"));\r
76         columns.addModifyListener(new VariableIntegerPropertyTextModifier("/DimensionsCell#ColumnCount"));\r
77         GridDataFactory.fillDefaults().grab(true, false).applyTo(columns.getWidget());\r
78         \r
79         \r
80     }\r
81    \r
82 }\r