Project

General

Profile

« Previous | Next » 

Revision 3fb1dc00

Added by Katja Luther almost 7 years ago

add warning for referencing objects in all agent detail elements

View differences:

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