/******************************************************************************* * 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.diagram.features.custom; import org.eclipse.graphiti.features.IFeatureProvider; import org.eclipse.graphiti.features.context.ICustomContext; import org.eclipse.graphiti.features.custom.AbstractCustomFeature; public class DialogEditingFeatureForPattern extends AbstractCustomFeature implements IDialogEditingFeature { private final IDialogEditingPattern pattern; private boolean changesApplied = false; /* * Constructor */ public DialogEditingFeatureForPattern(IFeatureProvider featureProvider, IDialogEditingPattern pattern) { super(featureProvider); this.pattern = pattern; } /* * (non-Javadoc) * @see org.eclipse.graphiti.features.custom.AbstractCustomFeature#getDescription() */ @Override public String getDescription() { return "Edit " + pattern.getEditName(); } /* * (non-Javadoc) * @see org.eclipse.graphiti.features.impl.AbstractFeature#getName() */ @Override public String getName() { return "&Edit " + pattern.getEditName(); } /* * (non-Javadoc) * @see org.eclipse.graphiti.features.custom.AbstractCustomFeature#canExecute(org.eclipse.graphiti.features.context.ICustomContext) */ @Override public boolean canDialogEdit(ICustomContext context) { return pattern.canDialogEdit(context); } /* * (non-Javadoc) * @see org.eclipse.graphiti.features.custom.ICustomFeature#execute(org.eclipse.graphiti.features.context.ICustomContext) */ @Override public boolean dialogEdit(ICustomContext context) { return pattern.dialogEdit(context); } @Override public void execute(ICustomContext context) { changesApplied = dialogEdit(context); } @Override public boolean canExecute(ICustomContext context) { return canDialogEdit(context); } @Override public boolean hasDoneChanges() { return changesApplied; } }