Improve read-only terms parts.
[gpl/argeo-suite.git] / core / org.argeo.entity.ui / src / org / argeo / entity / ui / forms / AbstractTermsPart.java
index 408a0bff2e828870357a972aff7fbce935504c92..36ae2746f8a5e83d74b1205ec961a2cc8987dd70 100644 (file)
@@ -5,6 +5,7 @@ import javax.jcr.Item;
 import org.argeo.cms.Localized;
 import org.argeo.cms.ui.CmsTheme;
 import org.argeo.cms.ui.util.CmsIcon;
+import org.argeo.cms.ui.util.CmsUiUtils;
 import org.argeo.cms.ui.viewers.EditablePart;
 import org.argeo.cms.ui.widgets.ContextOverlay;
 import org.argeo.cms.ui.widgets.StyledControl;
@@ -15,6 +16,7 @@ import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.eclipse.swt.widgets.ToolItem;
@@ -25,7 +27,7 @@ public abstract class AbstractTermsPart extends StyledControl implements Editabl
        protected final TermsManager termsManager;
        protected final Typology typology;
 
-       protected final boolean editable;
+       private final boolean editable;
 
        private CmsIcon deleteIcon;
        private CmsIcon addIcon;
@@ -35,7 +37,7 @@ public abstract class AbstractTermsPart extends StyledControl implements Editabl
        private Composite highlight;
 
        protected final CmsTheme theme;
-
+       
        public AbstractTermsPart(Composite parent, int style, Item item, TermsManager termsManager, String typology) {
                super(parent, style, item);
                if (item == null)
@@ -47,6 +49,10 @@ public abstract class AbstractTermsPart extends StyledControl implements Editabl
                highlightColor = parent.getDisplay().getSystemColor(SWT.COLOR_GRAY);
        }
 
+       public boolean isEditable() {
+               return editable;
+       }
+
        protected void createHighlight(Composite block) {
                highlight = new Composite(block, SWT.NONE);
                highlight.setBackground(highlightColor);
@@ -75,6 +81,14 @@ public abstract class AbstractTermsPart extends StyledControl implements Editabl
 
        }
 
+       protected void setControlLayoutData(Control control) {
+               control.setLayoutData(CmsUiUtils.fillAll());
+       }
+
+       protected void setContainerLayoutData(Composite composite) {
+               composite.setLayoutData(CmsUiUtils.fillAll());
+       }
+
        //
        // STYLING
        //