* @author n.hoffmann
* @created Feb 26, 2010
*/
-public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement implements ICdmDetailElement<T>, Observer {
+public abstract class AbstractCdmDetailElement<T> extends AbstractCdmFormElement implements ICdmDetailElement<T>, Observer, IEnableableFormElement{
private T entity;
private boolean irrelevant;
- private boolean enabled;
-
+ private boolean enabled = true;
+
private LabelElement warnForReferencedObjects;
private EnumSet<CRUD> requiredCrud = null;
*/
protected void updateContent() {
removeElements();
- createControls(this, entity, SWT.WRAP);
- reflowParentScrolledForm(true);
+ createControls(this, entity, SWT.NONE);
+ StoreUtil.reflowParentScrolledForm(getLayoutComposite(), true);
updateControlStates();
}
if (isRelevant) {
((AbstractIdentifiableEntityDetailElement) this)
.updateToggleableCacheField();
- updateParentSection();
}
}
if (getParentElement() instanceof AbstractCdmDetailSection) {
((AbstractCdmDetailSection) getParentElement()).updateTitle();
}
- reflowParentScrolledForm(true);
+ //NOTE: This slows down the rendering of the details view
+// StoreUtil.reflowParentScrolledForm(getLayoutComposite(), true);
}
/**
public void setWarnForReferencedObjects(LabelElement warnForReferencedObjects) {
this.warnForReferencedObjects = warnForReferencedObjects;
}
-
+
public void setWarnForReferencingObjects(ICdmFormElement formElement){
if (getEntity() instanceof CdmBase){
CdmBase cdmBase = (CdmBase) getEntity();
if (cdmBase.getId() != 0){
- Integer referencingObjectsCount = CdmStore.getCommonService().getReferencingObjectsCount(cdmBase);
-
+ long referencingObjectsCount = CdmStore.getCommonService().getReferencingObjectsCount(cdmBase);
+
if (referencingObjectsCount > 1){
- setWarnForReferencedObjects(formFactory.createLabel(formElement, CdmUtils.Nz("The reference is referenced by " + referencingObjectsCount+ " objects, if you change it, it is changed for all these objects")));
+ setWarnForReferencedObjects(formFactory.createLabel(formElement, CdmUtils.Nz("The "+ cdmBase.getUserFriendlyTypeName()+" is referenced by " + referencingObjectsCount+ " objects, if you change it, it is changed for all these objects")));
getWarnForReferencedObjects().setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
getWarnForReferencedObjects().setLayout(LayoutConstants.FILL(2, 3));
getWarnForReferencedObjects().setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
-
+
}
}
}
getWarnForReferencedObjects().setVisible(isVisible);
}
}
-
+
}