private Color highlightColor;
private Composite highlight;
+ private boolean useTextAsLabel = false;
+
public EditableText(Composite parent, int style) {
super(parent, style);
editable = !(SWT.READ_ONLY == (style & SWT.READ_ONLY));
if (isEditing() && getEditable()) {
return createText(box, style, true);
} else {
-// return createText(box, style, false);
- return createLabel(box, style);
+ if (useTextAsLabel) {
+ return createTextLabel(box, style);
+ } else {
+ return createLabel(box, style);
+ }
}
}
return lbl;
}
+ protected Text createTextLabel(Composite box, String style) {
+ Text lbl = new Text(box, getStyle() | SWT.MULTI);
+ lbl.setEditable(false);
+ lbl.setLayoutData(CmsUiUtils.fillWidth());
+ if (style != null)
+ CmsUiUtils.style(lbl, style);
+ CmsUiUtils.markup(lbl);
+ if (mouseListener != null)
+ lbl.addMouseListener(mouseListener);
+ return lbl;
+ }
+
protected Text createText(Composite box, String style, boolean editable) {
highlight = new Composite(box, SWT.NONE);
highlight.setBackground(highlightColor);
throw new IllegalStateException("Unsupported control " + child.getClass());
}
+ /** @deprecated Use {@link #isEditable()} instead. */
+ @Deprecated
public boolean getEditable() {
+ return isEditable();
+ }
+
+ public boolean isEditable() {
return editable;
}
+ public void setUseTextAsLabel(boolean useTextAsLabel) {
+ this.useTextAsLabel = useTextAsLabel;
+ }
+
}