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