1 3 27 28 30 package de.qfs.apps.qflog.command; 31 32 34 import java.awt.Component ; 35 import java.awt.Frame ; 36 37 import java.io.File ; 38 import java.io.FileOutputStream ; 39 import java.io.IOException ; 40 import java.io.ObjectOutputStream ; 41 42 import javax.swing.JTable ; 43 44 import de.qfs.lib.command.CancelCommandException; 45 import de.qfs.lib.command.Command; 46 import de.qfs.lib.command.CommandException; 47 import de.qfs.lib.command.MessageCommandException; 48 import de.qfs.lib.command.Invokable; 49 import de.qfs.lib.gui.FilteredAndSortedTableModel; 50 import de.qfs.lib.log.Log; 51 import de.qfs.lib.log.Logger; 52 53 import de.qfs.apps.qflog.App; 54 import de.qfs.apps.qflog.FileChooser; 55 import de.qfs.apps.qflog.LogListenerImpl; 56 import de.qfs.apps.qflog.Model; 57 58 import de.qfs.apps.qflog.logview.LogView; 59 import de.qfs.apps.qflog.logview.command.CommandSaveLog; 60 61 63 70 public class CommandFileSaveAs extends Command 71 implements Invokable 72 { 73 75 78 private final static Logger logger = new Logger (CommandFileSaveAs.class); 79 80 83 private Frame parent; 84 85 88 private JTable table; 89 90 92 94 101 public CommandFileSaveAs (Object source, Frame parent, JTable table) 102 { 103 super (source); 104 this.parent = parent; 105 this.table = table; 106 } 107 108 110 112 119 public Object invoke() 120 throws CommandException 121 { 122 if (logger.level >= Log.MTD) { 123 logger.log(Log.MTD, "invoke()", ""); 124 } 125 126 int row = table.getSelectedRow(); 127 if (row == -1) { 128 return null; 129 } 130 row = ((FilteredAndSortedTableModel) table.getModel()) 131 .getMappedRow(row); 132 133 LogView view = Model.instance().getViewForRow(row); 134 135 App.getCommandDistributor().assignCommandSilently 136 (new CommandSaveLog (this, parent, view, null, true, true)); 137 return null; 138 } 139 140 } 142 | Popular Tags |