-package org.simantics.views.swt.client.impl;\r
-\r
-import org.eclipse.jface.viewers.StructuredSelection;\r
-import org.eclipse.swt.custom.StyledText;\r
-import org.eclipse.swt.events.SelectionEvent;\r
-import org.eclipse.swt.events.SelectionListener;\r
-import org.eclipse.swt.graphics.Point;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.simantics.views.ViewUtils;\r
-import org.simantics.views.swt.client.base.SingleSWTViewNode;\r
-\r
-public class SWTStyledText extends SingleSWTViewNode<StyledText> {\r
- \r
- private static final long serialVersionUID = 7932335224632082902L;\r
- \r
- @Override\r
- public void createControls(Composite parent) {\r
- \r
- control = new StyledText(parent, style);\r
- control.setEnabled(false);\r
- setProperties();\r
- \r
- control.addSelectionListener(new SelectionListener() {\r
- @Override\r
- public void widgetSelected(SelectionEvent e) {\r
- String selectionText = control.getSelectionText();\r
- ViewUtils.setWorkbenchSelection(new StructuredSelection(selectionText));\r
- }\r
- @Override\r
- public void widgetDefaultSelected(SelectionEvent e) {\r
- widgetSelected(e);\r
- }\r
- });\r
- \r
- }\r
- \r
- @Override\r
- public void synchronizeText(String text) {\r
- if(text != null) {\r
- // Try to keep the vertical scroll position of the text widget\r
- int caretOffset = control.getCaretOffset();\r
- int charCount = control.getCharCount();\r
- int topIndex = control.getTopIndex();\r
- int diff = text.length() - charCount;\r
- control.setText(text);\r
- caretOffset = Math.max(0, Math.min(caretOffset + diff, text.length()));\r
- control.setTopIndex(topIndex);\r
- control.setCaretOffset(caretOffset);\r
- control.setEnabled(true);\r
- } else {\r
- control.setText("");\r
- control.setEnabled(false);\r
- }\r
- }\r
- \r
- public String readText() {\r
- return control.getText();\r
- }\r
- \r
- public Point readSelection() {\r
- return control.getSelection();\r
- }\r
-\r
-}\r
+package org.simantics.views.swt.client.impl;
+
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.widgets.Composite;
+import org.simantics.views.ViewUtils;
+import org.simantics.views.swt.client.base.SingleSWTViewNode;
+
+public class SWTStyledText extends SingleSWTViewNode<StyledText> {
+
+ private static final long serialVersionUID = 7932335224632082902L;
+
+ @Override
+ public void createControls(Composite parent) {
+
+ control = new StyledText(parent, style);
+ control.setEnabled(false);
+ setProperties();
+
+ control.addSelectionListener(new SelectionListener() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ String selectionText = control.getSelectionText();
+ ViewUtils.setWorkbenchSelection(new StructuredSelection(selectionText));
+ }
+ @Override
+ public void widgetDefaultSelected(SelectionEvent e) {
+ widgetSelected(e);
+ }
+ });
+
+ }
+
+ @Override
+ public void synchronizeText(String text) {
+ if(text != null) {
+ // Try to keep the vertical scroll position of the text widget
+ int caretOffset = control.getCaretOffset();
+ int charCount = control.getCharCount();
+ int topIndex = control.getTopIndex();
+ int diff = text.length() - charCount;
+ control.setText(text);
+ caretOffset = Math.max(0, Math.min(caretOffset + diff, text.length()));
+ control.setTopIndex(topIndex);
+ control.setCaretOffset(caretOffset);
+ control.setEnabled(true);
+ } else {
+ control.setText("");
+ control.setEnabled(false);
+ }
+ }
+
+ public String readText() {
+ return control.getText();
+ }
+
+ public Point readSelection() {
+ return control.getSelection();
+ }
+
+}