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
}

Also available in: Unified diff