1 package org.simantics.spreadsheet.ui.editor;
3 import org.eclipse.jface.layout.GridDataFactory;
4 import org.eclipse.jface.layout.GridLayoutFactory;
5 import org.eclipse.swt.SWT;
6 import org.eclipse.swt.graphics.Font;
7 import org.eclipse.swt.widgets.Composite;
8 import org.eclipse.swt.widgets.Display;
9 import org.eclipse.ui.IWorkbenchSite;
10 import org.simantics.browsing.ui.swt.widgets.Label;
11 import org.simantics.browsing.ui.swt.widgets.TrackedText;
12 import org.simantics.browsing.ui.swt.widgets.VariableStringPropertyFactory;
13 import org.simantics.browsing.ui.swt.widgets.VariableStringPropertyTextModifier;
14 import org.simantics.browsing.ui.swt.widgets.impl.WidgetSupport;
15 import org.simantics.db.management.ISessionContext;
16 import org.simantics.selectionview.PropertyTabContributorImpl;
18 public class TextCellTab extends PropertyTabContributorImpl {
20 public void createControls(Composite body, IWorkbenchSite site, final ISessionContext context, WidgetSupport support) {
22 Display display = body.getDisplay();
23 Font font = new Font(display, "Arial", 12, SWT.NONE);
25 Composite composite = new Composite(body, SWT.NONE);
26 composite.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
27 GridDataFactory.fillDefaults().grab(true, true).applyTo(composite);
28 GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(2).applyTo(composite);
30 Composite headerComposite = new Composite(composite, 0);
31 headerComposite.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
32 GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(headerComposite);
33 GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(1).extendedMargins(2,2,2,2).applyTo(headerComposite);
35 Composite headerComposite2 = new Composite(headerComposite, 0);
36 headerComposite2.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
37 GridDataFactory.fillDefaults().span(2, 1).grab(true, false).applyTo(headerComposite2);
38 GridLayoutFactory.fillDefaults().equalWidth(false).numColumns(1).extendedMargins(3,3,3,3).applyTo(headerComposite2);
40 Label header = new Label(headerComposite2, support, 0);
41 //header.setTextFactory(new VariableStringPropertyFactory(" Variable - %1", "#URI"));
42 header.setText("Text");
44 header.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
45 GridDataFactory.fillDefaults().grab(true, false).span(2, 1).align(SWT.CENTER, SWT.CENTER).applyTo(header.getWidget());
47 Label label = new Label(composite, support, SWT.NONE);
48 label.setText("Text: ");
49 label.setBackground(display.getSystemColor(SWT.COLOR_WHITE));
50 GridDataFactory.fillDefaults().grab(false, false).applyTo(label.getWidget());
52 TrackedText name = new TrackedText(composite, support, SWT.BORDER);
53 name.setTextFactory(new VariableStringPropertyFactory("#Label"));
54 name.addModifyListener(new VariableStringPropertyTextModifier("Label"));
55 GridDataFactory.fillDefaults().grab(true, false).applyTo(name.getWidget());