import javax.jcr.Item;
import javax.jcr.RepositoryException;
-import org.argeo.cms.ui.util.CmsUiUtils;
+import org.argeo.cms.swt.CmsSwtUtils;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.layout.GridData;
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);
+ }
}
}
protected Label createLabel(Composite box, String style) {
Label lbl = new Label(box, getStyle() | SWT.WRAP);
- lbl.setLayoutData(CmsUiUtils.fillWidth());
+ lbl.setLayoutData(CmsSwtUtils.fillWidth());
if (style != null)
- CmsUiUtils.style(lbl, style);
- CmsUiUtils.markup(lbl);
+ CmsSwtUtils.style(lbl, style);
+ CmsSwtUtils.markup(lbl);
+ if (mouseListener != null)
+ lbl.addMouseListener(mouseListener);
+ return lbl;
+ }
+
+ protected Text createTextLabel(Composite box, String style) {
+ Text lbl = new Text(box, getStyle() | SWT.MULTI);
+ lbl.setEditable(false);
+ lbl.setLayoutData(CmsSwtUtils.fillWidth());
+ if (style != null)
+ CmsSwtUtils.style(lbl, style);
+ CmsSwtUtils.markup(lbl);
if (mouseListener != null)
lbl.addMouseListener(mouseListener);
return lbl;
final Text text = new Text(box, getStyle() | SWT.MULTI | SWT.WRAP);
text.setEditable(editable);
- GridData textLayoutData = CmsUiUtils.fillWidth();
+ GridData textLayoutData = CmsSwtUtils.fillWidth();
// textLayoutData.heightHint = preferredHeight;
text.setLayoutData(textLayoutData);
if (style != null)
- CmsUiUtils.style(text, style);
+ CmsSwtUtils.style(text, style);
text.setFocus();
return text;
}
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;
+ }
+
}