Revision 3fb1dc00
Added by Katja Luther almost 7 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractCdmDetailElement.java | ||
---|---|---|
20 | 20 |
import org.eclipse.swt.events.DisposeEvent; |
21 | 21 |
import org.eclipse.swt.events.DisposeListener; |
22 | 22 |
import org.eclipse.swt.widgets.Composite; |
23 |
import org.eclipse.swt.widgets.Display; |
|
23 | 24 |
|
24 | 25 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
25 | 26 |
import eu.etaxonomy.cdm.api.conversation.IConversationEnabled; |
27 |
import eu.etaxonomy.cdm.common.CdmUtils; |
|
28 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
|
26 | 29 |
import eu.etaxonomy.cdm.model.name.TaxonName; |
27 | 30 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
28 | 31 |
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; |
... | ... | |
36 | 39 |
import eu.etaxonomy.taxeditor.ui.element.CdmPropertyChangeEvent; |
37 | 40 |
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; |
38 | 41 |
import eu.etaxonomy.taxeditor.ui.element.IEnableableFormElement; |
42 |
import eu.etaxonomy.taxeditor.ui.element.LabelElement; |
|
43 |
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; |
|
39 | 44 |
|
40 | 45 |
/** |
41 | 46 |
* |
... | ... | |
49 | 54 |
private boolean irrelevant; |
50 | 55 |
|
51 | 56 |
private boolean enabled; |
57 |
|
|
58 |
private LabelElement warnForReferencedObjects; |
|
52 | 59 |
|
53 | 60 |
private EnumSet<CRUD> requiredCrud = null; |
54 | 61 |
|
... | ... | |
295 | 302 |
} |
296 | 303 |
setEnabled(getEntity() != null && CdmStore.currentAuthentiationHasPermission(StoreUtil.getCdmEntity(getEntity()), requiredCrud), except); |
297 | 304 |
} |
305 |
|
|
306 |
public LabelElement getWarnForReferencedObjects() { |
|
307 |
return warnForReferencedObjects; |
|
308 |
} |
|
309 |
|
|
310 |
public void setWarnForReferencedObjects(LabelElement warnForReferencedObjects) { |
|
311 |
this.warnForReferencedObjects = warnForReferencedObjects; |
|
312 |
} |
|
313 |
|
|
314 |
public void setWarnForReferencingObjects(ICdmFormElement formElement){ |
|
315 |
if (getEntity() instanceof CdmBase){ |
|
316 |
CdmBase cdmBase = (CdmBase) getEntity(); |
|
317 |
if (cdmBase.getId() != 0){ |
|
318 |
Integer referencingObjectsCount = CdmStore.getCommonService().getReferencingObjectsCount(cdmBase); |
|
319 |
|
|
320 |
if (referencingObjectsCount > 1){ |
|
321 |
setWarnForReferencedObjects(formFactory.createLabel(formElement, CdmUtils.Nz("The reference is referenced by " + referencingObjectsCount+ " objects, if you change it, it is changed for all these objects"))); |
|
322 |
getWarnForReferencedObjects().setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_RED)); |
|
323 |
getWarnForReferencedObjects().setLayout(LayoutConstants.FILL(2, 3)); |
|
324 |
getWarnForReferencedObjects().setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_RED)); |
|
325 |
|
|
326 |
} |
|
327 |
} |
|
328 |
} |
|
329 |
} |
|
330 |
|
|
331 |
public void setWarnForReferencingObjectsVisible(boolean isVisible){ |
|
332 |
if (getWarnForReferencedObjects() != null){ |
|
333 |
getWarnForReferencedObjects().setVisible(isVisible); |
|
334 |
} |
|
335 |
} |
|
336 |
|
|
298 | 337 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/AbstractIdentifiableEntityDetailElement.java | ||
---|---|---|
6 | 6 |
import java.util.Arrays; |
7 | 7 |
import java.util.EnumSet; |
8 | 8 |
|
9 |
import org.eclipse.swt.SWT; |
|
10 |
import org.eclipse.swt.widgets.Display; |
|
11 |
|
|
12 |
import eu.etaxonomy.cdm.common.CdmUtils; |
|
9 | 13 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
10 | 14 |
import eu.etaxonomy.cdm.model.common.IIdentifiableEntity; |
11 | 15 |
import eu.etaxonomy.cdm.persistence.hibernate.permission.CRUD; |
... | ... | |
14 | 18 |
import eu.etaxonomy.taxeditor.store.CdmStore; |
15 | 19 |
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; |
16 | 20 |
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement; |
21 |
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; |
|
17 | 22 |
import eu.etaxonomy.taxeditor.ui.element.ToggleableTextElement; |
18 | 23 |
|
19 | 24 |
/** |
... | ... | |
72 | 77 |
} else{ |
73 | 78 |
isAdvancedView = true; |
74 | 79 |
} |
75 |
|
|
76 |
|
|
77 |
|
|
78 | 80 |
} |
79 | 81 |
|
82 |
|
|
80 | 83 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/InstitutionDetailElement.java | ||
---|---|---|
51 | 51 |
@Override |
52 | 52 |
protected void createControls(ICdmFormElement formElement, |
53 | 53 |
Institution entity, int style) { |
54 |
this.setWarnForReferencingObjects(formElement); |
|
55 |
|
|
54 | 56 |
text_name = formFactory.createTextWithLabelElement(formElement, "Name", |
55 | 57 |
entity.getName(), style); |
56 | 58 |
text_code = formFactory.createTextWithLabelElement(formElement, "Code", |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/PersonDetailElement.java | ||
---|---|---|
64 | 64 |
@Override |
65 | 65 |
protected void createControls(ICdmFormElement formElement, Person entity, |
66 | 66 |
int style) { |
67 |
setWarnForReferencingObjects(formElement); |
|
67 | 68 |
toggleable_cache = formFactory.createToggleableTextField(formElement, |
68 | 69 |
"Title Cache", entity.getTitleCache(), |
69 | 70 |
entity.isProtectedTitleCache(), SWT.NULL); |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/agent/TeamDetailElement.java | ||
---|---|---|
62 | 62 |
/** {@inheritDoc} */ |
63 | 63 |
@Override |
64 | 64 |
protected void createControls(ICdmFormElement formElement, Team entity, int style) { |
65 |
|
|
65 |
|
|
66 |
setWarnForReferencingObjects(formElement); |
|
66 | 67 |
toggleable_cache = formFactory.createToggleableTextField(formElement, "Title Cache", entity.getTitleCache(), entity.isProtectedTitleCache(), style); |
67 | 68 |
toggleable_nomenclaturalTitleCache = formFactory.createToggleableTextField(formElement, "Abbrev. Title", entity.getNomenclaturalTitle(), entity.isProtectedNomenclaturalTitleCache(), style); |
68 | 69 |
hasAdditionalMembers = formFactory.createCheckbox(formElement, "Additional Members", entity.isHasMoreMembers(), style); |
Also available in: Unified diff
add warning for referencing objects in all agent detail elements