Search in sources :

Example 6 with AbstractAction

use of javax.swing.AbstractAction in project gephi by gephi.

the class ImportDB method getMenuPresenter.

@Override
public JMenuItem getMenuPresenter() {
    JMenu menu = new JMenu(NbBundle.getMessage(ImportDB.class, "CTL_ImportDB"));
    final ImportControllerUI importController = Lookup.getDefault().lookup(ImportControllerUI.class);
    if (importController != null) {
        for (final DatabaseImporterBuilder dbb : Lookup.getDefault().lookupAll(DatabaseImporterBuilder.class)) {
            ImporterUI ui = importController.getImportController().getUI(dbb.buildImporter());
            String menuName = dbb.getName();
            if (ui != null) {
                menuName = ui.getDisplayName();
            }
            JMenuItem menuItem = new JMenuItem(new AbstractAction(menuName) {

                @Override
                public void actionPerformed(ActionEvent e) {
                    importController.importDatabase(dbb.buildImporter());
                }
            });
            menu.add(menuItem);
        }
    }
    return menu;
}
Also used : ImporterUI(org.gephi.io.importer.spi.ImporterUI) ImportControllerUI(org.gephi.desktop.importer.api.ImportControllerUI) ActionEvent(java.awt.event.ActionEvent) JMenuItem(javax.swing.JMenuItem) AbstractAction(javax.swing.AbstractAction) JMenu(javax.swing.JMenu) DatabaseImporterBuilder(org.gephi.io.importer.spi.DatabaseImporterBuilder)

Example 7 with AbstractAction

use of javax.swing.AbstractAction in project gephi by gephi.

the class Export method getMenuPresenter.

@Override
public JMenuItem getMenuPresenter() {
    for (final ExporterClassUI ui : Lookup.getDefault().lookupAll(ExporterClassUI.class)) {
        String menuName = ui.getName();
        JMenuItem menuItem = new JMenuItem(new AbstractAction(menuName) {

            @Override
            public void actionPerformed(ActionEvent e) {
                ui.action();
            }
        });
        menu.add(menuItem);
        menuItem.setEnabled(ui.isEnable());
    }
    return menu;
}
Also used : ActionEvent(java.awt.event.ActionEvent) ExporterClassUI(org.gephi.desktop.io.export.spi.ExporterClassUI) JMenuItem(javax.swing.JMenuItem) AbstractAction(javax.swing.AbstractAction)

Example 8 with AbstractAction

use of javax.swing.AbstractAction in project gephi by gephi.

the class WelcomeTopComponent method initAction.

private void initAction() {
    openAction = new AbstractAction("", ImageUtilities.loadImageIcon("org/gephi/desktop/welcome/resources/gephifile20.png", false)) {

        @Override
        public void actionPerformed(ActionEvent e) {
            JXHyperlink link = (JXHyperlink) e.getSource();
            File file = (File) link.getClientProperty(LINK_PATH);
            FileObject fileObject = FileUtil.toFileObject(file);
            if (fileObject.hasExt(GEPHI_EXTENSION)) {
                ProjectControllerUI pc = Lookup.getDefault().lookup(ProjectControllerUI.class);
                try {
                    pc.openProject(file);
                } catch (Exception ex) {
                    ex.printStackTrace();
                    NotifyDescriptor.Message msg = new NotifyDescriptor.Message(NbBundle.getMessage(WelcomeTopComponent.class, "WelcomeTopComponent.openGephiError"), NotifyDescriptor.WARNING_MESSAGE);
                    DialogDisplayer.getDefault().notify(msg);
                }
            } else {
                ImportControllerUI importController = Lookup.getDefault().lookup(ImportControllerUI.class);
                if (importController.getImportController().isFileSupported(FileUtil.toFile(fileObject))) {
                    importController.importFile(fileObject);
                }
            }
            closeDialog();
        }
    };
    newProjectLink.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            ProjectControllerUI pc = Lookup.getDefault().lookup(ProjectControllerUI.class);
            pc.newProject();
            closeDialog();
        }
    });
    openFileLink.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            ProjectControllerUI pc = Lookup.getDefault().lookup(ProjectControllerUI.class);
            pc.openFile();
            closeDialog();
        }
    });
}
Also used : ActionEvent(java.awt.event.ActionEvent) JXHyperlink(org.jdesktop.swingx.JXHyperlink) NotifyDescriptor(org.openide.NotifyDescriptor) ActionListener(java.awt.event.ActionListener) ImportControllerUI(org.gephi.desktop.importer.api.ImportControllerUI) FileObject(org.openide.filesystems.FileObject) AbstractAction(javax.swing.AbstractAction) File(java.io.File) ProjectControllerUI(org.gephi.desktop.project.api.ProjectControllerUI)

Example 9 with AbstractAction

use of javax.swing.AbstractAction in project gephi by gephi.

the class WelcomeTopComponent method loadSamples.

