/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package org.nbstudio.core; import java.awt.HeadlessException; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.net.MalformedURLException; import javax.swing.JFileChooser; import org.nbstudio.cachefilechooser.CacheFileChooser; import org.nbstudio.cachefilechooser.CacheFileNameExtensionFilter; import org.openide.awt.ActionID; import org.openide.awt.ActionRegistration; import org.openide.cookies.OpenCookie; import org.openide.filesystems.FileObject; import org.openide.filesystems.URLMapper; import org.openide.loaders.DataObject; import org.openide.loaders.DataObjectNotFoundException; /** * * @author daimor */ @ActionID(category = "System", id = "org.netbeans.modules.openfile.OpenFileAction") @ActionRegistration(displayName = "org.nbstudio.Bundle#CTL_OpenFileAction") //@ActionReference(path = "Menu/File", position = 800) public class OpenFileAction implements ActionListener { @Override public void actionPerformed(ActionEvent e) { try { CacheFileChooser fileChooser = new CacheFileChooser() { @Override public void updateUI() { addChoosableFileFilter(new CacheFileNameExtensionFilter("Macro Routine", new String[]{"mac"})); addChoosableFileFilter(new CacheFileNameExtensionFilter("Intermediate Routine", new String[]{"int", "mvi"})); addChoosableFileFilter(new CacheFileNameExtensionFilter("Include File", new String[]{"inc"})); addChoosableFileFilter(new CacheFileNameExtensionFilter("Basic File", new String[]{"bas"})); addChoosableFileFilter(new CacheFileNameExtensionFilter("Class definition", new String[]{"cls"})); addChoosableFileFilter(new CacheFileNameExtensionFilter("Cache Server Pages", new String[]{"csp"})); addChoosableFileFilter(new CacheFileNameExtensionFilter("Other Files", new String[]{"xml", "js", "css", "xsl", "xsd"})); super.updateUI(); } }; int answer = fileChooser.showOpenDialog(null); if (answer == JFileChooser.APPROVE_OPTION) { File[] files = fileChooser.getSelectedFiles(); for (File file : files) { FileObject fileObject = URLMapper.findFileObject(file.toURI().toURL()); DataObject.find(fileObject). getLookup().lookup(OpenCookie.class).open(); } } } catch (HeadlessException | MalformedURLException | DataObjectNotFoundException ex) { ex.printStackTrace(); } } }