1 // $Id: Save.java,v 1.1 2004/02/12 22:38:15 powerpete Exp $
2 // [JMP, 09.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
9 import org.apache.commons.lang.StringUtils;
10 import org.apache.commons.logging.Log;
11 import org.apache.commons.logging.LogFactory;
12 import org.jface.stepmt.demoapp.files.FileOutput;
13 import org.jface.stepmt.demoapp.templates.TemplateManager;
14 import org.jface.vega.menu.MenuItem;
15
16 /***
17 * @author <a href="mailto:powerpete@users.sf.net">M. Petersen</a>
18 * @version $Id: Save.java,v 1.1 2004/02/12 22:38:15 powerpete Exp $
19 */
20 public class Save extends MenuItem
21 {
22 private static final Log LOG = LogFactory.getLog(Save.class);
23 private final TemplateManager manager = TemplateManager.getInstance();
24
25 public void actionPerformed(ActionEvent e)
26 {
27 String filename = TemplateManager.getInstance().getFilename();
28 if (needsFilename(filename))
29 {
30 filename = letUserDefineFilename();
31 }
32 if (StringUtils.isEmpty(filename))
33 {
34 return;
35 }
36 saveEditorText(filename);
37 }
38
39 private String letUserDefineFilename()
40 {
41 FileDialog fd = new FileDialog(new Frame());
42 fd.setMode(FileDialog.SAVE);
43 fd.show();
44 String filename = fd.getFile();
45 if (filename != null)
46 {
47 return fd.getDirectory() + filename;
48 }
49 return null;
50 }
51
52 protected boolean needsFilename(String filename)
53 {
54 return StringUtils.isEmpty(filename);
55 }
56
57 private void saveEditorText(String filename)
58 {
59 if (!StringUtils.isEmpty(filename))
60 {
61 if (new FileOutput().write(filename, manager.getText()))
62 {
63 manager.setFilename(filename);
64 }
65 }
66 }
67 }
This page was automatically generated by Maven