1 package org.simantics.modeling.ui.diagram.monitor;
\r
3 import org.eclipse.jface.layout.GridDataFactory;
\r
4 import org.eclipse.jface.resource.ColorDescriptor;
\r
5 import org.eclipse.swt.SWT;
\r
6 import org.eclipse.swt.graphics.Color;
\r
7 import org.eclipse.swt.graphics.RGB;
\r
8 import org.eclipse.swt.widgets.Composite;
\r
9 import org.eclipse.swt.widgets.Display;
\r
10 import org.eclipse.ui.IWorkbenchSite;
\r
11 import org.simantics.browsing.ui.swt.widgets.DefaultColorProvider;
\r
12 import org.simantics.browsing.ui.swt.widgets.TrackedText;
\r
13 import org.simantics.browsing.ui.swt.widgets.impl.WidgetSupport;
\r
14 import org.simantics.db.management.ISessionContext;
\r
15 import org.simantics.selectionview.ConfigurationComposite;
\r
17 public class MonitorExpressionComposite extends ConfigurationComposite {
\r
19 public void create(final Composite body, IWorkbenchSite site, final ISessionContext context, final WidgetSupport support) {
\r
21 final Display display = body.getDisplay();
\r
23 body.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
\r
25 // Composite headerComposite = new Composite(body, 0);
\r
26 // headerComposite.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
\r
27 // GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(headerComposite);
\r
28 // GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(1).extendedMargins(2,2,2,2).applyTo(headerComposite);
\r
30 // final Composite headerComposite2 = new Composite(headerComposite, 0);
\r
31 // headerComposite2.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
\r
32 // GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(headerComposite2);
\r
33 // GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(2).extendedMargins(3,3,3,3).applyTo(headerComposite2);
\r
35 // final Label header = new Label(headerComposite2, support, 0);
\r
36 // header.setText("Monitor");
\r
37 // header.setFont(font);
\r
38 // header.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
\r
39 // GridDataFactory.fillDefaults().grab(true, false).span(2, 1).align(SWT.CENTER, SWT.CENTER).applyTo(header.getWidget());
\r
41 // Composite buttonComposite = new Composite(body, SWT.NONE);
\r
42 // buttonComposite.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
\r
43 // GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(buttonComposite);
\r
44 // GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(3).extendedMargins(5,5,5,5).applyTo(buttonComposite);
\r
46 // Label templateHeader = new Label(buttonComposite, support, 0);
\r
47 // templateHeader.setText("Template");
\r
48 // templateHeader.setFont(smallFont);
\r
49 // templateHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
\r
50 // GridDataFactory.fillDefaults().grab(false, false).span(1, 1).align(SWT.LEFT, SWT.CENTER).applyTo(templateHeader.getWidget());
\r
52 // Combo templateCombo = new Combo(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);
\r
53 // templateCombo.setItemFactory(new AvailableTemplateFactory());
\r
54 // templateCombo.setSelectionFactory(new CurrentTemplateFactory());
\r
55 // templateCombo.addModifyListener(new TemplateModifier());
\r
56 // GridDataFactory.fillDefaults().grab(true, false).applyTo(templateCombo.getWidget());
\r
58 // Button resetButton = new Button(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);
\r
59 // resetButton.setText("Reset Local Changes");
\r
60 // resetButton.addSelectionListener(new SelectionListenerImpl<Resource>(context) {
\r
63 // public void apply(WriteGraph graph, Resource monitor) throws DatabaseException {
\r
65 // Layer0 L0 = Layer0.getInstance(graph);
\r
66 // DiagramResource DIA = DiagramResource.getInstance(graph);
\r
67 // if(graph.hasStatement(monitor, DIA.HasFont)) graph.deny(monitor, DIA.HasFont);
\r
68 // if(graph.hasStatement(monitor, DIA.HasFormatter)) graph.deny(monitor, DIA.HasFormatter);
\r
69 // if(graph.hasStatement(monitor, DIA.HasColor)) graph.deny(monitor, DIA.HasColor);
\r
70 // if(graph.hasStatement(monitor, L0X.HasExpression)) graph.deny(monitor, L0X.HasExpression);
\r
76 // GridDataFactory.fillDefaults().grab(false, false).applyTo(resetButton.getWidget());
\r
78 // Label fontHeader = new Label(buttonComposite, support, 0);
\r
79 // fontHeader.setText("Font Family");
\r
80 // fontHeader.setFont(smallFont);
\r
81 // fontHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
\r
82 // GridDataFactory.fillDefaults().grab(false, false).span(1, 1).align(SWT.LEFT, SWT.CENTER).applyTo(fontHeader.getWidget());
\r
84 // Combo fontCombo = new Combo(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);
\r
85 // fontCombo.setItemFactory2(new AvailableFontFactory());
\r
86 // fontCombo.setSelectionFactory(new CurrentFontFactory());
\r
87 // fontCombo.addModifyListener(new FontModifier());
\r
88 // GridDataFactory.fillDefaults().grab(true, false).span(2,1).applyTo(fontCombo.getWidget());
\r
90 // Label sizeHeader = new Label(buttonComposite, support, 0);
\r
91 // sizeHeader.setText("Font Size");
\r
92 // sizeHeader.setFont(smallFont);
\r
93 // sizeHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
\r
94 // GridDataFactory.fillDefaults().grab(false, false).span(1, 1).align(SWT.LEFT, SWT.CENTER).applyTo(sizeHeader.getWidget());
\r
96 // Combo sizeCombo = new Combo(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);
\r
97 // sizeCombo.setItemFactory2(new AvailableFontSizeFactory());
\r
98 // sizeCombo.setSelectionFactory(new CurrentFontSizeFactory());
\r
99 // sizeCombo.addModifyListener(new FontSizeModifier());
\r
100 // GridDataFactory.fillDefaults().grab(false, false).span(2,1).minSize(50, 0).applyTo(sizeCombo.getWidget());
\r
102 // Label formatterHeader = new Label(buttonComposite, support, 0);
\r
103 // formatterHeader.setText("Formatting");
\r
104 // formatterHeader.setFont(smallFont);
\r
105 // formatterHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
\r
106 // GridDataFactory.fillDefaults().grab(false, false).span(1, 1).align(SWT.LEFT, SWT.CENTER).applyTo(formatterHeader.getWidget());
\r
108 // Combo formatCombo = new Combo(buttonComposite, support, SWT.NONE | SWT.READ_ONLY);
\r
109 // formatCombo.setItemFactory(new AvailableFormatFactory());
\r
110 // formatCombo.setSelectionFactory(new CurrentFormatFactory());
\r
111 // formatCombo.addModifyListener(new FormatModifier());
\r
112 // GridDataFactory.fillDefaults().grab(true, false).span(2,1).applyTo(formatCombo.getWidget());
\r
114 // Label expressionHeader = new Label(body, support, 0);
\r
115 // expressionHeader.setText("Expression");
\r
116 // expressionHeader.setFont(font);
\r
117 // expressionHeader.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
\r
118 // GridDataFactory.fillDefaults().grab(true, false).span(2, 1).align(SWT.CENTER, SWT.CENTER).applyTo(expressionHeader.getWidget());
\r
120 TrackedText expression = new TrackedText(body, support, SWT.MULTI | SWT.BORDER);
\r
121 expression.setColorProvider(new DefaultColorProvider(expression.getResourceManager()) {
\r
123 private final ColorDescriptor inactiveColor = ColorDescriptor.createFrom(new RGB(220, 220, 255));
\r
126 public Color getInactiveBackground() {
\r
127 return resourceManager.createColor(inactiveColor);
\r
131 expression.setTextFactory(new CurrentExpressionFactory());
\r
132 expression.addModifyListener(new ExpressionModifier());
\r
133 GridDataFactory.fillDefaults().grab(true, true).applyTo(expression.getWidget());
\r