private void loadSamples() {
    net.miginfocom.swing.MigLayout migLayout1 = new net.miginfocom.swing.MigLayout();
    migLayout1.setColumnConstraints("[pref]");
    samplesPanel.setLayout(migLayout1);
    String[] samplePath = new String[3];
    samplePath[0] = "/org/gephi/desktop/welcome/samples/Les Miserables.gexf";
    samplePath[1] = "/org/gephi/desktop/welcome/samples/Java.gexf";
    samplePath[2] = "/org/gephi/desktop/welcome/samples/Power Grid.gml";
    String[] sampleTooltip = new String[3];
    sampleTooltip[0] = "Coappearance Network of Characters in 'Les Miserables' (D. E. Knuth)";
    sampleTooltip[1] = "Java Programming Language Dependency graph (V. Batagelj)";
    sampleTooltip[2] = "Topology of the Western States Power Grid of the US (D. Watts & S. Strogatz)";
    try {
        for (int i = 0; i < samplePath.length; i++) {
            final String s = samplePath[i];
            String tooltip = sampleTooltip[i];
            String fileName = s.substring(s.lastIndexOf('/') + 1, s.length());
            final String importer = fileName.substring(fileName.lastIndexOf('.'), fileName.length());
            JXHyperlink fileLink = new JXHyperlink(new AbstractAction() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    final InputStream stream = WelcomeTopComponent.class.getResourceAsStream(s);
                    ImportControllerUI importController = Lookup.getDefault().lookup(ImportControllerUI.class);
                    importController.importStream(stream, importer);
                    closeDialog();
                }
            });
            fileLink.setText(fileName);
            fileLink.setToolTipText(tooltip);
            fileLink.putClientProperty(LINK_PATH, importer);
            samplesPanel.add(fileLink, "wrap");
        }
    } catch (Exception ex) {
        Exceptions.printStackTrace(ex);
    }
}
Also used : ActionEvent(java.awt.event.ActionEvent) InputStream(java.io.InputStream) JXHyperlink(org.jdesktop.swingx.JXHyperlink) ImportControllerUI(org.gephi.desktop.importer.api.ImportControllerUI) AbstractAction(javax.swing.AbstractAction)

Example 10 with AbstractAction

use of javax.swing.AbstractAction in project gephi by gephi.

the class RecentFiles method getMenuPresenter.

@Override
public JMenuItem getMenuPresenter() {
    JMenu menu = new JMenu(NbBundle.getMessage(RecentFiles.class, "CTL_OpenRecentFiles"));
    MostRecentFiles mru = Lookup.getDefault().lookup(MostRecentFiles.class);
    for (String filePath : mru.getMRUFileList()) {
        final File file = new File(filePath);
        if (file.exists()) {
            final String fileName = file.getName();
            JMenuItem menuItem = new JMenuItem(new AbstractAction(fileName) {

                @Override
                public void actionPerformed(ActionEvent e) {
                    FileObject fileObject = FileUtil.toFileObject(file);
                    if (fileObject.hasExt(GEPHI_EXTENSION)) {
                        ProjectControllerUI pc = Lookup.getDefault().lookup(ProjectControllerUI.class);
                        try {
                            pc.openProject(file);
                        } catch (Exception ex) {
                            Exceptions.printStackTrace(ex);
                        }
                    } else {
                        ImportControllerUI importController = Lookup.getDefault().lookup(ImportControllerUI.class);
                        if (importController.getImportController().isFileSupported(file)) {
                            importController.importFile(fileObject);
                        }
                    }
                }
            });
            menu.add(menuItem);
        }
    }
    return menu;
}
Also used : MostRecentFiles(org.gephi.desktop.mrufiles.api.MostRecentFiles) ActionEvent(java.awt.event.ActionEvent) MostRecentFiles(org.gephi.desktop.mrufiles.api.MostRecentFiles) ImportControllerUI(org.gephi.desktop.importer.api.ImportControllerUI) FileObject(org.openide.filesystems.FileObject) JMenuItem(javax.swing.JMenuItem) File(java.io.File) AbstractAction(javax.swing.AbstractAction) JMenu(javax.swing.JMenu) ProjectControllerUI(org.gephi.desktop.project.api.ProjectControllerUI)

Aggregations

AbstractAction (javax.swing.AbstractAction)155 ActionEvent (java.awt.event.ActionEvent)143 Action (javax.swing.Action)35 JButton (javax.swing.JButton)33 JPanel (javax.swing.JPanel)30 InputMap (javax.swing.InputMap)29 JMenu (javax.swing.JMenu)29 JMenuItem (javax.swing.JMenuItem)23 ActionListener (java.awt.event.ActionListener)21 ActionMap (javax.swing.ActionMap)20 JScrollPane (javax.swing.JScrollPane)16 ButtonBarBuilder (com.jgoodies.forms.builder.ButtonBarBuilder)14 BorderLayout (java.awt.BorderLayout)14 JPopupMenu (javax.swing.JPopupMenu)14 BoxLayout (javax.swing.BoxLayout)12 JSeparator (javax.swing.JSeparator)12 JDialog (javax.swing.JDialog)11 JMenuBar (javax.swing.JMenuBar)9 Dimension (java.awt.Dimension)8 WindowEvent (java.awt.event.WindowEvent)8