X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.ui%2Fsrc%2Forg%2Fargeo%2Fcms%2Fui%2Fwidgets%2FEditableText.java;h=27b7c9b105ed4ad5e66790bd9f8cfe2fad0f0679;hb=632b55e1fdf15316fd5a460e98b547aa1d49d66f;hp=5fadbc07ba436b0a0a867f4c602e3b68d3ba51df;hpb=5e3263b18866736c3973cb2654c72fa4e549df05;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.ui/src/org/argeo/cms/ui/widgets/EditableText.java b/org.argeo.cms.ui/src/org/argeo/cms/ui/widgets/EditableText.java index 5fadbc07b..27b7c9b10 100644 --- a/org.argeo.cms.ui/src/org/argeo/cms/ui/widgets/EditableText.java +++ b/org.argeo.cms.ui/src/org/argeo/cms/ui/widgets/EditableText.java @@ -21,6 +21,8 @@ public class EditableText extends StyledControl { 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)); @@ -42,8 +44,11 @@ public class EditableText extends StyledControl { 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); + } } } @@ -58,6 +63,18 @@ public class EditableText extends StyledControl { 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); @@ -111,8 +128,18 @@ public class EditableText extends StyledControl { 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; + } + }