Revision 2287
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.api/src/main/java/org/gvsig/tools/swing/api/FilteredListModel.java | ||
---|---|---|
8 | 8 |
* @author jjdelcerro |
9 | 9 |
*/ |
10 | 10 |
public interface FilteredListModel extends ListModel, FilteredModel { |
11 |
|
|
11 |
|
|
12 | 12 |
public void addElement(LabeledValue element); |
13 | 13 |
|
14 | 14 |
public void addElement(Object element); |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.api/src/main/java/org/gvsig/tools/swing/api/FilteredModel.java | ||
---|---|---|
16 | 16 |
|
17 | 17 |
public void setFilterFunction(FilterFunction filter); |
18 | 18 |
|
19 |
public void setCaseSensitive(boolean sensitive); |
|
20 |
|
|
21 |
public boolean isCaseSensitive(); |
|
22 |
|
|
19 | 23 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/FilteredTableModelImpl.java | ||
---|---|---|
25 | 25 |
private String filter; |
26 | 26 |
private List<Integer> filteredElements; |
27 | 27 |
private FilteredModel.FilterFunction filterfn; |
28 |
private boolean caseSensitive; |
|
28 | 29 |
|
29 | 30 |
public FilteredTableModelImpl(TableModel tableModel, int theFilterColumn) { |
30 | 31 |
this.baseModel = tableModel; |
... | ... | |
153 | 154 |
int row = this.filteredElements.get(rowIndex); |
154 | 155 |
return this.baseModel.isCellEditable(row, columnIndex); |
155 | 156 |
} |
157 |
|
|
158 |
@Override |
|
159 |
public void setCaseSensitive(boolean sensitive) { |
|
160 |
this.caseSensitive = sensitive; |
|
161 |
} |
|
162 |
|
|
163 |
@Override |
|
164 |
public boolean isCaseSensitive() { |
|
165 |
return this.caseSensitive; |
|
166 |
} |
|
156 | 167 |
|
157 | 168 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/FilteredTreeModelImpl.java | ||
---|---|---|
18 | 18 |
private FilterFunction filterfn; |
19 | 19 |
protected EventListenerList listenerList = new EventListenerList(); |
20 | 20 |
private String filter; |
21 |
private boolean caseSensitive; |
|
21 | 22 |
|
22 | 23 |
public FilteredTreeModelImpl(final TreeModel treeModel) { |
23 | 24 |
this.treeModel = treeModel; |
... | ... | |
146 | 147 |
TreePath tp = new TreePath(new Object[]{this.getRoot()}); |
147 | 148 |
fireTreeStructureChanged(this, tp); |
148 | 149 |
} |
150 |
|
|
151 |
@Override |
|
152 |
public void setCaseSensitive(boolean sensitive) { |
|
153 |
this.caseSensitive = sensitive; |
|
154 |
} |
|
149 | 155 |
|
156 |
@Override |
|
157 |
public boolean isCaseSensitive() { |
|
158 |
return this.caseSensitive; |
|
159 |
} |
|
150 | 160 |
|
151 | 161 |
} |
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/FilteredListModelImpl.java | ||
---|---|---|
56 | 56 |
private String filter; |
57 | 57 |
private AbstractCancellableTask th; |
58 | 58 |
private FilterFunction filterfn; |
59 |
private boolean caseSensitive = false; |
|
59 | 60 |
|
60 | 61 |
public FilteredListModelImpl(ListModel model) { |
61 | 62 |
if (model == null) { |
... | ... | |
203 | 204 |
public void run() { |
204 | 205 |
final List items = new ListModelToListAdapter(elements); |
205 | 206 |
items.sort((Object o1, Object o2) -> { |
206 |
int r = ObjectUtils.compare( |
|
207 |
Objects.toString(o1, ""), |
|
208 |
Objects.toString(o2, "") |
|
209 |
); |
|
207 |
if (o1 instanceof LabeledValue) { |
|
208 |
o1 = ((LabeledValue) o1).getLabel(); |
|
209 |
} |
|
210 |
if (o2 instanceof LabeledValue) { |
|
211 |
o2 = ((LabeledValue) o2).getLabel(); |
|
212 |
} |
|
213 |
String o1string = Objects.toString(o1, ""); |
|
214 |
String o2string = Objects.toString(o2, ""); |
|
215 |
if (!isCaseSensitive()) { |
|
216 |
o1string = o1string.toLowerCase(); |
|
217 |
o2string = o2string.toLowerCase(); |
|
218 |
} |
|
219 |
int r = ObjectUtils.compare(o1string, o2string); |
|
210 | 220 |
if (ascending) { |
211 | 221 |
return r; |
212 | 222 |
} |
... | ... | |
221 | 231 |
}; |
222 | 232 |
th.start(); |
223 | 233 |
} |
234 |
|
|
224 | 235 |
|
236 |
@Override |
|
237 |
public void setCaseSensitive(boolean sensitive) { |
|
238 |
this.caseSensitive = sensitive; |
|
239 |
} |
|
240 |
|
|
241 |
@Override |
|
242 |
public boolean isCaseSensitive() { |
|
243 |
return this.caseSensitive; |
|
244 |
} |
|
245 |
|
|
225 | 246 |
} |
Also available in: Unified diff