Revision 1082 org.gvsig.hyperlink.app/trunk/org.gvsig.hyperlink.app/org.gvsig.hyperlink.app.extension/src/main/java/org/gvsig/hyperlink/app/extension/actions/ImgFormat.java
ImgFormat.java | ||
---|---|---|
24 | 24 |
|
25 | 25 |
package org.gvsig.hyperlink.app.extension.actions; |
26 | 26 |
|
27 |
import java.awt.Image; |
|
28 |
import java.awt.image.BufferedImage; |
|
27 | 29 |
import java.io.Serializable; |
28 |
import java.net.URI; |
|
29 |
|
|
30 |
import org.gvsig.andami.PluginServices; |
|
31 | 30 |
import org.gvsig.hyperlink.app.extension.AbstractActionManager; |
32 |
import org.gvsig.hyperlink.app.extension.AbstractHyperLinkPanel; |
|
33 | 31 |
import org.gvsig.hyperlink.app.extension.LinkTarget; |
32 |
import org.gvsig.imageviewer.ImageViewer; |
|
33 |
import org.gvsig.tools.swing.api.SimpleImage; |
|
34 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
|
35 |
import org.gvsig.tools.swing.api.ToolsSwingUtils; |
|
36 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager; |
|
37 |
import org.gvsig.tools.util.ToolsUtilLocator; |
|
34 | 38 |
|
35 | 39 |
public class ImgFormat extends AbstractActionManager implements Serializable { |
36 | 40 |
|
37 |
/** |
|
38 |
* |
|
39 |
*/ |
|
40 |
private static final long serialVersionUID = -7625497033974714867L; |
|
41 |
public static final String actionCode = "Image_format"; |
|
41 |
public static final String ACTION_CODE = "Image_format"; |
|
42 | 42 |
|
43 |
@Override |
|
44 |
public AbstractHyperLinkPanel createPanel(LinkTarget doc) throws UnsupportedOperationException { |
|
45 |
return new ImgPanel(doc); |
|
43 |
public ImgFormat() { |
|
44 |
super(ACTION_CODE,"Image_format","Shows_image_files_in_gvSIG"); |
|
46 | 45 |
} |
47 | 46 |
|
48 | 47 |
@Override |
49 |
public String getActionCode() { |
|
50 |
return actionCode; |
|
48 |
public void showDocument(LinkTarget document) { |
|
49 |
String title = "Image"; |
|
50 |
ImageViewer viewer = ToolsUtilLocator.getImageViewerManager().createImageViewer(); |
|
51 |
if (document.getURL() != null) { |
|
52 |
title = document.getURL().toString(); |
|
53 |
viewer.setImage(document.getURL()); |
|
54 |
} else if (document.getFromProfile() != null) { |
|
55 |
try { |
|
56 |
Object profileContent = document.getFromProfile(); |
|
57 |
BufferedImage bufferedImage = null; |
|
58 |
if (profileContent instanceof SimpleImage) { |
|
59 |
bufferedImage = ((SimpleImage) profileContent).getBufferedImage(); |
|
60 |
viewer.setImage(bufferedImage); |
|
61 |
} else { |
|
62 |
try { |
|
63 |
viewer.setImage((Image) profileContent); |
|
64 |
} catch (Exception ex) { |
|
65 |
LOGGER.warn("Not able to convert content from field into image"); |
|
66 |
} |
|
67 |
} |
|
68 |
} catch (Exception ex) { |
|
69 |
LOGGER.warn("Not able to get buffered image from document"); |
|
70 |
} |
|
71 |
} |
|
72 |
ToolsSwingUtils.ensureRowsCols(viewer.asJComponent(), 20, 100, 40, 150); |
|
73 |
WindowManager windowManager = ToolsSwingLocator.getWindowManager(); |
|
74 |
windowManager.showWindow( |
|
75 |
viewer.asJComponent(), |
|
76 |
"Hyperlink"+": "+title, |
|
77 |
WindowManager.MODE.WINDOW |
|
78 |
); |
|
51 | 79 |
} |
52 | 80 |
|
53 |
@Override |
|
54 |
public boolean hasPanel() { |
|
55 |
return true; |
|
56 |
} |
|
57 | 81 |
|
58 |
@Override |
|
59 |
public void showDocument(LinkTarget doc) { |
|
60 |
throw new UnsupportedOperationException(); |
|
61 |
} |
|
62 |
|
|
63 |
@Override |
|
64 |
public String getDescription() { |
|
65 |
return PluginServices.getText(this, "Shows_image_files_in_gvSIG"); |
|
66 |
} |
|
67 |
|
|
68 |
@Override |
|
69 |
public String getName() { |
|
70 |
return PluginServices.getText(this, "Image_format"); |
|
71 |
} |
|
72 | 82 |
} |
Also available in: Unified diff