/** * 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.sad.ui.diagram.providers; import java.util.List; import org.eclipse.graphiti.dt.IDiagramTypeProvider; import org.eclipse.graphiti.features.ICreateFeature; import org.eclipse.graphiti.palette.IPaletteCompartmentEntry; import org.eclipse.graphiti.palette.impl.PaletteCompartmentEntry; import gov.redhawk.core.graphiti.sad.ui.diagram.feature.ComponentCreateFeature; import gov.redhawk.core.graphiti.ui.diagram.providers.ImageProvider; import gov.redhawk.ide.graphiti.ui.diagram.providers.AbstractPaletteToolBehaviorProvider; import gov.redhawk.ide.sdr.ComponentsContainer; import gov.redhawk.ide.sdr.ui.SdrUiPlugin; import mil.jpeojtrs.sca.spd.SoftPkg; public abstract class SADPaletteToolBehaviorProvider extends AbstractPaletteToolBehaviorProvider { private PaletteCompartmentEntry componentCompartment; public SADPaletteToolBehaviorProvider(final IDiagramTypeProvider diagramTypeProvider) { super(diagramTypeProvider); // sync palette Components with Target SDR Components addTargetSdrRefreshJob(getComponentsContainer()); } @Override protected void addPaletteCompartments(List<IPaletteCompartmentEntry> compartments) { componentCompartment = new PaletteCompartmentEntry("Components", null); componentCompartment.setInitiallyOpen(true); compartments.add(componentCompartment); } @Override protected void refreshPalette() { refreshCompartmentEntry(componentCompartment, getComponentsContainer(), ImageProvider.IMG_SPD); } @Override protected ICreateFeature getCreateFeature(SoftPkg spd, String implId, String iconId) { return new ComponentCreateFeature(getFeatureProvider(), spd, implId); } private ComponentsContainer getComponentsContainer() { return SdrUiPlugin.getDefault().getTargetSdrRoot().getComponentsContainer(); } }