This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

View | Details | Raw Unified | Return to bug 167744
Collapse All | Expand All

(-)maven.graph/src/org/netbeans/modules/maven/graph/DependencyGraphScene.java (-1 / +25 lines)
Lines 45-50 Link Here
45
import java.awt.Point;
45
import java.awt.Point;
46
import java.awt.Rectangle;
46
import java.awt.Rectangle;
47
import java.awt.event.ActionEvent;
47
import java.awt.event.ActionEvent;
48
import java.io.File;
48
import java.io.IOException;
49
import java.io.IOException;
49
import java.util.ArrayList;
50
import java.util.ArrayList;
50
import java.util.Collection;
51
import java.util.Collection;
Lines 56-61 Link Here
56
import javax.swing.JPopupMenu;
57
import javax.swing.JPopupMenu;
57
import javax.swing.JScrollPane;
58
import javax.swing.JScrollPane;
58
import javax.swing.JSeparator;
59
import javax.swing.JSeparator;
60
import javax.swing.filechooser.FileNameExtensionFilter;
59
import org.apache.maven.artifact.Artifact;
61
import org.apache.maven.artifact.Artifact;
60
import org.apache.maven.artifact.versioning.ArtifactVersion;
62
import org.apache.maven.artifact.versioning.ArtifactVersion;
61
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
63
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
Lines 71-76 Link Here
71
import org.netbeans.api.visual.action.TwoStateHoverProvider;
73
import org.netbeans.api.visual.action.TwoStateHoverProvider;
72
import org.netbeans.api.visual.action.WidgetAction;
74
import org.netbeans.api.visual.action.WidgetAction;
73
import org.netbeans.api.visual.anchor.AnchorFactory;
75
import org.netbeans.api.visual.anchor.AnchorFactory;
76
import org.netbeans.api.visual.export.SceneExporter;
74
import org.netbeans.api.visual.graph.GraphScene;
77
import org.netbeans.api.visual.graph.GraphScene;
75
import org.netbeans.api.visual.layout.SceneLayout;
78
import org.netbeans.api.visual.layout.SceneLayout;
76
import org.netbeans.api.visual.model.ObjectState;
79
import org.netbeans.api.visual.model.ObjectState;
Lines 89-94 Link Here
89
import org.openide.DialogDescriptor;
92
import org.openide.DialogDescriptor;
90
import org.openide.DialogDisplayer;
93
import org.openide.DialogDisplayer;
91
import org.openide.awt.StatusDisplayer;
94
import org.openide.awt.StatusDisplayer;
95
import org.openide.filesystems.FileChooserBuilder;
92
import org.openide.util.Exceptions;
96
import org.openide.util.Exceptions;
93
import org.openide.util.NbBundle;
97
import org.openide.util.NbBundle;
94
import org.openide.util.NbBundle.Messages;
98
import org.openide.util.NbBundle.Messages;
Lines 332-342 Link Here
332
            }
336
            }
333
        }*/
337
        }*/
334
338
335
        @Messages("ACT_Show_Graph=Show Dependency Graph")
339
        @Messages({
340
            "ACT_Show_Graph=Show Dependency Graph", 
341
            "ACT_Export_As_Image=Export As Image",
342
            "ACT_Export_As_Image_Title=Export Dependency Graph As PNG"
343
        })
336
        @Override public JPopupMenu getPopupMenu(Widget widget, Point localLocation) {
344
        @Override public JPopupMenu getPopupMenu(Widget widget, Point localLocation) {
337
            JPopupMenu popupMenu = new JPopupMenu();
345
            JPopupMenu popupMenu = new JPopupMenu();
338
            if (widget == DependencyGraphScene.this) {
346
            if (widget == DependencyGraphScene.this) {
339
                popupMenu.add(sceneZoomToFitAction);
347
                popupMenu.add(sceneZoomToFitAction);
348
                
349
                popupMenu.add(new AbstractAction(Bundle.ACT_Export_As_Image()) {
350
                    @Override
351
                    public void actionPerformed(ActionEvent e) {
352
                        File file = new FileChooserBuilder("DependencyGraphScene-ExportDir").setTitle(Bundle.ACT_Export_As_Image_Title())
353
                                .setAcceptAllFileFilterUsed(false).addFileFilter(new FileNameExtensionFilter("PNG file", "png")).showSaveDialog();
354
                        if (file != null) {
355
                            try {
356
                                DependencyGraphScene theScene = DependencyGraphScene.this;
357
                                SceneExporter.createImage(theScene, file, SceneExporter.ImageType.PNG, SceneExporter.ZoomType.CURRENT_ZOOM_LEVEL, false, false, -1, -1, -1);
358
                            } catch (IOException ex) {
359
                                Exceptions.printStackTrace(ex);
360
                            }
361
                        }
362
                    }
363
                });
340
            } else {
364
            } else {
341
                ArtifactGraphNode node = (ArtifactGraphNode)findObject(widget);
365
                ArtifactGraphNode node = (ArtifactGraphNode)findObject(widget);
342
                if (isEditable()) {
366
                if (isEditable()) {

Return to bug 167744