/** * @see org.eclipse.gef.EditPartFactory#createEditPart(EditPart, Object) */ public EditPart createEditPart(EditPart parentEditPart, Object model) { if (model instanceof PaletteRoot) return createMainPaletteEditPart(parentEditPart, model); if (model instanceof PaletteStack) return createStackEditPart(parentEditPart, model); if (model instanceof PaletteContainer) { Object type = ((PaletteContainer) model).getType(); if (PaletteDrawer.PALETTE_TYPE_DRAWER.equals(type)) return createDrawerEditPart(parentEditPart, model); if (PaletteGroup.PALETTE_TYPE_GROUP.equals(type) || PaletteContainer.PALETTE_TYPE_UNKNOWN.equals(type)) return createGroupEditPart(parentEditPart, model); if (PaletteToolbar.PALETTE_TYPE_TOOLBAR_GROUP.equals(type)) return createToolbarEditPart(parentEditPart, model); } if (model instanceof PaletteTemplateEntry) return createTemplateEditPart(parentEditPart, model); if (model instanceof PaletteSeparator) return createSeparatorEditPart(parentEditPart, model); if (model instanceof PaletteEntry) return createEntryEditPart(parentEditPart, model); return null; }
/** * @see ScrollingGraphicalViewer#reveal(EditPart) */ public void reveal(EditPart part) { // If the given part is a drawer, we don't need to expand it. Hence, // when invoking // findContainingDrawer(), we use part.getParent() DrawerEditPart drawer = findContainingDrawer(part.getParent()); if (drawer != null && !drawer.isExpanded()) drawer.setExpanded(true); // if the part is inside a stack, set it to be the top level item of the // stack. if (part.getParent() != null && part.getParent() instanceof PaletteStackEditPart) ((PaletteStack) part.getParent().getModel()) .setActiveEntry((PaletteEntry) part.getModel()); super.reveal(part); }
/** * @see org.eclipse.gef.ui.palette.customize.PaletteEntryFactory#canCreate(org.eclipse.gef.palette.PaletteEntry) */ public boolean canCreate(PaletteEntry selected) { if (!(selected instanceof ToolEntry) || selected.getParent() instanceof PaletteStack) return false; return super.canCreate(selected); }
/** * @see org.eclipse.gef.ui.palette.customize.PaletteEntryFactory#createNewEntry(org.eclipse.swt.widgets.Shell, * org.eclipse.gef.palette.PaletteEntry) */ public PaletteEntry createNewEntry(Shell shell, PaletteEntry selected) { PaletteContainer parent = determineContainerForNewEntry(selected); int index = determineIndexForNewEntry(parent, selected); PaletteEntry entry = createNewEntry(shell); parent.remove(selected); parent.add(index - 1, entry); ((PaletteStack) entry).add(selected); entry.setUserModificationPermission(PaletteEntry.PERMISSION_FULL_MODIFICATION); return entry; }
private void buildNavigationList(EditPart palettePart, EditPart exclusion, ArrayList navList, EditPart stackPart) { if (palettePart != exclusion) { if (isCollapsedDrawer(palettePart)) { navList.add(palettePart); return; } else if (stackPart instanceof PaletteStackEditPart && stackPart.getChildren().contains(palettePart)) { // we only want to add the top level item to the navlist if (((PaletteStack) stackPart.getModel()).getActiveEntry() .equals(palettePart.getModel())) navList.add(palettePart); } else if (stackPart instanceof PinnablePaletteStackEditPart && stackPart.getChildren().contains(palettePart)) { // we only want to add the top level item to the navlist unless // the palette stack is expanded if (((PinnablePaletteStackEditPart) stackPart).isExpanded() || ((PaletteStack) stackPart.getModel()) .getActiveEntry() .equals(palettePart.getModel())) { navList.add(palettePart); } } else if ((palettePart instanceof ToolEntryEditPart || palettePart instanceof DrawerEditPart || palettePart instanceof TemplateEditPart)) { navList.add(palettePart); } } List children = palettePart.getChildren(); for (int k = 0; k < children.size(); k++) { EditPart ep = (EditPart) children.get(k); if (ep instanceof IPaletteStackEditPart) stackPart = ep; buildNavigationList(ep, exclusion, navList, stackPart); } }
/** * @see GraphicalViewerKeyHandler#navigateTo(EditPart, KeyEvent) */ protected void navigateTo(EditPart part, KeyEvent event) { if (part == null) return; if (part instanceof IPaletteStackEditPart) { PaletteEntry activeEntry = ((PaletteStack) part.getModel()) .getActiveEntry(); part = (EditPart) getViewer().getEditPartRegistry() .get(activeEntry); } getViewer().select(part); getViewer().reveal(part); }
/** * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent) */ public void propertyChange(PropertyChangeEvent event) { if (event.getPropertyName().equals(PaletteStack.PROPERTY_ACTIVE_ENTRY)) activeEntryChanged(event.getOldValue(), event.getNewValue()); else super.propertyChange(event); }
public Object getAdapter(Class key) { if (key == IPinnableEditPart.class) { if ((getParent() instanceof PinnablePaletteStackEditPart) && ((PinnablePaletteStackEditPart) getParent()) .canBePinned() && ((PaletteStack) getParent().getModel()).getActiveEntry() .equals(getModel())) { return getParent(); } } return super.getAdapter(key); }
/** * @see org.eclipse.gef.ui.palette.customize.PaletteEntryFactory#createNewEntry(Shell) */ protected PaletteEntry createNewEntry(Shell shell) { return new PaletteStack(PaletteMessages.NEW_STACK_LABEL, null, null); }
/** * @see org.eclipse.gef.ui.palette.customize.PaletteEntryFactory#determineTypeForNewEntry(org.eclipse.gef.palette.PaletteEntry) */ protected Object determineTypeForNewEntry(PaletteEntry selected) { return PaletteStack.PALETTE_TYPE_STACK; }
private PaletteStack getStack() { return (PaletteStack) getModel(); }
public void propertyChange(PropertyChangeEvent event) { if (event.getPropertyName().equals(PaletteStack.PROPERTY_ACTIVE_ENTRY)) activeEntryChanged(event.getOldValue(), event.getNewValue()); else super.propertyChange(event); }
/** * Create PaletteStackEditPart - edit part for PaletteStack * * @param parentEditPart * the parent of the new editpart to be created * @param model * the PaletteStack * @return the newly created EditPart */ protected EditPart createStackEditPart(EditPart parentEditPart, Object model) { if (parentEditPart instanceof PaletteEditPart && ((PaletteEditPart) parentEditPart).isToolbarItem()) { return new PaletteStackEditPart((PaletteStack) model); } return new PinnablePaletteStackEditPart((PaletteStack) model); }
/** * Creates a new PaletteStackEditPart with the given PaletteStack as its * model. * * @param model * the PaletteStack to associate with this EditPart. */ public PaletteStackEditPart(PaletteStack model) { super(model); }
/** * Creates a new PaletteStackEditPart with the given PaletteStack as its * model. * * @param model * the PaletteStack to associate with this EditPart. */ public PinnablePaletteStackEditPart(PaletteStack model) { super(model); }