/** {@inheritDoc} */
protected IAdaptable getInitialInput() {
Comparator<TaxonNodeDto> comparator;
- NavigatorOrderEnum orderValue = PreferencesUtil.getSortNodes();
+ NavigatorOrderEnum orderValue = NavigatorOrderEnum.RankAndNameOrder;
+ try{
+ orderValue = PreferencesUtil.getSortNodes();
+ }catch(IllegalArgumentException e){
+
+ }
+
if (orderValue.equals(NavigatorOrderEnum.NaturalOrder)){
comparator = new TaxonNodeDtoNaturalComparator();
} else if (orderValue.equals(NavigatorOrderEnum.AlphabeticalOrder)){
if (taxonNode != null){
viewer.reveal(taxonNode);
viewer.setSelection(new StructuredSelection(taxonNode));
+ }else{
+ //TODO: show message in status bar
}
}
}
}
if(!viewer.getTree().isDisposed()){
+ if (CdmStore.isActive()){
+ viewer.setInput(getInitialInput());
+ }
viewer.refresh();
}
@Override
public void onChange(CdmChangeEvent event) {
+ Object[] expandedElements = viewer.getExpandedElements();
refresh();
for(CdmBase cb : event.getChangedObjects()) {
if(cb instanceof TaxonNode) {
viewer.refresh();
}
}
+ viewer.setExpandedElements(expandedElements);
}
@Override
*/
@Override
public void contextRefresh(IProgressMonitor monitor) {
+// viewer.refresh();
}
/**
public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
}
+ @Inject
+ @Optional
+ private void updateView(@UIEventTopic(WorkbenchEventConstants.REFRESH_NAVIGATOR)TaxonNodeDto dto){
+ if(dto!= null){
+ Object[] expandedElements = viewer.getExpandedElements();
+ refresh();
+ viewer.reveal(dto);
+ viewer.setExpandedElements(expandedElements);
+ viewer.setSelection(new StructuredSelection(dto));
+
+ }
+ }
+
@Inject
@Optional
private void updateView(@UIEventTopic(WorkbenchEventConstants.REFRESH_NAVIGATOR)boolean refresh){