/******************************************************************************* * This file is protected by Copyright. * Please refer to the COPYRIGHT file distributed with this source distribution. * * This file is part of REDHAWK IDE. * * All rights reserved. This program and the accompanying materials are made available under * the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ package gov.redhawk.ide.graphiti.ui.palette; import org.eclipse.gef.dnd.TemplateTransferDragSourceListener; import org.eclipse.gef.palette.PaletteRoot; import org.eclipse.gef.ui.palette.PaletteViewer; import org.eclipse.gef.ui.palette.PaletteViewerProvider; import org.eclipse.graphiti.ui.editor.DefaultPaletteBehavior; import org.eclipse.graphiti.ui.editor.DiagramBehavior; /** * Class implemented to enable filtering of components in the palette. */ public class RHGraphitiPaletteBehavior extends DefaultPaletteBehavior { /** * @param diagramBehavior */ public RHGraphitiPaletteBehavior(DiagramBehavior diagramBehavior) { super(diagramBehavior); } @Override protected PaletteRoot createPaletteRoot() { return new RHGraphitiPaletteRoot(diagramBehavior.getDiagramTypeProvider()); } @Override public void refreshPalette() { RHGraphitiPaletteRoot root = (RHGraphitiPaletteRoot) this.getPaletteRoot(); root.updatePaletteEntries(); } @Override protected PaletteViewerProvider createPaletteViewerProvider() { return new PaletteViewerProvider(diagramBehavior.getEditDomain()) { protected void configurePaletteViewer(PaletteViewer viewer) { super.configurePaletteViewer(viewer); viewer.addDragSourceListener(new TemplateTransferDragSourceListener(viewer)); viewer.setEditPartFactory(new RHGraphitiPaletteEditPartFactory(viewer)); } }; } }