1 22 23 package macos.menu; 24 25 import java.awt.event.*; 27 import java.io.File ; 28 import javax.swing.*; 29 import javax.swing.event.*; 30 import org.gjt.sp.jedit.*; 31 import org.gjt.sp.jedit.browser.*; 32 import macos.*; 33 35 public class ShowBufferMenu extends JMenu implements MenuListener 36 { 37 public ShowBufferMenu() 39 { 40 super(jEdit.getProperty("MacOSPlugin.menu.buffers.label")); 41 addMenuListener(this); 42 } 44 private void construct() 46 { 47 JMenuItem item; 48 removeAll(); 49 50 Buffer[] buffs = jEdit.getBuffers(); 51 for (int i=0; i < buffs.length; i++) 52 { 53 if (!buffs[i].isUntitled()) 54 { 55 item = add(new ShowBufferMenuItem( 56 buffs[i].getName(),buffs[i].getPath())); 57 item.setIcon(FileCellRenderer.fileIcon); 58 add(item); 59 } 60 } 61 62 if (getItemCount() == 0) 63 { 64 item = new JMenuItem(jEdit.getProperty("MacOSPlugin.menu.buffers.none")); 65 item.setEnabled(false); 66 add(item); 67 } 68 } 70 public void menuSelected(MenuEvent e) 72 { 73 construct(); 74 } 76 public void menuDeselected(MenuEvent e) 78 { 79 } 81 public void menuCanceled(MenuEvent e) 83 { 84 } 86 class ShowBufferMenuItem extends JMenuItem 88 { 89 String path; 90 91 public ShowBufferMenuItem(String name, String path) 92 { 93 super(name); 94 this.path = path; 95 addActionListener(new ShowFileAction()); 96 } 97 98 class ShowFileAction implements ActionListener 99 { 100 public void actionPerformed(ActionEvent e) 101 { 102 MacOSActions.showInFinder(path); 103 } 104 } 105 } } 107 | Popular Tags |