taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/SaveTaxonHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/ShowPropertySheetHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/ShowTabbedPropertiesViewHandler.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/images/GalleryLabelComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/images/ImageComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/images/ImagesGroupComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/images/TaxonHasNoImagesComposite.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/images/TaxonImageEditor.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/images/handler/CreateImageHandler.java -text
-taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/images/handler/DeleteImageHandler.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/internal/TaxeditorEditorPlugin.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/DefaultLabelStrategy.java -text
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/labels/ILabelImageStrategy.java -text
+++ /dev/null
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.taxeditor.editor.images;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.eclipse.swt.graphics.Font;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.ui.views.properties.IPropertySource;\r
-\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.taxeditor.editor.AbstractTaxonEditor;\r
-import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
-import eu.etaxonomy.taxeditor.model.ImageResources;\r
-import eu.etaxonomy.taxeditor.model.Resources;\r
-import eu.etaxonomy.taxeditor.propertysheet.description.TaxonDescriptionPropertySource;\r
-\r
-/**\r
- * Composite for editing a description's label / Title Cache information.\r
- * \r
- * @author p.ciardelli\r
- * @author n.hoffmann\r
- * @created 09.09.2008\r
- * @version 1.0\r
- */\r
-public class GalleryLabelComposite extends GroupedComposite {\r
- private static final Logger logger = Logger\r
- .getLogger(GalleryLabelComposite.class);\r
-\r
- /**\r
- * ************ FONTS ************\r
- */\r
- public static final Font DESCRIPTION_LABEL_FONT = Resources\r
- .getFont(Resources.ACCEPTED_TAXON_FONT);\r
- \r
- /**\r
- * ************ ICONS ************\r
- */\r
- public static final Image DESCRIPTION_LABEL_ICON = ImageResources\r
- .getImage(ImageResources.BLACK_SQUARE_ICON); \r
- \r
- private static final String EMPTY_NAME_PROMPT = "Click to add label for image gallery";\r
-\r
- private TaxonDescription description;\r
- \r
- public GalleryLabelComposite(AbstractTaxonEditor editor, Composite parent, TaxonDescription description) {\r
- super(editor, parent);\r
- \r
- this.description = description;\r
- \r
- \r
- createTextViewer();\r
- createBorderSupport();\r
- createLineWrapSupport();\r
-\r
-// createParser();\r
- createEmptyViewerPrompt(EMPTY_NAME_PROMPT);\r
- \r
- setIsDraggable(false);\r
- setFont(DESCRIPTION_LABEL_FONT);\r
- setIcon(DESCRIPTION_LABEL_ICON);\r
- \r
- this.setMenu(editor.getMenu());\r
- \r
- initTextViewer();\r
- }\r
- \r
- private void initTextViewer() {\r
- if (textViewer != null) {\r
- String text = getDescription().getTitleCache();\r
- \r
- if (text.length() == 0) {\r
- initEmptyText();\r
- } else {\r
- textViewer.getTextWidget().setText(text);\r
- }\r
- } else {\r
- logger.warn("TextViewer is null.");\r
- }\r
- }\r
-\r
- public TaxonDescription getDescription() {\r
- return description;\r
- }\r
-\r
-// /**\r
-// * FIXME migrate menu to plugin.xml configuration\r
-// */\r
-// private void createMenu() {\r
-// \r
-// MenuManager featuresMenu = new MenuManager("Add description element");\r
-// featuresMenu.setRemoveAllWhenShown(true);\r
-// featuresMenu.addMenuListener(new IMenuListener() {\r
-// public void menuAboutToShow(IMenuManager manager) {\r
-// for (final Feature feature : PreferencesUtil.getPreferredFeatures()) {\r
-// \r
-// String text = feature.getLabel();\r
-// manager.add(new Action(text){\r
-// \r
-// public void run() {\r
-// IUndoableOperation operation = new CreateDescriptionElementOperation\r
-// (this.getText(), editor.getUndoContext(), taxon, description, feature, editor);\r
-// EditorUtil.executeOperation(operation);\r
-// }\r
-// });\r
-// }\r
-// }\r
-// });\r
-// \r
-// // Important: add an empty action. Otherwise, when the main menu sees that\r
-// // there are no actions in the submenu, it will not be shown\r
-// // HACK?\r
-// featuresMenu.add(new Action() {});\r
-//\r
-// ContextMenu contextMenu = createContextMenu();\r
-// contextMenu.addSubmenu(featuresMenu);\r
-// }\r
-\r
- protected void parse(String text) {\r
- getDescription().setTitleCache(text);\r
- \r
- // Manually refresh the property sheet to reflect changes\r
- setSelection();\r
- \r
- setDirty(true); \r
- }\r
- \r
- public IPropertySource getPropertySource() {\r
- return new TaxonDescriptionPropertySource(getDescription());\r
- }\r
-\r
- @Override\r
- protected Font getViewerFont() {\r
- return DESCRIPTION_LABEL_FONT;\r
- }\r
- \r
- public Object getData () {\r
- return getDescription();\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-// $Id$\r
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.taxeditor.editor.images;\r
-\r
-import java.net.URI;\r
-import java.net.URISyntaxException;\r
-\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.FocusAdapter;\r
-import org.eclipse.swt.events.FocusEvent;\r
-import org.eclipse.swt.events.PaintEvent;\r
-import org.eclipse.swt.events.PaintListener;\r
-import org.eclipse.swt.graphics.Color;\r
-import org.eclipse.swt.graphics.Font;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.swt.widgets.Canvas;\r
-import org.eclipse.ui.forms.widgets.TableWrapData;\r
-import org.eclipse.ui.views.properties.IPropertySource;\r
-\r
-import eu.etaxonomy.cdm.model.media.ImageFile;\r
-import eu.etaxonomy.taxeditor.editor.CompositeBorderDecorator;\r
-import eu.etaxonomy.taxeditor.editor.GroupComposite;\r
-import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
-import eu.etaxonomy.taxeditor.editor.name.AcceptedNameComposite;\r
-import eu.etaxonomy.taxeditor.model.ImageResources;\r
-import eu.etaxonomy.taxeditor.propertysheet.images.ImagePropertySource;\r
-\r
-/**\r
- * @author p.ciardelli\r
- * @created 30.03.2009\r
- * @version 1.0\r
- */\r
-public class ImageComposite extends GroupedComposite { \r
-\r
- protected Image image;\r
- \r
- private Canvas canvas;\r
-\r
- private FocusAdapter focusListener;\r
-\r
- private ImageFile imageFile;\r
- \r
- /**\r
- * @param groupComposite\r
- * @param form\r
- * @param taxon\r
- * @param url\r
- */\r
- public ImageComposite(TaxonImageEditor editor, GroupComposite groupComposite, ImageFile imageFile) {\r
- super(editor, groupComposite);\r
- \r
- \r
- \r
- this.imageFile = imageFile;\r
- \r
- setIsDraggable(false);\r
-// setIcon(AcceptedNameComposite.ACCEPTED_ICON);\r
- setIndent(AcceptedNameComposite.ACCEPTED_INDENT);\r
-\r
- createImage(imageFile);\r
- \r
- this.setMenu(editor.getMenu());\r
- \r
- createBorderSupport();\r
- \r
- }\r
- \r
- protected void createControl() {\r
- super.createControl();\r
- \r
- Color groupBackgroundColor = getDisplay().getSystemColor(SWT.COLOR_WHITE);\r
- setBackground(groupBackgroundColor);\r
- }\r
- \r
- /**\r
- * @param url\r
- */\r
- private void createImage(ImageFile imageFile) {\r
- \r
- URI uri = null;\r
-\r
- // TODO ImageFile.getUri should return a URI\r
- try {\r
- uri = new URI(imageFile.getUri());\r
- } catch (URISyntaxException e1) {\r
- // TODO this should never happen\r
- e1.printStackTrace();\r
- }\r
- \r
- \r
- image = ImageResources.getImage(uri);\r
- \r
- // Not optimal - why should getting composite to size to img be so obtuse?! \r
-// canvas = new Canvas(this, SWT.NO_REDRAW_RESIZE);\r
- canvas = new Canvas(this, SWT.NONE);\r
- \r
- TableWrapData layoutData = new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP);\r
- layoutData.heightHint = image.getBounds().height;\r
- canvas.setLayoutData(layoutData);\r
- \r
- canvas.addPaintListener (new PaintListener () {\r
- public void paintControl (PaintEvent e) {\r
- if (image != null) {\r
- canvas.setBounds(image.getBounds());\r
- e.gc.drawImage (image, 0, 0);\r
- }\r
- }\r
- });\r
- \r
- canvas.setBounds(image.getBounds()); \r
- \r
- focusListener = new FocusAdapter() {\r
- public void focusGained(FocusEvent e) {\r
- setFocus();\r
- }\r
- };\r
- canvas.addFocusListener(focusListener);\r
- }\r
-\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.editor.GroupedComposite#getViewerFont()\r
- */\r
- @Override\r
- protected Font getViewerFont() {\r
- return null;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.editor.IHasPropertySource#getPropertySource()\r
- */\r
- public IPropertySource getPropertySource() {\r
- return new ImagePropertySource(getTaxon(), imageFile);\r
- }\r
- \r
- public void createBorderSupport() {\r
- \r
- CompositeBorderDecorator borderDecorator = new CompositeBorderDecorator(\r
- canvas, managedForm);\r
- setBorderDecorator(borderDecorator);\r
- borderDecorator.setLoseFocus(false);\r
- this.addFocusListener(borderDecorator);\r
-\r
- }\r
- \r
- public void dispose () {\r
- super.dispose();\r
- \r
- if (getBorderDecorator() != null) {\r
- this.removeFocusListener(getBorderDecorator());\r
- }\r
- \r
- if (image != null) {\r
- image.dispose();\r
- }\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.editor.GroupedComposite#parse(java.lang.String)\r
- */\r
- @Override\r
- protected void parse(String text) {\r
- throw new IllegalStateException("Parser should not be called on this object");\r
- }\r
-}\r
+++ /dev/null
-// $Id$\r
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.taxeditor.editor.images;\r
-\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.graphics.Color;\r
-import org.eclipse.swt.widgets.Composite;\r
-\r
-import eu.etaxonomy.taxeditor.editor.AbstractTaxonEditor;\r
-import eu.etaxonomy.taxeditor.editor.GroupComposite;\r
-\r
-/**\r
- * @author p.ciardelli\r
- * @created 30.03.2009\r
- * @version 1.0\r
- */\r
-public class ImagesGroupComposite extends GroupComposite {\r
-\r
- public ImagesGroupComposite(Composite parent, AbstractTaxonEditor editor) {\r
- super(editor, parent);\r
- \r
- Color groupBackgroundColor = getDisplay().getSystemColor(SWT.COLOR_WHITE);\r
- setBackground(groupBackgroundColor);\r
- }\r
-}\r
+++ /dev/null
-// $Id$\r
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.taxeditor.editor.images;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.events.MouseAdapter;\r
-import org.eclipse.swt.events.MouseEvent;\r
-import org.eclipse.swt.graphics.Color;\r
-import org.eclipse.swt.graphics.Font;\r
-import org.eclipse.swt.widgets.Event;\r
-import org.eclipse.ui.handlers.IHandlerService;\r
-import org.eclipse.ui.views.properties.IPropertySource;\r
-\r
-import eu.etaxonomy.taxeditor.editor.GroupComposite;\r
-import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
-import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin;\r
-import eu.etaxonomy.taxeditor.editor.name.NameComposite;\r
-import eu.etaxonomy.taxeditor.editor.name.NameViewer;\r
-\r
-/**\r
- * @author p.ciardelli\r
- * @created 31.03.2009\r
- * @version 1.0\r
- */\r
-public class TaxonHasNoImagesComposite extends GroupedComposite {\r
- private static final Logger logger = Logger\r
- .getLogger(TaxonHasNoImagesComposite.class);\r
-\r
- /**\r
- * @param groupComposite\r
- * @param form\r
- * @param taxon\r
- */\r
- public TaxonHasNoImagesComposite(TaxonImageEditor editor, GroupComposite parent) {\r
- super(editor, parent);\r
-\r
- createTextViewer();\r
- setIsDraggable(false);\r
-// setIcon(ACCEPTED_ICON);\r
- setFont(getViewerFont());\r
-// setIndent(ACCEPTED_INDENT);\r
-\r
- initEmptyText();\r
- }\r
-\r
- protected void createControl() {\r
- super.createControl();\r
- \r
- Color groupBackgroundColor = getDisplay().getSystemColor(SWT.COLOR_WHITE);\r
- setBackground(groupBackgroundColor);\r
- }\r
- \r
- protected void initEmptyText() {\r
- super.initEmptyText();\r
- \r
- getTextViewer().getTextWidget().setEditable(false);\r
- getTextViewer().getTextWidget().addMouseListener(new MouseAdapter() {\r
- public void mouseUp(MouseEvent e) {\r
- createNewImage();\r
- }\r
- });\r
- \r
- if (getTextViewer() instanceof NameViewer) {\r
- Color groupBackgroundColor = getDisplay().getSystemColor(SWT.COLOR_WHITE);\r
- ((NameViewer) getTextViewer()).setBackground(groupBackgroundColor);\r
- }\r
- }\r
- \r
- protected String getEmptyTextPrompt() {\r
- return "Click to add an image"; \r
- }\r
- \r
- /**\r
- * \r
- */\r
- private void createNewImage() {\r
- IHandlerService handlerService = (IHandlerService) TaxeditorEditorPlugin.getDefault().getWorkbench().getService(IHandlerService.class);\r
- \r
- String commandId = "eu.etaxonomy.taxeditor.editor.name.createImage";\r
- Event event = new Event();\r
- try {\r
- handlerService.executeCommand(commandId, event);\r
- } catch (Exception e) {\r
- logger.error("Error executing CreateImageHandler", e);\r
- } \r
- }\r
-\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.editor.GroupedComposite#getViewerFont()\r
- */\r
- @Override\r
- protected Font getViewerFont() {\r
- return NameComposite.ACCEPTED_FONT;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.editor.IHasPropertySource#getPropertySource()\r
- */\r
- public IPropertySource getPropertySource() {\r
- return null;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.editor.GroupedComposite#parse(java.lang.String)\r
- */\r
- @Override\r
- protected void parse(String text) {\r
- throw new IllegalStateException("Parser should not be called on this object");\r
- }\r
-}\r
+++ /dev/null
-// $Id$\r
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.taxeditor.editor.images;\r
-\r
-import java.util.HashSet;\r
-import java.util.Set;\r
-\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.ui.IEditorInput;\r
-import org.eclipse.ui.IEditorSite;\r
-import org.eclipse.ui.PartInitException;\r
-\r
-import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
-import eu.etaxonomy.cdm.model.description.TaxonDescription;\r
-import eu.etaxonomy.cdm.model.media.ImageFile;\r
-import eu.etaxonomy.taxeditor.editor.AbstractTaxonEditor;\r
-import eu.etaxonomy.taxeditor.editor.FreeTextElementFactory;\r
-import eu.etaxonomy.taxeditor.editor.GroupComposite;\r
-import eu.etaxonomy.taxeditor.editor.GroupedComposite;\r
-import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;\r
-import eu.etaxonomy.taxeditor.model.ImagesHelper;\r
-\r
-/**\r
- * @author p.ciardelli\r
- * @author n.hoffmann\r
- * @created 30.03.2009\r
- * @version 1.0\r
- */\r
-public class TaxonImageEditor extends AbstractTaxonEditor {\r
- \r
- private static final String ID = "eu.etaxonomy.taxeditor.taxonImageEditor";\r
-\r
- private TaxonDescription emptyGallery; \r
- \r
- public TaxonImageEditor(MultiPageTaxonEditor editor){\r
- super(editor);\r
- }\r
- \r
- public void init(IEditorSite site, IEditorInput input)\r
- throws PartInitException {\r
- \r
- super.init(site, input);\r
- }\r
- \r
- @Override\r
- protected void createManagedForm(Composite composite) {\r
- \r
- super.createManagedForm(composite);\r
- \r
- Set<TaxonDescription> descriptions = taxon.getDescriptions();\r
- Set<DescriptionBase<?>> imageGalleries = new HashSet<DescriptionBase<?>>();\r
- \r
- for(TaxonDescription description : descriptions){\r
- if(description.isImageGallery()){\r
- imageGalleries.add(description);\r
- }\r
- }\r
- \r
- \r
- if(imageGalleries.size() == 0){\r
- emptyGallery = TaxonDescription.NewInstance();\r
- emptyGallery.setImageGallery(true);\r
- emptyGallery.setTitleCache("");\r
- descriptions.add(emptyGallery);\r
- \r
-\r
- taxon.addDescription(emptyGallery);\r
- }\r
- \r
- firstGroupedComposite = null;\r
- \r
- for(DescriptionBase<?> description : descriptions){\r
- if(description.isImageGallery()){\r
- // Draw gallery label\r
- Composite labelComposite = \r
- FreeTextElementFactory.getDefault().createGalleryLabel(this, (TaxonDescription) description);\r
- \r
- // Note whether this is the first label drawn\r
- if (firstGroupedComposite == null) {\r
- firstGroupedComposite = (GroupedComposite) labelComposite;\r
- }\r
- \r
- Set<ImageFile> imageFiles = ImagesHelper.getImages((TaxonDescription) description);\r
- \r
- for(ImageFile imageFile : imageFiles){\r
- FreeTextElementFactory.getDefault().createImageElement(this, imageFile);\r
- }\r
- }\r
- }\r
-\r
- // Redraw composite\r
- composite.layout();\r
- }\r
-\r
- /**\r
- * @return\r
- */\r
- public GroupComposite getImageGroup() {\r
- for(Composite c : getGroupedComposites()){\r
- if(c instanceof ImagesGroupComposite){\r
- return (GroupComposite) c;\r
- }\r
- }\r
- return null;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.editor.AbstractTaxonEditor#getID()\r
- */\r
- @Override\r
- public String getID() {\r
- return TaxonImageEditor.ID;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see eu.etaxonomy.taxeditor.editor.AbstractTaxonEditor#resetGroupComposites()\r
- */\r
- @Override\r
- protected void resetGroupComposites() {\r
- // TODO Auto-generated method stub\r
- \r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.editor.images.handler;
-
-import java.net.URI;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-import eu.etaxonomy.cdm.model.description.TaxonDescription;
-import eu.etaxonomy.cdm.model.media.ImageFile;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
-import eu.etaxonomy.taxeditor.dialogs.UriDialog;
-import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
-import eu.etaxonomy.taxeditor.editor.Page;
-import eu.etaxonomy.taxeditor.editor.images.GalleryLabelComposite;
-import eu.etaxonomy.taxeditor.editor.images.TaxonImageEditor;
-import eu.etaxonomy.taxeditor.operations.CreateImageOperation;
-
-/**
- * @author n.hoffmann
- * @created 27.04.2009
- * @version 1.0
- */
-public class CreateImageHandler extends AbstractHandler implements IHandler {
- private static final Logger logger = Logger
- .getLogger(CreateImageHandler.class);
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- public Object execute(ExecutionEvent event) throws ExecutionException {
-// TaxonImageEditor editor = (TaxonImageEditor) EditorUtil.getActiveEditorPage(
-// MultiPageTaxonEditor.PAGE.IMAGE);
-
- MultiPageTaxonEditor editor = (MultiPageTaxonEditor) HandlerUtil.getActiveEditor(event);
-
- TaxonImageEditor page = (TaxonImageEditor) editor.getPage(Page.IMAGE);
-
- Shell shell = HandlerUtil.getActiveShell(event);
- Taxon taxon = editor.getTaxon();
-
-
- // FIXME right now we have only one description per taxon
- // this will change in the future and then attaching the feature to
- // the firstGroupedComposite will not work anymore
- TaxonDescription description = ((GalleryLabelComposite) page.getFirstGroupedComposite()).getDescription();
-
-
- URI uri = UriDialog.getUri(shell, "Enter image URI", "Enter the new image's URI:");
- // TODO check URI for validity
-
- if (uri == null) {
- return Status.CANCEL_STATUS;
- }
- ImageFile imageFile = ImageFile.NewInstance(uri.toString(), null);
-
-
-
-
- IUndoableOperation operation;
- try {
- operation = new CreateImageOperation(event.getCommand().getName(),
- editor.getUndoContext(), taxon, description, imageFile, editor);
- EditorUtil.executeOperation(operation);
- } catch (NotDefinedException e) {
- logger.warn("Command name not set");
- }
-
- return null;
- }
-}
+++ /dev/null
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.editor.images.handler;
-
-import org.apache.log4j.Logger;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.IHandler;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.core.commands.operations.IUndoableOperation;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.handlers.HandlerUtil;
-
-import eu.etaxonomy.cdm.model.description.TaxonDescription;
-import eu.etaxonomy.cdm.model.media.ImageFile;
-import eu.etaxonomy.taxeditor.editor.EditorUtil;
-import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor;
-import eu.etaxonomy.taxeditor.editor.Page;
-import eu.etaxonomy.taxeditor.editor.images.GalleryLabelComposite;
-import eu.etaxonomy.taxeditor.editor.images.TaxonImageEditor;
-import eu.etaxonomy.taxeditor.operations.DeleteImageOperation;
-import eu.etaxonomy.taxeditor.propertysheet.images.ImagePropertySource;
-
-/**
- * @author n.hoffmann
- * @created 27.04.2009
- * @version 1.0
- */
-public class DeleteImageHandler extends AbstractHandler implements IHandler {
- private static final Logger logger = Logger
- .getLogger(DeleteImageHandler.class);
-
- /* (non-Javadoc)
- * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
- */
- public Object execute(ExecutionEvent event) throws ExecutionException {
- MultiPageTaxonEditor editor = EditorUtil.getActiveEditor();
-
- TaxonImageEditor page = (TaxonImageEditor) editor.getPage(Page.IMAGE);
-
- ISelection menuSelection = HandlerUtil.getActiveMenuSelection(event);
-
- // FIXME right now we have only one description per taxon
- // this will change in the future and then attaching the feature to
- // the firstGroupedComposite will not work anymore
- TaxonDescription description = ((GalleryLabelComposite) page.getFirstGroupedComposite()).getDescription();
-
-
- ImageFile imageFile = ((ImagePropertySource) ((StructuredSelection) menuSelection).getFirstElement()).getImageFile();
-
- IUndoableOperation operation;
- try {
- // we are not passing the description and thereby assume that all occurrences of the image
- // should be deleted
- operation = new DeleteImageOperation(event.getCommand().getName(),
- editor.getUndoContext(), editor.getTaxon(), description, imageFile, editor);
- EditorUtil.executeOperation(operation);
- } catch (NotDefinedException e) {
- logger.warn("Command name not set");
- }
-
- return null;
- }
-}