Revision c1c83a38
Added by Katja Luther about 6 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/AbstractFilteredCdmResourceSelectionDialog.java | ||
---|---|---|
314 | 314 |
UuidAndTitleCache<T> element; |
315 | 315 |
while(iterator.hasNext()){ |
316 | 316 |
element = iterator.next(); |
317 |
contentProvider.add(element, itemsFilter); |
|
317 |
if (!element.equals(cdmBaseToBeFiltered)){ |
|
318 |
contentProvider.add(element, itemsFilter); |
|
319 |
} |
|
318 | 320 |
if (progressMonitor.isCanceled()) { |
319 | 321 |
throw new OperationCanceledException(); |
320 | 322 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java | ||
---|---|---|
2771 | 2771 |
*/ |
2772 | 2772 |
public <T extends CdmBase> EntitySelectionElement<T> createSelectionElement(Class<T> clazz, |
2773 | 2773 |
ConversationHolder conversation, ICdmFormElement parentElement, String labelString, T selection, int mode, |
2774 |
int style, boolean filterElement) { |
|
2775 |
EntitySelectionElement<T> element = new EntitySelectionElement<T>(this, conversation, parentElement, clazz, |
|
2776 |
labelString, selection, mode, style, filterElement); |
|
2777 |
adapt(element); |
|
2778 |
parentElement.addElement(element); |
|
2779 |
return element; |
|
2780 |
} |
|
2781 |
|
|
2782 |
public <T extends CdmBase> EntitySelectionElement<T> createSelectionElement(Class<T> clazz, |
|
2783 |
ConversationHolder conversation, ICdmFormElement parentElement, String labelString, T selection, int mode, |
|
2774 | 2784 |
int style) { |
2775 | 2785 |
EntitySelectionElement<T> element = new EntitySelectionElement<T>(this, conversation, parentElement, clazz, |
2776 | 2786 |
labelString, selection, mode, style); |
... | ... | |
2959 | 2969 |
return section; |
2960 | 2970 |
} |
2961 | 2971 |
|
2962 |
/** |
|
2963 |
* @param conversationHolder |
|
2964 |
* @param formElement |
|
2965 |
* @param expanded |
|
2966 |
* @return |
|
2967 |
*/ |
|
2968 |
public TeamMemberSection createNomenclaturalTeamMemberSection(ConversationHolder conversationHolder, |
|
2969 |
ICdmFormElement formElement, int expanded) { |
|
2970 |
// TODO Auto-generated method stub |
|
2971 |
return null; |
|
2972 |
} |
|
2972 |
|
|
2973 |
|
|
2974 |
|
|
2973 | 2975 |
|
2974 | 2976 |
} |
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/name/NameRelationshipWizardPage.java | ||
---|---|---|
84 | 84 |
.createSelectionElement(TaxonNameBase.class, |
85 | 85 |
((NameRelationshipWizard) getWizard()) |
86 | 86 |
.getConversationHolder(), rootElement, |
87 |
"Related to", null, EntitySelectionElement.ALL,
|
|
88 |
SWT.NULL); |
|
87 |
"Related to",this.entity, EntitySelectionElement.ALL,
|
|
88 |
SWT.NULL, true);
|
|
89 | 89 |
|
90 | 90 |
} |
91 | 91 |
|
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/selection/EntitySelectionElement.java | ||
---|---|---|
8 | 8 |
import java.util.Observer; |
9 | 9 |
|
10 | 10 |
import org.eclipse.core.runtime.IStatus; |
11 |
|
|
12 | 11 |
import org.eclipse.jface.wizard.WizardDialog; |
13 | 12 |
import org.eclipse.swt.SWT; |
14 | 13 |
import org.eclipse.swt.events.SelectionAdapter; |
... | ... | |
79 | 78 |
public static final int ALL = EDITABLE | DELETABLE | SELECTABLE; // 111 |
80 | 79 |
|
81 | 80 |
protected T entity; |
81 |
protected T filteredEntity; |
|
82 | 82 |
|
83 | 83 |
protected Label label; |
84 | 84 |
protected Text text; |
... | ... | |
131 | 131 |
*/ |
132 | 132 |
public EntitySelectionElement(CdmFormFactory formFactory, |
133 | 133 |
ConversationHolder conversation, ICdmFormElement parentElement, |
134 |
String labelString, T entity, int mode, int style) { |
|
134 |
String labelString, T entity, int mode, int style, boolean filterElement) {
|
|
135 | 135 |
super(formFactory, parentElement); |
136 | 136 |
|
137 | 137 |
this.isEditable = (mode & EDITABLE) == EDITABLE; |
... | ... | |
147 | 147 |
} |
148 | 148 |
|
149 | 149 |
createControls(getLayoutComposite(), SWT.NULL); |
150 |
|
|
151 |
setEntity(entity); |
|
150 |
if (filterElement){ |
|
151 |
setFilteredEntity(entity); |
|
152 |
}else{ |
|
153 |
setEntity(entity); |
|
154 |
} |
|
152 | 155 |
} |
153 | 156 |
|
154 | 157 |
public EntitySelectionElement(CdmFormFactory formFactory, |
158 |
ConversationHolder conversation, ICdmFormElement parentElement, |
|
159 |
String labelString, T entity, int mode, int style){ |
|
160 |
this(formFactory, conversation, parentElement, labelString, entity, mode, style, false); |
|
161 |
} |
|
162 |
|
|
163 |
/** |
|
164 |
* @param entity2 |
|
165 |
*/ |
|
166 |
private void setFilteredEntity(T filterEntity) { |
|
167 |
this.filteredEntity =filterEntity; |
|
168 |
|
|
169 |
} |
|
170 |
|
|
171 |
public EntitySelectionElement(CdmFormFactory formFactory, |
|
155 | 172 |
ConversationHolder conversation, ICdmFormElement parentElement, Class<T> clazz, |
156 |
String labelString, T entity, int mode, int style) { |
|
157 |
this(formFactory, conversation, parentElement, labelString, entity, mode, style); |
|
173 |
String labelString, T entity, int mode, int style, boolean filterElement) {
|
|
174 |
this(formFactory, conversation, parentElement, labelString, entity, mode, style, filterElement);
|
|
158 | 175 |
this.clazz = clazz; |
159 | 176 |
} |
160 | 177 |
|
178 |
public EntitySelectionElement(CdmFormFactory formFactory, |
|
179 |
ConversationHolder conversation, ICdmFormElement parentElement, Class<T> clazz, |
|
180 |
String labelString, T entity, int mode, int style){ |
|
181 |
this(formFactory, conversation, parentElement, labelString, entity, mode, style, false); |
|
182 |
} |
|
183 |
|
|
161 | 184 |
private void createControls(Composite parent, int style) { |
162 | 185 |
|
163 | 186 |
label = formFactory.createLabel(getLayoutComposite(), labelString, |
... | ... | |
220 | 243 |
|
221 | 244 |
@Override |
222 | 245 |
public void widgetSelected(SelectionEvent e) { |
223 |
T selection = SelectionDialogFactory.getSelectionFromDialog(clazz, getShell(), getConversationHolder(), getEntity(), getParentElement()); |
|
246 |
T selection = SelectionDialogFactory.getSelectionFromDialog(clazz, getShell(), getConversationHolder(), getFilteredEntity(), getParentElement());
|
|
224 | 247 |
setSelectionInternal(selection); |
225 | 248 |
} |
226 | 249 |
|
227 | 250 |
/** |
251 |
* @return |
|
252 |
*/ |
|
253 |
public T getFilteredEntity() { |
|
254 |
|
|
255 |
return this.filteredEntity; |
|
256 |
} |
|
257 |
|
|
258 |
/** |
|
228 | 259 |
* Return the selected object |
229 | 260 |
* |
230 | 261 |
* @return a T object. |
... | ... | |
426 | 457 |
if (dialog.open() == IStatus.OK) { |
427 | 458 |
selectionElement.updateFromWizard(); |
428 | 459 |
//if the edited entity has already been persisted |
429 |
//but the transient entity is still set in this
|
|
460 |
//but the transient entity is still set in this |
|
430 | 461 |
//EntitySelectionElement, re-load it and set it |
431 | 462 |
IService<T> service = CdmStore.getService(entity); |
432 | 463 |
if(entity.getId()==0){ |
Also available in: Unified diff
fix #5671: add filter element for selection dialog