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

View differences:

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