use of org.talend.repository.preference.palettesettings.FolderPaletteItem in project tdi-studio-se by Talend.
the class PaletteSettingPage method addTreeViewer.
/**
* qwei Comment method "addViewer".
*
* @param parent
*/
private void addTreeViewer(ThreeCompositesSashForm parent) {
ViewerSorter sorter = new ViewerSorter() {
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer,
* java.lang.Object, java.lang.Object)
*/
@Override
public int compare(Viewer viewer, Object e1, Object e2) {
if (e1 instanceof ComponentPaletteItem && e2 instanceof ComponentPaletteItem) {
return super.compare(viewer, ((IPaletteItem) e1).getLabel(), ((IPaletteItem) e2).getLabel());
} else if (e1 instanceof FolderPaletteItem && e2 instanceof FolderPaletteItem) {
return super.compare(viewer, ((IPaletteItem) e1).getLabel(), ((IPaletteItem) e2).getLabel());
} else if (e1 instanceof ComponentPaletteItem && e2 instanceof FolderPaletteItem) {
return 1;
} else if (e1 instanceof FolderPaletteItem && e2 instanceof ComponentPaletteItem) {
return -1;
} else if (e1 instanceof RootPaletteItem && e2 instanceof RootPaletteItem) {
if (((IPaletteItem) e1).getPaletteType() == ComponentCategory.CATEGORY_4_DI) {
// up
return -1;
} else if (((IPaletteItem) e2).getPaletteType() == ComponentCategory.CATEGORY_4_DI) {
// down
return 1;
} else if (((IPaletteItem) e1).getPaletteType() == ComponentCategory.CATEGORY_4_CAMEL && ((IPaletteItem) e2).getPaletteType() == ComponentCategory.CATEGORY_4_MAPREDUCE) {
// up
return -1;
} else if (((IPaletteItem) e1).getPaletteType() == ComponentCategory.CATEGORY_4_MAPREDUCE && ((IPaletteItem) e2).getPaletteType() == ComponentCategory.CATEGORY_4_CAMEL) {
// down
return 1;
} else if (((IPaletteItem) e1).getPaletteType() == ComponentCategory.CATEGORY_4_MAPREDUCE && ((IPaletteItem) e2).getPaletteType() == ComponentCategory.CATEGORY_4_STORM) {
// up
return -1;
} else if (((IPaletteItem) e1).getPaletteType() == ComponentCategory.CATEGORY_4_STORM && ((IPaletteItem) e2).getPaletteType() == ComponentCategory.CATEGORY_4_MAPREDUCE) {
// down
return 1;
} else if (((IPaletteItem) e1).getPaletteType() == ComponentCategory.CATEGORY_4_CAMEL && ((IPaletteItem) e2).getPaletteType() == ComponentCategory.CATEGORY_4_STORM) {
// up
return -1;
} else if (((IPaletteItem) e1).getPaletteType() == ComponentCategory.CATEGORY_4_STORM && ((IPaletteItem) e2).getPaletteType() == ComponentCategory.CATEGORY_4_CAMEL) {
// down
return 1;
}
}
return super.compare(viewer, e1, e2);
}
};
List<IPaletteItem> input = getViewerInput();
Composite leftComposite = parent.getLeftComposite();
Label label = new Label(leftComposite, SWT.NONE);
label.setText("Hide");
hiddenViewer = new TreeViewer(leftComposite);
hiddenViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
hiddenViewer.setContentProvider(new TalendPaletteTreeProvider());
hiddenViewer.setLabelProvider(new TalendPaletteLabelProvider());
hiddenViewer.addFilter(getFilterForComponent(false));
hiddenViewer.setSorter(sorter);
hiddenViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
displayComponentsButton.setEnabled(!event.getSelection().isEmpty());
}
});
createButtons(parent.getMidComposite());
Composite rightComposite = parent.getRightComposite();
label = new Label(rightComposite, SWT.NONE);
label.setText("Show");
displayViewer = new TreeViewer(rightComposite);
displayViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
displayViewer.setContentProvider(new TalendPaletteTreeProvider());
displayViewer.setLabelProvider(new TalendPaletteLabelProvider());
displayViewer.addFilter(getFilterForComponent(true));
displayViewer.addSelectionChangedListener(new ISelectionChangedListener() {
@Override
public void selectionChanged(SelectionChangedEvent event) {
hideCompnentsButton.setEnabled(!event.getSelection().isEmpty());
}
});
displayViewer.setSorter(sorter);
getComponentsFromProject(project);
hiddenViewer.setInput(input);
displayViewer.setInput(input);
if (!input.isEmpty()) {
displayViewer.expandToLevel(input.get(0), 1);
}
if (!input.isEmpty()) {
hiddenViewer.expandToLevel(input.get(0), 1);
}
}
Aggregations