use of org.eclipse.gef.palette.CombinedTemplateCreationEntry in project tdi-studio-se by Talend.
the class TalendPaletteContextMenuProvider method buildContextMenu.
@SuppressWarnings("rawtypes")
@Override
public void buildContextMenu(IMenuManager menu) {
super.buildContextMenu(menu);
boolean hasSearchComponentAction = true;
List editParts = getPaletteViewer().getSelectedEditParts();
if (!editParts.isEmpty()) {
PaletteEntry element = (PaletteEntry) ((EditPart) editParts.get(0)).getModel();
if (editParts.size() > 1) {
// search component only process one .
hasSearchComponentAction = false;
} else {
// check the entry is component or folder
if (element instanceof CombinedTemplateCreationEntry) {
Object template = ((CombinedTemplateCreationEntry) element).getTemplate();
if (template == null || !Node.class.equals(template)) {
hasSearchComponentAction = false;
}
} else {
// not component entry
hasSearchComponentAction = false;
}
}
// don't work for camel.
if (hasSearchComponentAction && isComponentsTypePalette(ComponentCategory.CATEGORY_4_CAMEL)) {
hasSearchComponentAction = false;
}
// note
//$NON-NLS-1$
boolean note = element.getLabel().equals(Messages.getString("TalendEditorPaletteFactory.Note"));
if (!note) {
if (hasSearchComponentAction) {
menu.appendToGroup(GEFActionConstants.MB_ADDITIONS, new SearchComponentAction(getPaletteViewer()));
}
boolean showFavorAction = true;
boolean showAddFavorAction = true;
PaletteContainer pContainer = element.getParent();
if (pContainer != null) {
// Favorites Folder or components in Favorites Folder
if ((pContainer instanceof PaletteRoot && TalendEditorPaletteFactory.FAVORITES.equals(element.getLabel())) || (pContainer.getParent() instanceof PaletteRoot && TalendEditorPaletteFactory.FAVORITES.equals(pContainer.getLabel()))) {
showAddFavorAction = false;
}
}
// for INPUT/OUTPUT/TRIGGER, needn't to add to Favorites
if (element instanceof CreationToolEntry) {
Object obj = ((CreationToolEntry) element).getToolProperty(CreationTool.PROPERTY_CREATION_FACTORY);
if (obj instanceof PaletteComponentFactory) {
IComponent component = ((PaletteComponentFactory) obj).getComponent();
EComponentType componentType = component.getComponentType();
if (componentType == EComponentType.JOBLET_INPUT_OUTPUT || componentType == EComponentType.JOBLET_TRIGGER) {
showFavorAction = false;
}
}
}
if (showFavorAction) {
// if (ShowFavoriteAction.state == true) {
if (showAddFavorAction) {
menu.appendToGroup(GEFActionConstants.GROUP_COPY, new FavoriteComponentAction(getPaletteViewer()));
} else {
menu.appendToGroup(GEFActionConstants.GROUP_COPY, new RemoveFavoriteComponentAction(getPaletteViewer()));
}
}
}
}
menu.appendToGroup(GEFActionConstants.GROUP_COPY, new HiddenFloderAction(getPaletteViewer()));
menu.appendToGroup(GEFActionConstants.GROUP_COPY, new DisplayFloderAction(getPaletteViewer()));
}
use of org.eclipse.gef.palette.CombinedTemplateCreationEntry in project tdi-studio-se by Talend.
the class TalendPaletteContextMenuProvider method removeListNotes.
public void removeListNotes(List eleList, Project project, PaletteViewer paletteViewer) {
Iterator<PaletteEntry> iter = eleList.iterator();
while (iter.hasNext()) {
PaletteEntry elementLi = iter.next();
if (elementLi instanceof TalendPaletteDrawer) {
List list = ((TalendPaletteDrawer) elementLi).getChildren();
removeListNotes(list, project, paletteViewer);
} else if (elementLi instanceof CombinedTemplateCreationEntry) {
removeNotes((CombinedTemplateCreationEntry) elementLi, project, paletteViewer);
}
}
}
use of org.eclipse.gef.palette.CombinedTemplateCreationEntry in project tdi-studio-se by Talend.
the class TalendPaletteContextMenuProvider method addListNotes.
public void addListNotes(List eleList, Project project, PaletteViewer paletteViewer) {
for (int i = 0; i < eleList.size(); i++) {
PaletteEntry elementLi = (PaletteEntry) eleList.get(i);
if (elementLi instanceof TalendPaletteDrawer) {
List list = ((TalendPaletteDrawer) elementLi).getChildren();
addListNotes(list, project, paletteViewer);
} else if (elementLi instanceof CombinedTemplateCreationEntry) {
addNotes((CombinedTemplateCreationEntry) elementLi, project, paletteViewer);
}
}
}
use of org.eclipse.gef.palette.CombinedTemplateCreationEntry in project tdi-studio-se by Talend.
the class TalendPaletteViewer method removeFavoritesComponent.
public void removeFavoritesComponent(CombinedTemplateCreationEntry component) {
if (favoritesEditPart != null) {
TalendEditorPaletteFactory.deleteFavoriteFromPreference(component.getLabel());
List children = favoritesEditPart.getChildren();
if (children != null) {
for (Object obj : children) {
TalendEntryEditPart entryEditPart = (TalendEntryEditPart) obj;
CombinedTemplateCreationEntry entryModule = (CombinedTemplateCreationEntry) entryEditPart.getModel();
if (entryModule.getLabel().equals(component.getLabel())) {
PaletteDrawer paletteDrawer = favoritesEditPart.getDrawer();
if (paletteDrawer != null) {
paletteDrawer.remove(entryModule);
}
// favoritesEditPart.removeChild(entryEditPart);
break;
}
}
}
}
}
use of org.eclipse.gef.palette.CombinedTemplateCreationEntry in project tdi-studio-se by Talend.
the class TalendPaletteViewer method removeRecentlyUsedComponent.
public void removeRecentlyUsedComponent(CombinedTemplateCreationEntry component) {
if (recentlyUsedEditPart != null) {
List children = recentlyUsedEditPart.getChildren();
if (children != null) {
for (Object obj : children) {
TalendEntryEditPart entryEditPart = (TalendEntryEditPart) obj;
CombinedTemplateCreationEntry entryModule = (CombinedTemplateCreationEntry) entryEditPart.getModel();
if (entryModule.getLabel().equals(component.getLabel())) {
PaletteDrawer paletteDrawer = recentlyUsedEditPart.getDrawer();
if (paletteDrawer != null) {
paletteDrawer.remove(entryModule);
}
// favoritesEditPart.removeChild(entryEditPart);
break;
}
}
}
}
}
Aggregations