01: package net.sourceforge.squirrel_sql.plugins.editextras;
02:
03: import net.sourceforge.squirrel_sql.client.IApplication;
04: import net.sourceforge.squirrel_sql.client.action.SquirrelAction;
05: import net.sourceforge.squirrel_sql.client.session.ISession;
06: import net.sourceforge.squirrel_sql.client.session.ISQLPanelAPI;
07: import net.sourceforge.squirrel_sql.client.session.action.ISessionAction;
08: import net.sourceforge.squirrel_sql.client.session.action.ISQLPanelAction;
09:
10: import java.awt.event.ActionEvent;
11: import java.awt.*;
12: import java.awt.datatransfer.StringSelection;
13:
14: public class CopySqlAction extends SquirrelAction implements
15: ISQLPanelAction {
16: private ISQLPanelAPI _panel;
17:
18: public CopySqlAction(IApplication app,
19: net.sourceforge.squirrel_sql.fw.util.Resources rsrc) {
20: super (app, rsrc);
21: }
22:
23: public void actionPerformed(ActionEvent e) {
24: int[] bounds = _panel.getSQLEntryPanel()
25: .getBoundsOfSQLToBeExecuted();
26:
27: if (bounds[0] == bounds[1]) {
28: return;
29: }
30:
31: String sqlToBeExecuted = _panel.getSQLEntryPanel()
32: .getSQLToBeExecuted();
33:
34: StringSelection contents = new StringSelection(sqlToBeExecuted);
35: Toolkit.getDefaultToolkit().getSystemClipboard().setContents(
36: contents, contents);
37: }
38:
39: public void setSQLPanel(ISQLPanelAPI panel) {
40: _panel = panel;
41: setEnabled(null != _panel);
42: }
43:
44: }
|