[Squirrel-sql-commits] sql12/app/src/net/sourceforge/squirrel_sql/client/gui/session ToolsPopupContr
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Gerd W. <ger...@us...> - 2005-07-24 20:54:54
|
Update of /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/gui/session In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15819/app/src/net/sourceforge/squirrel_sql/client/gui/session Modified Files: MainPanel.java ObjectTreeInternalFrame.java SQLInternalFrame.java SessionPanel.java Added Files: ToolsPopupController.java Removed Files: ToolsPopupAction.java Log Message: Massive refactoring and clean up of Action handling --- NEW FILE: ToolsPopupController.java --- package net.sourceforge.squirrel_sql.client.gui.session; import net.sourceforge.squirrel_sql.client.IApplication; import net.sourceforge.squirrel_sql.client.action.ActionCollection; import net.sourceforge.squirrel_sql.client.action.SquirrelAction; import net.sourceforge.squirrel_sql.client.session.action.CloseAllSQLResultTabsButCurrentAction; import net.sourceforge.squirrel_sql.client.session.ISQLEntryPanel; import net.sourceforge.squirrel_sql.client.session.ISession; import net.sourceforge.squirrel_sql.client.session.action.*; import net.sourceforge.squirrel_sql.client.session.mainpanel.SQLPanel; import net.sourceforge.squirrel_sql.fw.completion.CompletionInfo; import net.sourceforge.squirrel_sql.fw.completion.Completor; import net.sourceforge.squirrel_sql.fw.completion.CompletorListener; import javax.swing.*; import javax.swing.text.JTextComponent; import java.awt.*; import java.awt.event.ActionEvent; import java.util.prefs.Preferences; public class ToolsPopupController { private ToolsPopupCompletorModel _toolsPopupCompletorModel; private ISQLEntryPanel _sqlEntryPanel; private ISession _session; private Completor _toolsCompletor; private static final String PREFS_KEY_CTRL_T_COUNT = "squirrelSql_toolsPopup_ctrl_t_count"; private int _ctrlTCount; public ToolsPopupController(IApplication app, SQLPanel sqlPanel, ISession session) { _sqlEntryPanel = sqlPanel.getSQLEntryPanel(); _session = session; _toolsPopupCompletorModel = new ToolsPopupCompletorModel(); _toolsCompletor = new Completor((JTextComponent)_sqlEntryPanel.getTextComponent(), _toolsPopupCompletorModel, new Color(255,204,204), true); _toolsCompletor.addCodeCompletorListener ( new CompletorListener() { public void completionSelected(CompletionInfo completion, int replaceBegin) {onToolsPopupActionSelected(completion);} } ); ActionCollection ac = app.getActionCollection(); addAction("undo", sqlPanel.getUndoAction()); addAction("redo", sqlPanel.getRedoAction()); addAction("runsql", ac.get(ExecuteSqlAction.class)); addAction("fileopen", ac.get(FileOpenAction.class)); addAction("filesave", ac.get(FileSaveAction.class)); addAction("filesaveas", ac.get(FileSaveAsAction.class)); addAction("tabnext", ac.get(GotoNextResultsTabAction.class)); addAction("tabprevious", ac.get(GotoPreviousResultsTabAction.class)); addAction("tabcloseall", ac.get(CloseAllSQLResultTabsAction.class)); addAction("tabcloseallbutcur", ac.get(CloseAllSQLResultTabsButCurrentAction.class)); addAction("tabclosecur", ac.get(CloseCurrentSQLResultTabAction.class)); addAction("tabsticky", ac.get(ToggleCurrentSQLResultTabStickyAction.class)); if(sqlPanel.isInMainSessionWindow()) { addAction("viewinobjecttree", ac.get(ViewObjectAtCursorInObjectTreeAction.class)); } _ctrlTCount = Preferences.userRoot().getInt(PREFS_KEY_CTRL_T_COUNT, 0); if(3 > _ctrlTCount) { _session.getMessageHandler().showMessage("Please try out the Tools popup by hitting ctrl+t in the SQL Editor. Do it three times to stop this message."); } } private void onToolsPopupActionSelected(CompletionInfo completion) { final ToolsPopupCompletionInfo toExecute = (ToolsPopupCompletionInfo) completion; toExecute.getAction().actionPerformed(new ActionEvent(_sqlEntryPanel.getTextComponent(), _session.getIdentifier().hashCode(), "ToolsPopupSelected")); } public void showToolsPopup() { if(3 > _ctrlTCount) { int ctrlTCount = Preferences.userRoot().getInt(PREFS_KEY_CTRL_T_COUNT, 0); Preferences.userRoot().putInt(PREFS_KEY_CTRL_T_COUNT, ++ctrlTCount); } _toolsCompletor.show(); } public void addAction(String selectionString, Action action) { _toolsPopupCompletorModel.addAction(selectionString, action); } } Index: MainPanel.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/gui/session/MainPanel.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MainPanel.java 24 Apr 2005 18:13:44 -0000 1.5 --- MainPanel.java 24 Jul 2005 20:54:12 -0000 1.6 *************** *** 20,27 **** * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ - import net.sourceforge.squirrel_sql.client.action.ActionCollection; import net.sourceforge.squirrel_sql.client.gui.builders.UIFactory; import net.sourceforge.squirrel_sql.client.session.ISession; - import net.sourceforge.squirrel_sql.client.session.action.*; import net.sourceforge.squirrel_sql.client.session.mainpanel.IMainPanelTab; import net.sourceforge.squirrel_sql.client.session.mainpanel.ObjectTreeTab; --- 20,25 ---- *************** *** 30,33 **** --- 28,32 ---- import net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.ObjectTreePanel; import net.sourceforge.squirrel_sql.client.session.properties.SessionProperties; + import net.sourceforge.squirrel_sql.client.action.ActionCollection; import net.sourceforge.squirrel_sql.fw.util.StringManager; import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory; *************** *** 257,290 **** ! /** JASON: Remove this method. ! * @deprecated remove this method. Superceeded by listeners attached ! * to SQLInternalFrame ! */ ! void updateState() { ! final ActionCollection actions = _session.getApplication().getActionCollection(); ! if (_tabPnl.getSelectedIndex() == ITabIndexes.SQL_TAB) ! { ! actions.get(ExecuteSqlAction.class).setEnabled(true); ! actions.get(GotoNextResultsTabAction.class).setEnabled(true); ! actions.get(GotoPreviousResultsTabAction.class).setEnabled(true); ! actions.get(ShowNativeSQLAction.class).setEnabled(true); ! actions.get(RefreshObjectTreeAction.class).setEnabled(false); ! actions.get(SQLFilterAction.class).setEnabled(false); ! actions.get(EditWhereColsAction.class).setEnabled(false); ! } ! else ! { ! actions.get(ExecuteSqlAction.class).setEnabled(false); ! actions.get(GotoNextResultsTabAction.class).setEnabled(false); ! actions.get(GotoPreviousResultsTabAction.class).setEnabled(false); ! actions.get(ShowNativeSQLAction.class).setEnabled(false); ! actions.get(RefreshObjectTreeAction.class).setEnabled(true); ! actions.get(SQLFilterAction.class).setEnabled(true); ! actions.get(EditWhereColsAction.class).setEnabled(true); ! } ! // final boolean isAutoCommit = _session.getProperties().getAutoCommit(); ! // actions.get(CommitAction.class).setEnabled(!isAutoCommit); ! // actions.get(RollbackAction.class).setEnabled(!isAutoCommit); } --- 256,262 ---- ! private void updateState() { ! _session.getApplication().getActionCollection().activationChanged(_session.getSessionInternalFrame()); } Index: ObjectTreeInternalFrame.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/gui/session/ObjectTreeInternalFrame.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ObjectTreeInternalFrame.java 22 Aug 2004 09:32:33 -0000 1.1 --- ObjectTreeInternalFrame.java 24 Jul 2005 20:54:12 -0000 1.2 *************** *** 21,44 **** * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ ! import java.awt.BorderLayout; ! import java.awt.Component; ! import java.awt.Window; ! import java.awt.event.ActionEvent; ! import java.awt.event.ActionListener; ! import java.awt.event.FocusEvent; ! import java.beans.PropertyChangeEvent; ! import java.beans.PropertyChangeListener; ! import java.sql.SQLException; ! ! import javax.swing.Icon; ! import javax.swing.JLabel; ! import javax.swing.JPanel; ! import javax.swing.SwingUtilities; ! import javax.swing.event.InternalFrameAdapter; ! import javax.swing.event.InternalFrameEvent; ! import javax.swing.event.TreeSelectionEvent; ! import javax.swing.event.TreeSelectionListener; ! import javax.swing.tree.TreePath; ! import net.sourceforge.squirrel_sql.fw.gui.SQLCatalogsComboBox; import net.sourceforge.squirrel_sql.fw.gui.ToolBar; --- 21,32 ---- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ ! import net.sourceforge.squirrel_sql.client.IApplication; ! import net.sourceforge.squirrel_sql.client.action.ActionCollection; ! import net.sourceforge.squirrel_sql.client.session.IObjectTreeAPI; ! import net.sourceforge.squirrel_sql.client.session.IObjectTreeInternalFrame; ! import net.sourceforge.squirrel_sql.client.session.ISession; ! import net.sourceforge.squirrel_sql.client.session.action.RefreshObjectTreeAction; ! import net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.ObjectTreeNode; ! import net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.ObjectTreePanel; import net.sourceforge.squirrel_sql.fw.gui.SQLCatalogsComboBox; import net.sourceforge.squirrel_sql.fw.gui.ToolBar; *************** *** 50,61 **** import net.sourceforge.squirrel_sql.fw.util.log.LoggerController; ! import net.sourceforge.squirrel_sql.client.IApplication; ! import net.sourceforge.squirrel_sql.client.action.ActionCollection; ! import net.sourceforge.squirrel_sql.client.session.IObjectTreeAPI; ! import net.sourceforge.squirrel_sql.client.session.IObjectTreeInternalFrame; ! import net.sourceforge.squirrel_sql.client.session.ISession; ! import net.sourceforge.squirrel_sql.client.session.action.RefreshObjectTreeAction; ! import net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.ObjectTreeNode; ! import net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.ObjectTreePanel; /* Object Tree frame class*/ --- 38,54 ---- import net.sourceforge.squirrel_sql.fw.util.log.LoggerController; ! import javax.swing.*; ! import javax.swing.event.InternalFrameAdapter; ! import javax.swing.event.InternalFrameEvent; ! import javax.swing.event.TreeSelectionEvent; ! import javax.swing.event.TreeSelectionListener; ! import javax.swing.tree.TreePath; ! import java.awt.*; ! import java.awt.event.ActionEvent; ! import java.awt.event.ActionListener; ! import java.awt.event.FocusEvent; ! import java.beans.PropertyChangeEvent; ! import java.beans.PropertyChangeListener; ! import java.sql.SQLException; /* Object Tree frame class*/ *************** *** 79,83 **** setVisible(false); createGUI(session); - addInternalFrameListener(new ObjectTreeActionEnabler()); } --- 72,75 ---- *************** *** 283,301 **** } } - - private class ObjectTreeActionEnabler extends InternalFrameAdapter - { - public void internalFrameActivated(InternalFrameEvent evt) - { - final ActionCollection actions = _app.getActionCollection(); - actions.get(RefreshObjectTreeAction.class).setEnabled(true); - } - - public void internalFrameDeactivated(InternalFrameEvent evt) - { - final ActionCollection actions = getSession().getApplication() - .getActionCollection(); - actions.get(RefreshObjectTreeAction.class).setEnabled(false); - } - } } \ No newline at end of file --- 275,277 ---- --- ToolsPopupAction.java DELETED --- Index: SessionPanel.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/gui/session/SessionPanel.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** SessionPanel.java 12 Jun 2005 12:35:50 -0000 1.10 --- SessionPanel.java 24 Jul 2005 20:54:12 -0000 1.11 *************** *** 154,162 **** } - public void updateState() - { - _mainTabPane.updateState(); - } - public void sessionHasClosed() { --- 154,157 ---- *************** *** 406,410 **** } } - updateState(); } --- 401,404 ---- *************** *** 443,447 **** } ! private class MyToolBar extends ToolBar { private SQLCatalogsComboBox _catalogsCmb; --- 437,451 ---- } ! public boolean isSQLTabSelected() ! { ! return MainPanel.ITabIndexes.SQL_TAB ==_mainTabPane.getTabbedPane().getSelectedIndex(); ! } ! ! public boolean isObjectTreeTabSelected() ! { ! return MainPanel.ITabIndexes.OBJECT_TREE_TAB ==_mainTabPane.getTabbedPane().getSelectedIndex(); ! } ! ! private class MyToolBar extends ToolBar { private SQLCatalogsComboBox _catalogsCmb; *************** *** 515,521 **** add(actions.get(ExecuteSqlAction.class)); addSeparator(); ! actions.get(ExecuteSqlAction.class).setEnabled(false); add(actions.get(SQLFilterAction.class)); ! actions.get(SQLFilterAction.class).setEnabled(false); addSeparator(); add(actions.get(FileOpenAction.class)); --- 519,525 ---- add(actions.get(ExecuteSqlAction.class)); addSeparator(); ! // actions.get(ExecuteSqlAction.class).setEnabled(false); add(actions.get(SQLFilterAction.class)); ! // actions.get(SQLFilterAction.class).setEnabled(false); addSeparator(); add(actions.get(FileOpenAction.class)); Index: SQLInternalFrame.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/gui/session/SQLInternalFrame.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** SQLInternalFrame.java 16 Jul 2005 12:14:58 -0000 1.11 --- SQLInternalFrame.java 24 Jul 2005 20:54:12 -0000 1.12 *************** *** 23,30 **** import net.sourceforge.squirrel_sql.client.IApplication; import net.sourceforge.squirrel_sql.client.action.ActionCollection; ! import net.sourceforge.squirrel_sql.client.session.ISQLEntryPanel; ! import net.sourceforge.squirrel_sql.client.session.ISQLInternalFrame; ! import net.sourceforge.squirrel_sql.client.session.ISQLPanelAPI; ! import net.sourceforge.squirrel_sql.client.session.ISession; import net.sourceforge.squirrel_sql.client.session.action.*; import net.sourceforge.squirrel_sql.client.session.mainpanel.SQLPanel; --- 23,27 ---- import net.sourceforge.squirrel_sql.client.IApplication; import net.sourceforge.squirrel_sql.client.action.ActionCollection; ! import net.sourceforge.squirrel_sql.client.session.*; import net.sourceforge.squirrel_sql.client.session.action.*; import net.sourceforge.squirrel_sql.client.session.mainpanel.SQLPanel; *************** *** 53,57 **** setVisible(false); createGUI(session); - addInternalFrameListener(new SQLActionEnabler()); } --- 50,53 ---- *************** *** 187,214 **** } } - - private class SQLActionEnabler extends InternalFrameAdapter - { - public void internalFrameActivated(InternalFrameEvent evt) - { - final ActionCollection actions = _app.getActionCollection(); - actions.get(ExecuteSqlAction.class).setEnabled(true); - actions.get(GotoNextResultsTabAction.class).setEnabled(true); - actions.get(GotoPreviousResultsTabAction.class).setEnabled(true); - actions.get(ShowNativeSQLAction.class).setEnabled(true); - actions.get(SQLFilterAction.class).setEnabled(false); - } - - public void internalFrameDeactivated(InternalFrameEvent evt) - { - final ActionCollection actions = getSession().getApplication() - .getActionCollection(); - actions.get(ExecuteSqlAction.class).setEnabled(false); - actions.get(GotoNextResultsTabAction.class).setEnabled(false); - actions.get(GotoPreviousResultsTabAction.class).setEnabled(false); - actions.get(ShowNativeSQLAction.class).setEnabled(false); - actions.get(SQLFilterAction.class).setEnabled(false); - } - - } } \ No newline at end of file --- 183,185 ---- |