use of org.talend.repository.preference.palettesettings.ComponentPaletteItem in project tdi-studio-se by Talend.
the class PaletteSettingPage method setComponentVisible.
private void setComponentVisible(IPaletteItem item, boolean visible) {
try {
ComponentPaletteItem componentPaletteItem = (ComponentPaletteItem) item;
List<ComponentSetting> components = getComponentsFromProject(project);
List<ComponentSetting> toRemoveFromSettings = new ArrayList<ComponentSetting>();
for (ComponentSetting componentSetting : components) {
if (componentSetting.getFamily() != null && componentSetting.getFamily().equals(componentPaletteItem.getFamily()) && componentSetting.getName().equals(item.getPaletteType().getName() + "|" + componentPaletteItem.getLabel())) {
if (visible == componentPaletteItem.getComponent().isVisibleInComponentDefinition()) {
toRemoveFromSettings.add(componentSetting);
}
componentSetting.setHidden(!visible);
}
}
components.removeAll(toRemoveFromSettings);
if (visible != componentPaletteItem.getComponent().isVisibleInComponentDefinition()) {
ComponentSetting cs = PropertiesFactory.eINSTANCE.createComponentSetting();
cs.setName(item.getPaletteType().getName() + "|" + item.getLabel());
cs.setHidden(!visible);
cs.setFamily(item.getFamily());
components.add(cs);
}
ComponentsSettingsHelper.resetHiddenComponents();
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
use of org.talend.repository.preference.palettesettings.ComponentPaletteItem 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);
}
}
use of org.talend.repository.preference.palettesettings.ComponentPaletteItem in project tdi-studio-se by Talend.
the class PaletteSettingPage method setComponentVisible.
/**
* set the selected component as visible or not
*
* @param selection
* @param b
*/
protected void setComponentVisible(ISelection selection, boolean visible) {
IStructuredSelection sel = (IStructuredSelection) selection;
Set<IPaletteItem> items = new HashSet<IPaletteItem>();
for (Iterator iterator = sel.iterator(); iterator.hasNext(); ) {
IPaletteItem entry = (IPaletteItem) iterator.next();
retrieveAllEntry(items, entry);
}
Set<IComponent> usedComponents = getComponentsUsedInProject(ProjectManager.getInstance().getCurrentProject());
boolean isUsed = false;
for (IPaletteItem item : items) {
if (!visible && item instanceof ComponentPaletteItem) {
if (usedComponents.contains(((ComponentPaletteItem) item).getComponent())) {
isUsed = true;
continue;
}
}
setComponentVisible(item, visible);
}
if (isUsed) {
MessageDialog messageDialog = new MessageDialog(getShell(), //$NON-NLS-1$
Messages.getString("PaletteSettingPage.paletteSettings"), //$NON-NLS-1$
null, //$NON-NLS-1$ //$NON-NLS-2$
Messages.getString("PaletteSettingPage.selection1") + "\n" + //$NON-NLS-1$
Messages.getString("PaletteSettingPage.selection2"), //$NON-NLS-1$
MessageDialog.INFORMATION, new String[] { "OK" }, //$NON-NLS-1$
0);
messageDialog.open();
}
refreshViewer();
}
use of org.talend.repository.preference.palettesettings.ComponentPaletteItem in project tdi-studio-se by Talend.
the class PaletteSettingPage method retrieveAllEntry.
private void retrieveAllEntry(Set<IPaletteItem> list, IPaletteItem entry) {
if (!(entry instanceof ComponentPaletteItem)) {
IPaletteItem container = entry;
for (Object element : container.getChildren()) {
IPaletteItem en = (IPaletteItem) element;
retrieveAllEntry(list, en);
}
} else {
list.add(entry);
}
}
Aggregations