Revision 76f91765 src/gr/ebs/gss/client/SearchResults.java
b/src/gr/ebs/gss/client/SearchResults.java | ||
---|---|---|
247 | 247 |
private FileContextMenu menuShowing; |
248 | 248 |
private DragAndDropCellTable<FileResource> celltable; |
249 | 249 |
private final MultiSelectionModel<FileResource> selectionModel; |
250 |
private final List<SortableHeader> allHeaders = new ArrayList<SortableHeader>(); |
|
251 |
SortableHeader nameHeader; |
|
250 |
|
|
252 | 251 |
GssSimplePager pager; |
253 | 252 |
GssSimplePager pagerTop; |
254 | 253 |
/** |
... | ... | |
345 | 344 |
|
346 | 345 |
}; |
347 | 346 |
initDragOperation(nameColumn); |
348 |
celltable.addColumn(nameColumn,nameHeader = new SortableHeader("Name")); |
|
349 |
allHeaders.add(nameHeader); |
|
350 |
//nameHeader.setSorted(true); |
|
351 |
//nameHeader.toggleReverseSort(); |
|
352 |
nameHeader.setUpdater(new FileValueUpdater(nameHeader, "name")); |
|
353 |
celltable.redrawHeaders(); |
|
354 |
|
|
347 |
celltable.addColumn(nameColumn,"Name"); |
|
355 | 348 |
|
356 |
|
|
357 |
|
|
358 |
SortableHeader aheader; |
|
359 | 349 |
DragAndDropColumn<FileResource,String> aColumn; |
360 | 350 |
celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) { |
361 | 351 |
@Override |
362 | 352 |
public String getValue(FileResource object) { |
363 | 353 |
return GSS.get().findUserFullName(object.getOwner()); |
364 | 354 |
} |
365 |
},aheader = new SortableHeader("Owner"));
|
|
355 |
},"Owner");
|
|
366 | 356 |
initDragOperation(aColumn); |
367 |
allHeaders.add(aheader); |
|
368 |
aheader.setUpdater(new FileValueUpdater(aheader, "owner")); |
|
357 |
|
|
369 | 358 |
celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) { |
370 | 359 |
@Override |
371 | 360 |
public String getValue(FileResource object) { |
... | ... | |
373 | 362 |
return object.getPath()+" (In Trash)"; |
374 | 363 |
return object.getPath(); |
375 | 364 |
} |
376 |
},aheader = new SortableHeader("Path"));
|
|
365 |
},"Path");
|
|
377 | 366 |
initDragOperation(aColumn); |
378 |
allHeaders.add(aheader); |
|
379 | 367 |
|
380 |
aheader.setUpdater(new FileValueUpdater(aheader, "path")); |
|
368 |
|
|
369 |
|
|
381 | 370 |
celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) { |
382 | 371 |
@Override |
383 | 372 |
public String getValue(FileResource object) { |
384 | 373 |
return object.getVersion().toString(); |
385 | 374 |
} |
386 |
},aheader = new SortableHeader("Version"));
|
|
375 |
},"Version");
|
|
387 | 376 |
initDragOperation(aColumn); |
388 |
allHeaders.add(aheader); |
|
389 |
aheader.setUpdater(new FileValueUpdater(aheader, "version")); |
|
377 |
|
|
378 |
|
|
390 | 379 |
celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) { |
391 | 380 |
@Override |
392 | 381 |
public String getValue(FileResource object) { |
393 | 382 |
// TODO Auto-generated method stub |
394 | 383 |
return object.getFileSizeAsString(); |
395 | 384 |
} |
396 |
},aheader = new SortableHeader("Size"));
|
|
385 |
},"Size");
|
|
397 | 386 |
initDragOperation(aColumn); |
398 |
allHeaders.add(aheader); |
|
399 |
aheader.setUpdater(new FileValueUpdater(aheader, "size")); |
|
387 |
|
|
400 | 388 |
celltable.addColumn(aColumn=new DragAndDropColumn<FileResource,String>(new TextCell()) { |
401 | 389 |
@Override |
402 | 390 |
public String getValue(FileResource object) { |
403 | 391 |
return formatter.format(object.getModificationDate()); |
404 | 392 |
} |
405 |
},aheader = new SortableHeader("Last Modified"));
|
|
406 |
allHeaders.add(aheader); |
|
407 |
aheader.setUpdater(new FileValueUpdater(aheader, "date")); |
|
393 |
},"Last Modified");
|
|
394 |
|
|
395 |
|
|
408 | 396 |
|
409 | 397 |
|
410 | 398 |
VerticalPanel vp = new VerticalPanel(); |
... | ... | |
771 | 759 |
}); |
772 | 760 |
} |
773 | 761 |
|
774 |
final class FileValueUpdater implements ValueUpdater<String>{ |
|
775 |
private String property; |
|
776 |
private SortableHeader header; |
|
777 |
/** |
|
778 |
* |
|
779 |
*/ |
|
780 |
public FileValueUpdater(SortableHeader header,String property) { |
|
781 |
this.property=property; |
|
782 |
this.header=header; |
|
783 |
} |
|
784 |
@Override |
|
785 |
public void update(String value) { |
|
786 |
header.setSorted(true); |
|
787 |
header.toggleReverseSort(); |
|
788 |
|
|
789 |
for (SortableHeader otherHeader : allHeaders) { |
|
790 |
if (otherHeader != header) { |
|
791 |
otherHeader.setSorted(false); |
|
792 |
otherHeader.setReverseSort(true); |
|
793 |
} |
|
794 |
} |
|
795 |
celltable.redrawHeaders(); |
|
796 |
sortFiles(property, header.getReverseSort()); |
|
797 |
SearchResults.this.update(true); |
|
798 |
} |
|
799 |
|
|
800 |
} |
|
762 |
|
|
801 | 763 |
/** |
802 | 764 |
* Creates a new ArrayList<FileResources> from the given files ArrayList |
803 | 765 |
* in order that the input files remain untouched |
Also available in: Unified diff