[Squirrel-sql-commits] sql12/app/src/net/sourceforge/squirrel_sql/client/session/mainpanel/objecttr
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
Update of /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/session/mainpanel/objecttree In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv16815/app/src/net/sourceforge/squirrel_sql/client/session/mainpanel/objecttree Modified Files: ObjectTreePanel.java Added Files: FindInObjectTreeController.java FindInObjectTreePanel.java Log Message: Object tree search (Feature request 2004240): Index: ObjectTreePanel.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/session/mainpanel/objecttree/ObjectTreePanel.java,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** ObjectTreePanel.java 20 Nov 2007 00:51:25 -0000 1.37 --- ObjectTreePanel.java 5 Oct 2008 15:10:01 -0000 1.38 *************** *** 137,142 **** /** used to save and restore previously selected object tree paths */ private TreePath[] previouslySelectedPaths = null; ! ! /** * ctor specifying the current session. * --- 137,144 ---- /** used to save and restore previously selected object tree paths */ private TreePath[] previouslySelectedPaths = null; ! ! private FindInObjectTreeController _findInObjectTreeController; ! ! /** * ctor specifying the current session. * *************** *** 157,161 **** _emptyTabPane = new ObjectTreeTabbedPane(_session); ! createGUI(); session.getApplication().getThreadPool().addTask(new Runnable() --- 159,165 ---- _emptyTabPane = new ObjectTreeTabbedPane(_session); ! _findInObjectTreeController = new FindInObjectTreeController(_session); ! ! createGUI(); session.getApplication().getThreadPool().addTask(new Runnable() *************** *** 995,1005 **** } ! private final class LeftPanel extends JPanel { ! LeftPanel() { super(new BorderLayout()); ! // add(new TreeHeaderPanel(), BorderLayout.NORTH); ! final JScrollPane sp = new JScrollPane(); sp.setBorder(BorderFactory.createEmptyBorder()); sp.setViewportView(_tree); --- 999,1014 ---- } ! public FindInObjectTreeController getFindController() ! { ! return _findInObjectTreeController; ! } ! ! private final class LeftPanel extends JPanel { ! LeftPanel() { super(new BorderLayout()); ! add(_findInObjectTreeController.getFindInObjectTreePanel(), BorderLayout.NORTH); ! JScrollPane sp = new JScrollPane(); sp.setBorder(BorderFactory.createEmptyBorder()); sp.setViewportView(_tree); *************** *** 1009,1026 **** } - // private final class TreeHeaderPanel extends JPanel - // { - // JPopupMenu _pop = new JPopupMenu("abc"); - // TreeHeaderPanel() - // { - // super(new FlowLayout()); - // JLabel lbl = new JLabel("DB Explorer"); - // add(lbl); - // - // _pop.add("Filter..."); - // add(_pop); - // } - // } - /** * This class listens for changes in the node selected in the tree --- 1018,1021 ---- --- NEW FILE: FindInObjectTreeController.java --- package net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree; import net.sourceforge.squirrel_sql.client.session.DefaultSQLEntryPanel; import net.sourceforge.squirrel_sql.client.session.ISession; import net.sourceforge.squirrel_sql.client.session.ObjectTreeSearch; import net.sourceforge.squirrel_sql.client.session.ISQLEntryPanel; import javax.swing.*; import javax.swing.text.Keymap; import java.awt.event.*; public class FindInObjectTreeController { private FindInObjectTreePanel _findInObjectTreePanel; private DefaultSQLEntryPanel _defaultSQLEntryPanel; private ISession _session; public FindInObjectTreeController(ISession session) { _session = session; _defaultSQLEntryPanel = new DefaultSQLEntryPanel(session); _findInObjectTreePanel = new FindInObjectTreePanel(_defaultSQLEntryPanel.getTextComponent(), session.getApplication().getResources()); Keymap km = _defaultSQLEntryPanel.getTextComponent().getKeymap(); Action FindAction = new AbstractAction("ObjectTree.Find") { private static final long serialVersionUID = 1L; public void actionPerformed(ActionEvent e) { onEnter(); } }; km.addActionForKeyStroke(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false), FindAction); _findInObjectTreePanel._btnFind.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { onFind(); } }); } private void onFind() { new ObjectTreeSearch().viewObjectInObjectTree(_defaultSQLEntryPanel.getText(), _session); } private void onEnter() { _findInObjectTreePanel._btnFind.doClick(); } public JPanel getFindInObjectTreePanel() { return _findInObjectTreePanel; } public ISQLEntryPanel getFindEntryPanel() { return _defaultSQLEntryPanel; } } --- NEW FILE: FindInObjectTreePanel.java --- package net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree; import net.sourceforge.squirrel_sql.client.resources.SquirrelResources; import javax.swing.*; import javax.swing.text.JTextComponent; import java.awt.*; public class FindInObjectTreePanel extends JPanel { JButton _btnFind; public FindInObjectTreePanel(JTextComponent textComponent, SquirrelResources resources) { setLayout(new GridBagLayout()); GridBagConstraints gbc; gbc = new GridBagConstraints(0,0,1,1,1,0,GridBagConstraints.NORTHWEST, GridBagConstraints.HORIZONTAL, new Insets(0,0,0,0), 0,0); add(textComponent, gbc); gbc = new GridBagConstraints(1,0,1,1,0,0,GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0,0,0,0), 0,0); _btnFind = new JButton(resources.getIcon(SquirrelResources.IImageNames.FIND)); add(_btnFind, gbc); Dimension preferredSize = textComponent.getPreferredSize(); preferredSize.height = _btnFind.getPreferredSize().height; textComponent.setPreferredSize(preferredSize); textComponent.setBorder(BorderFactory.createEtchedBorder()); } } |