]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/MonitorExpressionComposite.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / diagram / monitor / MonitorExpressionComposite.java
diff --git a/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/MonitorExpressionComposite.java b/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/diagram/monitor/MonitorExpressionComposite.java
new file mode 100644 (file)
index 0000000..2ec8b51
--- /dev/null
@@ -0,0 +1,137 @@
+package org.simantics.modeling.ui.diagram.monitor;\r
+\r
+import org.eclipse.jface.layout.GridDataFactory;\r
+import org.eclipse.jface.resource.ColorDescriptor;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.graphics.Color;\r
+import org.eclipse.swt.graphics.RGB;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Display;\r
+import org.eclipse.ui.IWorkbenchSite;\r
+import org.simantics.browsing.ui.swt.widgets.DefaultColorProvider;\r
+import org.simantics.browsing.ui.swt.widgets.TrackedText;\r
+import org.simantics.browsing.ui.swt.widgets.impl.WidgetSupport;\r
+import org.simantics.db.management.ISessionContext;\r
+import org.simantics.selectionview.ConfigurationComposite;\r
+\r
+public class MonitorExpressionComposite extends ConfigurationComposite {\r
+    \r
+    public void create(final Composite body, IWorkbenchSite site, final ISessionContext context, final WidgetSupport support) {\r
+        \r
+        final Display display = body.getDisplay();\r
+        \r
+        body.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
+        \r
+//        Composite headerComposite = new Composite(body, 0);\r
+//        headerComposite.setBackground(display.getSystemColor(SWT.COLOR_BLACK));\r
+//        GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(headerComposite);\r
+//        GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(1).extendedMargins(2,2,2,2).applyTo(headerComposite);\r
+//\r
+//        final Composite headerComposite2 = new Composite(headerComposite, 0);\r
+//        headerComposite2.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
+//        GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(headerComposite2);\r
+//        GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(2).extendedMargins(3,3,3,3).applyTo(headerComposite2);\r
+//\r
+//        final Label header = new Label(headerComposite2, support, 0);\r
+//        header.setText("Monitor");\r
+//        header.setFont(font);\r
+//        header.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
+//        GridDataFactory.fillDefaults().grab(true, false).span(2, 1).align(SWT.CENTER, SWT.CENTER).applyTo(header.getWidget());\r
+        \r
+//        Composite buttonComposite = new Composite(body, SWT.NONE);\r
+//        buttonComposite.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
+//        GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(buttonComposite);\r
+//        GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(3).extendedMargins(5,5,5,5).applyTo(buttonComposite);\r
+//\r
+//        Label templateHeader = new Label(buttonComposite, support, 0);\r
+//        templateHeader.setText("Template");\r
+//        templateHeader.setFont(smallFont);\r
+//        templateHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
+//        GridDataFactory.fillDefaults().grab(false, false).span(1, 1).align(SWT.LEFT, SWT.CENTER).applyTo(templateHeader.getWidget());\r
+//\r
+//        Combo templateCombo = new Combo(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);\r
+//        templateCombo.setItemFactory(new AvailableTemplateFactory());\r
+//        templateCombo.setSelectionFactory(new CurrentTemplateFactory());\r
+//        templateCombo.addModifyListener(new TemplateModifier());\r
+//        GridDataFactory.fillDefaults().grab(true, false).applyTo(templateCombo.getWidget());\r
+//\r
+//        Button resetButton = new Button(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);\r
+//        resetButton.setText("Reset Local Changes");\r
+//        resetButton.addSelectionListener(new SelectionListenerImpl<Resource>(context) {\r
+//\r
+//                     @Override\r
+//                     public void apply(WriteGraph graph, Resource monitor) throws DatabaseException {\r
+//                             \r
+//                             Layer0 L0 = Layer0.getInstance(graph);\r
+//                             DiagramResource DIA = DiagramResource.getInstance(graph);\r
+//                             if(graph.hasStatement(monitor, DIA.HasFont)) graph.deny(monitor, DIA.HasFont);\r
+//                             if(graph.hasStatement(monitor, DIA.HasFormatter)) graph.deny(monitor, DIA.HasFormatter);\r
+//                             if(graph.hasStatement(monitor, DIA.HasColor)) graph.deny(monitor, DIA.HasColor);\r
+//                             if(graph.hasStatement(monitor, L0X.HasExpression)) graph.deny(monitor, L0X.HasExpression);\r
+//                             \r
+//                     }\r
+//                     \r
+//             });\r
+//\r
+//        GridDataFactory.fillDefaults().grab(false, false).applyTo(resetButton.getWidget());\r
+//\r
+//        Label fontHeader = new Label(buttonComposite, support, 0);\r
+//        fontHeader.setText("Font Family");\r
+//        fontHeader.setFont(smallFont);\r
+//        fontHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
+//        GridDataFactory.fillDefaults().grab(false, false).span(1, 1).align(SWT.LEFT, SWT.CENTER).applyTo(fontHeader.getWidget());\r
+//\r
+//        Combo fontCombo = new Combo(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);\r
+//             fontCombo.setItemFactory2(new AvailableFontFactory());\r
+//             fontCombo.setSelectionFactory(new CurrentFontFactory());\r
+//             fontCombo.addModifyListener(new FontModifier());\r
+//        GridDataFactory.fillDefaults().grab(true, false).span(2,1).applyTo(fontCombo.getWidget());\r
+//\r
+//        Label sizeHeader = new Label(buttonComposite, support, 0);\r
+//        sizeHeader.setText("Font Size");\r
+//        sizeHeader.setFont(smallFont);\r
+//        sizeHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
+//        GridDataFactory.fillDefaults().grab(false, false).span(1, 1).align(SWT.LEFT, SWT.CENTER).applyTo(sizeHeader.getWidget());\r
+//\r
+//        Combo sizeCombo = new Combo(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);\r
+//             sizeCombo.setItemFactory2(new AvailableFontSizeFactory());\r
+//             sizeCombo.setSelectionFactory(new CurrentFontSizeFactory());\r
+//             sizeCombo.addModifyListener(new FontSizeModifier());\r
+//        GridDataFactory.fillDefaults().grab(false, false).span(2,1).minSize(50, 0).applyTo(sizeCombo.getWidget());\r
+//\r
+//        Label formatterHeader = new Label(buttonComposite, support, 0);\r
+//        formatterHeader.setText("Formatting");\r
+//        formatterHeader.setFont(smallFont);\r
+//        formatterHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
+//        GridDataFactory.fillDefaults().grab(false, false).span(1, 1).align(SWT.LEFT, SWT.CENTER).applyTo(formatterHeader.getWidget());\r
+//        \r
+//        Combo formatCombo = new Combo(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);\r
+//             formatCombo.setItemFactory(new AvailableFormatFactory());\r
+//             formatCombo.setSelectionFactory(new CurrentFormatFactory());\r
+//             formatCombo.addModifyListener(new FormatModifier());\r
+//        GridDataFactory.fillDefaults().grab(true, false).span(2,1).applyTo(formatCombo.getWidget());\r
+//        \r
+//        Label expressionHeader = new Label(body, support, 0);\r
+//        expressionHeader.setText("Expression");\r
+//        expressionHeader.setFont(font);\r
+//        expressionHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));\r
+//        GridDataFactory.fillDefaults().grab(true, false).span(2, 1).align(SWT.CENTER, SWT.CENTER).applyTo(expressionHeader.getWidget());\r
+\r
+        TrackedText expression = new TrackedText(body, support, SWT.MULTI | SWT.BORDER);\r
+        expression.setColorProvider(new DefaultColorProvider(expression.getResourceManager()) {\r
+               \r
+            private final ColorDescriptor inactiveColor = ColorDescriptor.createFrom(new RGB(220, 220, 255));\r
+               \r
+               @Override\r
+               public Color getInactiveBackground() {\r
+                       return resourceManager.createColor(inactiveColor);\r
+               }\r
+               \r
+        });\r
+        expression.setTextFactory(new CurrentExpressionFactory());\r
+        expression.addModifyListener(new ExpressionModifier());\r
+        GridDataFactory.fillDefaults().grab(true, true).applyTo(expression.getWidget());\r
+        \r
+    }\r
+    \r
+}\r