View Javadoc
1 // $Id: ExportMenu.java,v 1.1 2004/02/12 22:38:15 powerpete Exp $ 2 // [JMP, 12.02.2004] Created this file. 3 package org.jface.stepmt.demoapp.menus; 4 5 import java.awt.FileDialog; 6 import java.awt.Frame; 7 import java.awt.event.ActionEvent; 8 import java.util.Collection; 9 import java.util.Comparator; 10 import java.util.Iterator; 11 import java.util.Set; 12 import java.util.TreeSet; 13 14 import javax.swing.JMenu; 15 import javax.swing.JMenuItem; 16 17 import org.apache.commons.logging.LogFactory; 18 import org.jface.stepmt.demoapp.export.ExportCenter; 19 import org.jface.stepmt.demoapp.templates.TemplateManager; 20 import org.jface.stepmt.transform.SerializerPipeline; 21 import org.jface.stepmt.transform.config.PipelineTemplate; 22 import org.jface.vega.menu.MenuItem; 23 24 /*** 25 * @author <a href="mailto:powerpete@users.sf.net">M. Petersen</a> 26 * @version $Id: ExportMenu.java,v 1.1 2004/02/12 22:38:15 powerpete Exp $ 27 */ 28 public class ExportMenu extends JMenu 29 { 30 private final TemplateManager manager = TemplateManager.getInstance(); 31 32 public ExportMenu() 33 { 34 manager.setExportMenu(this); 35 } 36 37 public void setTemplate(final PipelineTemplate template) 38 { 39 removeAll(); 40 JMenuItem nameItem = new JMenuItem(template.getName()); 41 nameItem.setEnabled(false); 42 add(nameItem); 43 addSeparator(); 44 for (Iterator it = sortedPipelines(template).iterator(); it.hasNext();) 45 { 46 final SerializerPipeline pipeline = (SerializerPipeline) it.next(); 47 MenuItem menuItem = new MenuItem() 48 { 49 public void actionPerformed(ActionEvent arg0) 50 { 51 FileDialog fd = new FileDialog(new Frame()); 52 fd.setMode(FileDialog.SAVE); 53 fd.show(); 54 String filename = fd.getFile(); 55 if (filename != null) 56 { 57 String text = manager.getText(); 58 try 59 { 60 new ExportCenter().export( 61 pipeline, 62 template.getRegion(), 63 text, 64 fd.getDirectory() + filename); 65 } 66 catch (Exception e) 67 { 68 LogFactory.getLog(ExportMenu.class).fatal( 69 "Error while exporting.", 70 e); 71 } 72 } 73 } 74 }; 75 menuItem.setText(pipeline.getName()); 76 add(menuItem); 77 } 78 } 79 80 private Collection sortedPipelines(final PipelineTemplate template) 81 { 82 Set set = new TreeSet(new Comparator() 83 { 84 public int compare(Object o1, Object o2) 85 { 86 return ((SerializerPipeline) o1).getName().compareTo( 87 ((SerializerPipeline) o2).getName()); 88 } 89 }); 90 set.addAll(template.getSerializerPipelines()); 91 return set; 92 } 93 }

This page was automatically generated by Maven