package eu.etaxonomy.taxeditor.ui.element;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.forms.widgets.TableWrapData;
import eu.etaxonomy.cdm.common.CdmUtils;
public void setText(String text) {
label.setText(CdmUtils.Nz(text));
}
+
+ public void setLayout(TableWrapData layoutConstants){
+ label.setLayoutData(layoutConstants);
+ }
+
+ public void setForeground(Color color){
+ label.setForeground(color);
+ }
}
package eu.etaxonomy.taxeditor.ui.section.reference;
+
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.FontData;
+import eu.etaxonomy.cdm.common.CdmUtils;
import eu.etaxonomy.cdm.model.agent.AgentBase;
import eu.etaxonomy.cdm.model.agent.Institution;
import eu.etaxonomy.cdm.model.agent.TeamOrPersonBase;
import eu.etaxonomy.cdm.model.reference.Reference;
import eu.etaxonomy.cdm.model.reference.ReferenceFactory;
import eu.etaxonomy.cdm.model.reference.ReferenceType;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.combo.EnumComboElement;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.element.IErrorIntolerableElement;
import eu.etaxonomy.taxeditor.ui.element.IExceptionHandler;
+import eu.etaxonomy.taxeditor.ui.element.LabelElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement;
public class ReferenceDetailElement extends AbstractIdentifiableEntityDetailElement<Reference>
implements IErrorIntolerableElement, IExceptionHandler {
+ private LabelElement warnForReferencedObjects;
+
private ToggleableTextElement toggleableAbbrevCache;
private TextWithLabelElement text_edition;
@Override
protected void createControls(ICdmFormElement formElement,
Reference entity, int style) {
+ setWarnForReferencingObjects(formElement);
+
toggleable_cache = formFactory.createToggleableTextField(formElement,
"Reference Cache", entity.getTitleCache(),
entity.isProtectedTitleCache(), style);
}
setIrrelevant(pushedState, except);
}
+
+ public void setWarnForReferencingObjects(ICdmFormElement formElement){
+ Integer referencingObjectsCount = CdmStore.getCommonService().getReferencingObjectsCount(getEntity());
+ if (referencingObjectsCount > 1){
+ if (warnForReferencedObjects == null){
+ warnForReferencedObjects = formFactory.createLabel(formElement, CdmUtils.Nz("The reference is referenced by " + referencingObjectsCount+ " objects, if you change it, it is changed for all these objects"));
+ warnForReferencedObjects.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
+ warnForReferencedObjects.setLayout(LayoutConstants.FILL(2, 2));
+ warnForReferencedObjects.setForeground(Display.getCurrent().getSystemColor(
+ SWT.COLOR_RED));
+
+ }else{
+ warnForReferencedObjects.setText(CdmUtils.Nz("The reference is referenced by " + referencingObjectsCount+ " objects, if you change it, it is changed for all these objects"));
+ }
+ }
+ }
+
}
import org.eclipse.swt.SWT;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.service.CommonServiceImpl;
+import eu.etaxonomy.cdm.api.service.ReferenceServiceImpl;
import eu.etaxonomy.cdm.model.reference.Reference;
+import eu.etaxonomy.taxeditor.store.CdmStore;
import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent;
/** {@inheritDoc} */
@Override
public AbstractCdmDetailElement<Reference> createElement(ICdmFormElement rootElement){
+ //TODO: looking for referencing objects
ReferenceDetailElement referenceElement = formFactory.createReferenceDetailElement(rootElement, SWT.NULL);
referenceElement.addExceptionHandler(this);
referenceElement.setEntity(entity);
+
return referenceElement;
}