/** * 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.sca.sad.diagram.palette; import org.eclipse.draw2d.IFigure; import org.eclipse.gef.EditPolicy; import org.eclipse.gef.Request; import org.eclipse.gef.RequestConstants; import org.eclipse.gef.ui.palette.PaletteViewer; /** * @since 3.2 */ public class LabelEditPart extends org.eclipse.gef.editparts.AbstractGraphicalEditPart { private final PaletteFilter filter; public LabelEditPart(PaletteViewer viewer) { filter = new PaletteFilter(viewer, this); } protected void createEditPolicies() { installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, null); installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy()); installEditPolicy(EditPolicy.COMPONENT_ROLE, null); } /** * @return the filter */ public PaletteFilter getPaletteFilter() { return filter; } protected IFigure createFigure() { LabelFigure label = new LabelFigure(); return label; } private void performDirectEdit() { new LabelEditManager(this, new LabelCellEditorLocator((LabelFigure) getFigure()), filter).show(); } public void performRequest(Request request) { if (request.getType() == RequestConstants.REQ_DIRECT_EDIT) { performDirectEdit(); } } protected void refreshVisuals() { ((LabelFigure) getFigure()).setText(filter.getFilter()); super.refreshVisuals(); } }