package eu.etaxonomy.taxeditor.ui.dialog.selection;
-import java.lang.reflect.Field;
import java.text.Collator;
import java.util.Comparator;
import java.util.HashSet;
private final Set<T> transientCdmObjects = new HashSet<T>();
private final String settings;
protected final int limitOfInitialElements = 100;
-
+
protected T cdmBaseToBeFiltered;
// and all the clever caching prevents the content provider from knowing that the model has changed
// I am aware, that this is a hack, but the FilteredSelectionDialog API does not offer a convenient
// way to solve the problem.
- try {
- Field lastCompletedFilter = this.getClass().getSuperclass().getSuperclass().getDeclaredField("lastCompletedFilter");
- lastCompletedFilter.setAccessible(true);
- lastCompletedFilter.set(this, null);
- } catch (SecurityException e) {
- MessagingUtils.error(getClass(), e);
- } catch (NoSuchFieldException e) {
- MessagingUtils.error(getClass(), e);
- } catch (IllegalArgumentException e) {
- MessagingUtils.error(getClass(), e);
- } catch (IllegalAccessException e) {
- MessagingUtils.error(getClass(), e);
- }
+// try {
+// Field lastCompletedFilter = this.getClass().getSuperclass().getSuperclass().getDeclaredField("lastCompletedFilter");
+// lastCompletedFilter.setAccessible(true);
+// lastCompletedFilter.set(this, null);
+// } catch (SecurityException e) {
+// MessagingUtils.error(getClass(), e);
+// } catch (NoSuchFieldException e) {
+// MessagingUtils.error(getClass(), e);
+// } catch (IllegalArgumentException e) {
+// MessagingUtils.error(getClass(), e);
+// } catch (IllegalAccessException e) {
+// MessagingUtils.error(getClass(), e);
+// }
// this also is not the nicest way to do it.
// I am still amazed, that FilteredSelectionDialog does not offer any methods to change its data
Color bgColor = getShell().getBackground();
detailElement = createElement(rootElement);
-
+
rootElement.setBackground(bgColor);
control.setBackground(bgColor);
scrolledForm.setBackground(bgColor);
return element;
}
- public ReferenceDetailElement createReferenceDetailElement(ICdmFormElement parentElement, int style){
- ReferenceDetailElement element = new ReferenceDetailElement(this, parentElement, style);
+ public ReferenceDetailElement createReferenceDetailElement(ICdmFormElement parentElement, int style, boolean isWizard){
+ ReferenceDetailElement element = new ReferenceDetailElement(this, parentElement, style, isWizard);
addAndAdaptElement(parentElement, element);
return element;
}
private EnumComboElement<ReferenceType> combo_referenceType;
private EntitySelectionElement<Reference> selection_inSeries;
+ private boolean isWizard;
/**
* <p>
* a int.
*/
public ReferenceDetailElement(CdmFormFactory cdmFormFactory,
- ICdmFormElement formElement, int style) {
+ ICdmFormElement formElement, int style, boolean isWizard) {
super(cdmFormFactory, formElement);
+ this.isWizard = isWizard;
}
/*
Reference entity, int style) {
ICdmFormElement o = this.getParentElement();
Class clazz=o.getClass();
- setWarnForReferencingObjects(formElement);
+ if (isWizard){
+ setWarnForReferencingObjects(formElement);
+ }
toggleable_cache = formFactory.createToggleableTextField(formElement,
*/
@Override
protected AbstractCdmDetailElement<Reference> createCdmDetailElement(AbstractCdmDetailSection<Reference> parentElement, int style) {
- return formFactory.createReferenceDetailElement(parentElement, style);
+ return formFactory.createReferenceDetailElement(parentElement, style, false);
}
}
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;
@Override
public AbstractCdmDetailElement<Reference> createElement(ICdmFormElement rootElement){
//TODO: looking for referencing objects
- ReferenceDetailElement referenceElement = formFactory.createReferenceDetailElement(rootElement, SWT.NULL);
+ ReferenceDetailElement referenceElement = formFactory.createReferenceDetailElement(rootElement, SWT.NULL, true);
referenceElement.addExceptionHandler(this);
referenceElement.setEntity(entity);
referenceElement.setWarnForReferencingObjectsVisible(true);