Project

General

Profile

« Previous | Next » 

Revision b478a42f

Added by Niels Hoffmann almost 13 years ago

Fixes a couple of problems with user and group selection dialogs.

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialogs/filteredSelection/AbstractFilteredCdmResourceSelectionDialog.java
11 11
package eu.etaxonomy.taxeditor.ui.dialogs.filteredSelection;
12 12

  
13 13
import java.lang.reflect.Field;
14
import java.security.acl.LastOwnerException;
15 14
import java.text.Collator;
16 15
import java.util.Comparator;
17 16
import java.util.HashSet;
......
30 29
import org.eclipse.jface.window.Window;
31 30
import org.eclipse.jface.wizard.WizardDialog;
32 31
import org.eclipse.swt.SWT;
33
import org.eclipse.swt.events.ModifyEvent;
34 32
import org.eclipse.swt.events.SelectionAdapter;
35 33
import org.eclipse.swt.events.SelectionEvent;
36 34
import org.eclipse.swt.events.SelectionListener;
......
92 90
		
93 91
		initModel();
94 92
		
95
		if (cdmObject != null) {
96
			setInitialPattern(getTitle(cdmObject));
93
		String objectTitle = getTitle(cdmObject);
94
		if (objectTitle != null) {
95
			setInitialPattern(objectTitle);
97 96
		}
98 97
		
99
		ILabelProvider labelProvider = new FilteredCdmResourceLabelProvider();
100
		setListLabelProvider(labelProvider);
101
		setDetailsLabelProvider(labelProvider);
98
		setListLabelProvider(createListLabelProvider());
99
		setDetailsLabelProvider(createDetailsLabelProvider());
102 100
		
103 101
		setSelectionHistory(new ResourceSelectionHistory());
104 102
	}
105 103
	
104
	/**
105
	 * By default, we are returning the standard list label provider
106
	 * 
107
	 * Override in subclasses if you want different behavior 
108
	 * 
109
	 * @return
110
	 */
111
	protected ILabelProvider createDetailsLabelProvider() {
112
		return createListLabelProvider();
113
	}
114

  
115
	/**
116
	 * 
117
	 * @return
118
	 */
119
	protected ILabelProvider createListLabelProvider() {
120
		return new FilteredCdmResourceLabelProvider();
121
	}
122

  
106 123
	/**
107 124
	 * Override in subclasses.
108 125
	 * Will run before initModel()
......
185 202
		if (cdmObject instanceof IIdentifiableEntity) {
186 203
			return ((IIdentifiableEntity) cdmObject).getTitleCache();			
187 204
		}
188
		return null;
205
		throw new IllegalArgumentException("Generic method only" +
206
				" supports cdmObject of type IIdentifiableEntity." +
207
				" Please implement specific method in subclass.");
189 208
	}
190 209
	
191 210

  
......
266 285
		// this also is not the nicest way to do it. 
267 286
		// I am still amazed, that FilteredSelectionDialog does not offer any methods to change its data
268 287
		// once it was opened. Am I doing it wrong?
269
		((Text) getPatternControl()).setText(getTitle(cdmObject));
288
		String pattern = getTitle(cdmObject);
289
		((Text) getPatternControl()).setText(pattern);
270 290
	}
271 291
	
272 292
	/* (non-Javadoc)

Also available in: Unified diff