/******************************************************************************* * MontiCore Language Workbench * Copyright (c) 2015, 2016, MontiCore, All rights reserved. * * This project is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this project. If not, see <http://www.gnu.org/licenses/>. *******************************************************************************/ package de.monticore.genericgraphics.controller.actions; import org.eclipse.gef.ui.actions.EditorPartAction; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.IEditorPart; import de.monticore.genericgraphics.controller.util.ImageSaveUtil; import de.monticore.genericgraphics.view.icons.IconProvider; /** * @author Tim Enger */ public class ExportAsImageAction extends EditorPartAction { /** * Id of this action */ public static final String EXPORT_AS_IMAGE_ID = "export as image"; private static final String DESCRIPTION = "Export as image"; /** * Constructor * * @param editor */ public ExportAsImageAction(IEditorPart editor) { super(editor); setDescription(DESCRIPTION); Image image = IconProvider.loadImage(IconProvider.EXPORT_ICON); if (image!=null) { setImageDescriptor(ImageDescriptor.createFromImage(image)); } setText("Export"); } @Override protected void init() { super.init(); setId(EXPORT_AS_IMAGE_ID); } @Override public void run() { ImageSaveUtil.save(getEditorPart()); } @Override protected boolean calculateEnabled() { return getEditorPart() != null; } @Override public void setEditorPart(IEditorPart part) { super.setEditorPart(part); } }