|
From: <nr...@us...> - 2011-07-24 17:41:29
|
Revision: 15703
http://dcm4che.svn.sourceforge.net/dcm4che/?rev=15703&view=rev
Author: nroduit
Date: 2011-07-24 17:41:22 +0000 (Sun, 24 Jul 2011)
Log Message:
-----------
Export to clipboard the selected view
Modified Paths:
--------------
weasis/weasis_framework/trunk/weasis-base/weasis-base-explorer/src/main/java/org/weasis/base/explorer/JIThumbnailListPane.java
weasis/weasis_framework/trunk/weasis-base/weasis-base-ui/src/main/java/org/weasis/base/ui/gui/WeasisWin.java
weasis/weasis_framework/trunk/weasis-base/weasis-base-viewer2d/src/main/java/org/weasis/base/viewer2d/View2dContainer.java
weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/DefaultView2d.java
weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/ViewerPlugin.java
weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/AbstractDragGraphic.java
weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/CobbAngleToolGraphic.java
weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/GraphicLabel.java
weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/model/AbstractLayer.java
weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/messages.properties
weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-codec/src/main/java/org/weasis/dicom/codec/DicomMediaIO.java
weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-viewer2d/src/main/java/org/weasis/dicom/viewer2d/View2d.java
weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-viewer2d/src/main/java/org/weasis/dicom/viewer2d/View2dContainer.java
Added Paths:
-----------
weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/ViewTransferHandler.java
Modified: weasis/weasis_framework/trunk/weasis-base/weasis-base-explorer/src/main/java/org/weasis/base/explorer/JIThumbnailListPane.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-base/weasis-base-explorer/src/main/java/org/weasis/base/explorer/JIThumbnailListPane.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-base/weasis-base-explorer/src/main/java/org/weasis/base/explorer/JIThumbnailListPane.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -196,7 +196,7 @@
}
@Override
- public Action[] getExportActions() {
+ public List<Action> getExportActions() {
// TODO Auto-generated method stub
return null;
}
Modified: weasis/weasis_framework/trunk/weasis-base/weasis-base-ui/src/main/java/org/weasis/base/ui/gui/WeasisWin.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-base/weasis-base-ui/src/main/java/org/weasis/base/ui/gui/WeasisWin.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-base/weasis-base-ui/src/main/java/org/weasis/base/ui/gui/WeasisWin.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -619,7 +619,7 @@
synchronized (UIManager.EXPLORER_PLUGINS) {
if (selectedPlugin != null) {
- Action[] actions = selectedPlugin.getExportActions();
+ List<Action> actions = selectedPlugin.getExportActions();
if (actions != null) {
for (Action action : actions) {
JMenuItem item = new JMenuItem(action);
Modified: weasis/weasis_framework/trunk/weasis-base/weasis-base-viewer2d/src/main/java/org/weasis/base/viewer2d/View2dContainer.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-base/weasis-base-viewer2d/src/main/java/org/weasis/base/viewer2d/View2dContainer.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-base/weasis-base-viewer2d/src/main/java/org/weasis/base/viewer2d/View2dContainer.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -15,6 +15,7 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.ArrayList;
+import java.util.List;
import javax.swing.Action;
import javax.swing.JComponent;
@@ -343,9 +344,9 @@
}
@Override
- public Action[] getExportActions() {
+ public List<Action> getExportActions() {
if (selectedImagePane != null)
- return new Action[] { selectedImagePane.getExportToClipboardAction() };
+ return selectedImagePane.getExportToClipboardAction();
return null;
}
Modified: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/DefaultView2d.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/DefaultView2d.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/DefaultView2d.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -49,6 +49,7 @@
import javax.media.jai.PlanarImage;
import javax.swing.AbstractAction;
+import javax.swing.Action;
import javax.swing.DefaultBoundedRangeModel;
import javax.swing.ToolTipManager;
import javax.swing.TransferHandler;
@@ -104,8 +105,6 @@
public abstract class DefaultView2d<E extends ImageElement> extends GraphicsPane implements PropertyChangeListener,
FocusListener, Image2DViewer, ImageLayerChangeListener, KeyListener {
- private static final ImageTransferHandler EXPORT_TO_CLIPBOARD = new ImageTransferHandler();
-
protected final FocusHandler focusHandler = new FocusHandler();
protected final MouseHandler mouseClickHandler = new MouseHandler();
@@ -118,15 +117,7 @@
pointer[3] = new Line2D.Double(0.0, -40.0, 0.0, -5.0);
pointer[4] = new Line2D.Double(0.0, 5.0, 0.0, 40.0);
}
- private final AbstractAction exportToClipboardAction = new AbstractAction(
- Messages.getString("DefaultView2d.clipboard")) { //$NON-NLS-1$
- @Override
- public void actionPerformed(ActionEvent e) {
- EXPORT_TO_CLIPBOARD.exportToClipboard(DefaultView2d.this, Toolkit.getDefaultToolkit()
- .getSystemClipboard(), TransferHandler.COPY);
- }
- };
protected Point highlightedPosition = null;
private int pointerType = 0;
private final Color pointerColor1 = Color.black;
@@ -798,8 +789,9 @@
@Override
public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_C && e.isControlDown()) {
- EXPORT_TO_CLIPBOARD.exportToClipboard(DefaultView2d.this, Toolkit.getDefaultToolkit().getSystemClipboard(),
- TransferHandler.COPY);
+ final ImageTransferHandler imageTransferHandler = new ImageTransferHandler();
+ imageTransferHandler.exportToClipboard(DefaultView2d.this,
+ Toolkit.getDefaultToolkit().getSystemClipboard(), TransferHandler.COPY);
}
}
@@ -1255,8 +1247,29 @@
}
}
- public AbstractAction getExportToClipboardAction() {
- return exportToClipboardAction;
+ public List<Action> getExportToClipboardAction() {
+ List<Action> list = new ArrayList<Action>();
+ AbstractAction exportToClipboardAction = new AbstractAction(Messages.getString("DefaultView2d.clipboard")) { //$NON-NLS-1$
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ final ImageTransferHandler imageTransferHandler = new ImageTransferHandler();
+ imageTransferHandler.exportToClipboard(DefaultView2d.this, Toolkit.getDefaultToolkit()
+ .getSystemClipboard(), TransferHandler.COPY);
+ }
+ };
+ list.add(exportToClipboardAction);
+ exportToClipboardAction = new AbstractAction("Selected View to Clipboard (except demographics)") {
+
+ @Override
+ public void actionPerformed(ActionEvent e) {
+ final ViewTransferHandler imageTransferHandler = new ViewTransferHandler();
+ imageTransferHandler.exportToClipboard(DefaultView2d.this, Toolkit.getDefaultToolkit()
+ .getSystemClipboard(), TransferHandler.COPY);
+ }
+ };
+ list.add(exportToClipboardAction);
+ return list;
}
public abstract void enableMouseAndKeyListener(MouseActions mouseActions);
Added: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/ViewTransferHandler.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/ViewTransferHandler.java (rev 0)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/ViewTransferHandler.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -0,0 +1,92 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Nicolas Roduit.
+ * 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
+ *
+ * Contributors:
+ * Nicolas Roduit - initial API and implementation
+ ******************************************************************************/
+package org.weasis.core.ui.editor.image;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.Image;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+
+import javax.media.jai.PlanarImage;
+import javax.media.jai.TiledImage;
+import javax.swing.JComponent;
+import javax.swing.TransferHandler;
+
+import org.weasis.core.api.image.util.ImageFiler;
+import org.weasis.core.api.media.data.ImageElement;
+
+public class ViewTransferHandler extends TransferHandler implements Transferable {
+
+ private static final DataFlavor flavors[] = { DataFlavor.imageFlavor };
+ private Image image;
+
+ @Override
+ public int getSourceActions(JComponent c) {
+ return TransferHandler.COPY;
+ }
+
+ @Override
+ public boolean canImport(JComponent comp, DataFlavor flavor[]) {
+ return false;
+ }
+
+ @Override
+ public Transferable createTransferable(JComponent comp) {
+ // Clear
+ image = null;
+
+ if (comp instanceof DefaultView2d) {
+ DefaultView2d view2DPane = (DefaultView2d) comp;
+ PlanarImage imgP = ViewTransferHandler.createComponentImage(view2DPane);
+ if (imgP != null) {
+ image = imgP.getAsBufferedImage();
+ return this;
+ }
+
+ }
+ return null;
+ }
+
+ @Override
+ public boolean importData(JComponent comp, Transferable t) {
+ return false;
+ }
+
+ // Transferable
+ @Override
+ public Object getTransferData(DataFlavor flavor) {
+ if (isDataFlavorSupported(flavor))
+ return image;
+ return null;
+ }
+
+ @Override
+ public DataFlavor[] getTransferDataFlavors() {
+ return flavors;
+ }
+
+ @Override
+ public boolean isDataFlavorSupported(DataFlavor flavor) {
+ return flavor.equals(DataFlavor.imageFlavor);
+ }
+
+ public static PlanarImage createComponentImage(DefaultView2d<ImageElement> canvas) {
+ TiledImage image = ImageFiler.getEmptyTiledImage(Color.BLACK, canvas.getWidth(), canvas.getHeight());
+ Graphics2D g = image.createGraphics();
+ if (g != null) {
+ canvas.draw(g);
+ g.dispose();
+ }
+ return image;
+ }
+
+}
Property changes on: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/ViewTransferHandler.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/ViewerPlugin.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/ViewerPlugin.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/editor/image/ViewerPlugin.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -13,6 +13,7 @@
import java.awt.BorderLayout;
import java.awt.Component;
+import java.util.List;
import javax.swing.Action;
import javax.swing.Icon;
@@ -135,5 +136,5 @@
return null;
}
- public abstract Action[] getExportActions();
+ public abstract List<Action> getExportActions();
}
Modified: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/AbstractDragGraphic.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/AbstractDragGraphic.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/AbstractDragGraphic.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -518,6 +518,8 @@
} else if (source instanceof ImageElement) {
imageElement = (ImageElement) source;
+ // When Source is an ImageElement all the measurements are recomputed.
+ releasedEvent = true;
}
MeasureTool measureToolListener = null;
Modified: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/CobbAngleToolGraphic.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/CobbAngleToolGraphic.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/CobbAngleToolGraphic.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -124,6 +124,9 @@
}
if (ABvalid && CDvalid && O != null) {
+ // TODO Fix refresh issue. Very very very bad practice to pass the class Point2D instance to different shape
+ // that can be modified !!!
+ Point2D O = (Point2D) this.O.clone();
AdvancedShape aShape = (AdvancedShape) (newShape = new AdvancedShape(10));
aShape.addShape(path);
Modified: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/GraphicLabel.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/GraphicLabel.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/GraphicLabel.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -80,16 +80,19 @@
invTransform.translate(anchorPt.getX(), anchorPt.getY());
- if (scale != 1.0)
+ if (scale != 1.0) {
invTransform.scale(1 / scale, 1 / scale);
- if (angleRad != 0)
+ }
+ if (angleRad != 0) {
invTransform.rotate(-angleRad);
+ }
invTransform.translate(-anchorPt.getX(), -anchorPt.getY());
- if ((transform.getType() & AffineTransform.TYPE_FLIP) != 0)
+ if ((transform.getType() & AffineTransform.TYPE_FLIP) != 0) {
invTransform.translate(0, -labelBounds.getHeight());
- // invTransform.translate(-labelBounds.getWidth(), -labelBounds.getHeight());
+ // invTransform.translate(-labelBounds.getWidth(), -labelBounds.getHeight());
+ }
// invTransform.translate(offsetX, offsetY);
Area areaBounds = new Area(invTransform.createTransformedShape(labelBounds));
@@ -107,8 +110,9 @@
// Only translates origin because no rotation or scaling is applied
Point2D.Double anchorPoint = new Point2D.Double(labelBounds.getX() + offsetX, labelBounds.getY() + offsetY);
- if (transform != null)
+ if (transform != null) {
transform.transform(anchorPoint, anchorPoint);
+ }
return new Rectangle2D.Double(anchorPoint.getX(), anchorPoint.getY(), labelBounds.getWidth(),
labelBounds.getHeight());
@@ -167,8 +171,9 @@
Point2D pt = new Point2D.Double(labelBounds.getX() + offsetX, labelBounds.getY() + offsetY);
- if (transform != null)
+ if (transform != null) {
transform.transform(pt, pt);
+ }
float px = (float) pt.getX() + GROWING_BOUND;
float py = (float) pt.getY() + GROWING_BOUND;
@@ -198,8 +203,9 @@
// }
// Graphics DEBUG
- if (selected)
+ if (selected) {
paintBoundOutline(g2d, transform);
+ }
g2d.setPaint(oldPaint);
}
@@ -225,7 +231,6 @@
protected void paintFontOutline(Graphics2D g2d, String str, float x, float y) {
Paint oldPaint = g2d.getPaint();
-
TextLayout layout = new TextLayout(str, g2d.getFont(), g2d.getFontRenderContext());
g2d.setPaint(Color.BLACK);
Modified: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/model/AbstractLayer.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/model/AbstractLayer.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/graphic/model/AbstractLayer.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -90,7 +90,6 @@
public void addGraphic(Graphic graphic) {
if (graphics != null && !graphics.contains(graphic)) {
- // graphic.setSelected(false);
graphics.add(graphic);
graphic.setLayerID(drawType);
graphic.addPropertyChangeListener(pcl);
@@ -98,11 +97,9 @@
if (layers != null) {
for (AbstractLayer layer : layers) {
graphic.addPropertyChangeListener(layer.pcl);
- // layer.repaint(graphic.getRepaintBounds());
layer.repaint(graphic.getRepaintBounds(getAffineTransform()));
}
}
- // repaint(graphic.getRepaintBounds());
}
}
Modified: weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/messages.properties
===================================================================
--- weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/messages.properties 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-core/weasis-core-ui/src/main/java/org/weasis/core/ui/messages.properties 2011-07-24 17:41:22 UTC (rev 15703)
@@ -18,7 +18,7 @@
CalibrationView.series=Series
CalibrationView.warn=Warning: If the image has non-square pixels (where pixel spacing differs in the x and y direction), this tool cannot be used to peform an accurate calibration.
-DefaultView2d.clipboard=Selected View to Clipboard
+DefaultView2d.clipboard=Selected View to Clipboard (only real size image)
DefaultView2d.out=Outside image
DefaultView2d.pix=Pixel:\
FreeHandGraphic.title=Freehand
Modified: weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-codec/src/main/java/org/weasis/dicom/codec/DicomMediaIO.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-codec/src/main/java/org/weasis/dicom/codec/DicomMediaIO.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-codec/src/main/java/org/weasis/dicom/codec/DicomMediaIO.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -23,6 +23,7 @@
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.Map;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
@@ -64,7 +65,7 @@
/**
* Logger for this class
*/
- private static final Logger logger = LoggerFactory.getLogger(DicomMediaIO.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(DicomMediaIO.class);
public static final String MIMETYPE = "application/dicom"; //$NON-NLS-1$
public static final String IMAGE_MIMETYPE = "image/dicom"; //$NON-NLS-1$
@@ -212,13 +213,13 @@
}
}
- public static void setTag(HashMap<TagW, Object> tags, TagW tag, Object value) {
+ public static void setTag(Map<TagW, Object> tags, TagW tag, Object value) {
if (tag != null) {
tags.put(tag, value);
}
}
- public static void setTagNoNull(HashMap<TagW, Object> tags, TagW tag, Object value) {
+ public static void setTagNoNull(Map<TagW, Object> tags, TagW tag, Object value) {
if (tag != null && value != null) {
tags.put(tag, value);
}
@@ -708,7 +709,7 @@
int frame = (Integer) media.getKey();
if (frame >= 0 && frame < numberOfFrame && stored > 0) {
// read as tiled rendered image
- logger.debug("read dicom image frame: {} sopUID: {}", frame, dicomObject.getString(Tag.SOPInstanceUID)); //$NON-NLS-1$
+ LOGGER.debug("read dicom image frame: {} sopUID: {}", frame, dicomObject.getString(Tag.SOPInstanceUID)); //$NON-NLS-1$
RenderedImage buffer = null;
if ("1.2.840.10008.1.2.4.94".equals(tsuid)) {
if (jpipReader == null) {
Modified: weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-viewer2d/src/main/java/org/weasis/dicom/viewer2d/View2d.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-viewer2d/src/main/java/org/weasis/dicom/viewer2d/View2d.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-viewer2d/src/main/java/org/weasis/dicom/viewer2d/View2d.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -821,11 +821,10 @@
JOptionPane
.showConfirmDialog(View2d.this,
"At least one graphic is outside the image.\n Do you want to continue?"); //$NON-NLS-1$
- if (option != JOptionPane.YES_OPTION)
+ if (option == JOptionPane.YES_OPTION) {
+ break;
+ } else
return;
- else {
- break;
- }
}
}
for (Graphic g : graphs) {
@@ -838,6 +837,8 @@
}
}
}
+ // Repaint all because labels are not drawn
+ View2d.this.getLayerModel().repaint();
}
}
});
Modified: weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-viewer2d/src/main/java/org/weasis/dicom/viewer2d/View2dContainer.java
===================================================================
--- weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-viewer2d/src/main/java/org/weasis/dicom/viewer2d/View2dContainer.java 2011-07-23 21:02:43 UTC (rev 15702)
+++ weasis/weasis_framework/trunk/weasis-dicom/weasis-dicom-viewer2d/src/main/java/org/weasis/dicom/viewer2d/View2dContainer.java 2011-07-24 17:41:22 UTC (rev 15703)
@@ -21,6 +21,7 @@
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.LinkedHashMap;
+import java.util.List;
import javax.swing.AbstractAction;
import javax.swing.Action;
@@ -486,11 +487,9 @@
}
@Override
- public Action[] getExportActions() {
- Action[] actions = null;
- if (selectedImagePane != null) {
- actions = new Action[] { selectedImagePane.getExportToClipboardAction() };
- }
+ public List<Action> getExportActions() {
+ List<Action> actions = selectedImagePane == null ? null : selectedImagePane.getExportToClipboardAction();
+
if (AbstractProperties.OPERATING_SYSTEM.startsWith("mac")) { //$NON-NLS-1$
AbstractAction importAll =
new AbstractAction(
@@ -544,8 +543,10 @@
}
}
};
-
- actions = new Action[] { selectedImagePane.getExportToClipboardAction(), importAll };
+ if (actions == null) {
+ actions = new ArrayList<Action>(1);
+ }
+ actions.add(importAll);
}
return actions;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|