[Isql-devevelopment] SF.net SVN: isql: [85] isql-swing/branches/3.1.0-development
Brought to you by:
mkobold
|
From: <mk...@us...> - 2007-08-08 01:14:18
|
Revision: 85
http://isql.svn.sourceforge.net/isql/?rev=85&view=rev
Author: mkobold
Date: 2007-08-07 18:14:18 -0700 (Tue, 07 Aug 2007)
Log Message:
-----------
* merged with the 3.0.2
Modified Paths:
--------------
isql-swing/branches/3.1.0-development/src/org/isqlviewer/model/JdbcSchemaTreeModel.java
isql-swing/branches/3.1.0-development/src/org/isqlviewer/swing/EnhancedTable.java
isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/DataGrid.java
isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java
isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/ResourceBundle.properties
isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandEditor.java
isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java
isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java
isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java
isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java
Property Changed:
----------------
isql-swing/branches/3.1.0-development/
Property changes on: isql-swing/branches/3.1.0-development
___________________________________________________________________
Name: svn:ignore
-
bin
classes
+ bin
classes
isql-swing.jar
isql-swing-src.zip
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/model/JdbcSchemaTreeModel.java
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/model/JdbcSchemaTreeModel.java 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/model/JdbcSchemaTreeModel.java 2007-08-08 01:14:18 UTC (rev 85)
@@ -27,11 +27,15 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
+import java.text.MessageFormat;
+import java.util.Arrays;
import java.util.Collection;
import java.util.TreeSet;
import javax.swing.tree.DefaultTreeModel;
+import org.apache.log4j.Logger;
+import org.isqlviewer.util.IsqlToolkit;
import org.isqlviewer.util.LocalMessages;
/**
@@ -47,6 +51,8 @@
private static final String RESOURCE_BUNDLE = "org.isqlviewer.model.ResourceBundle";
private static final LocalMessages messages = new LocalMessages(RESOURCE_BUNDLE);
+ private Logger logger = IsqlToolkit.getApplicationLogger();
+
private DatabaseMetaData jdbcMetadata = null;
private String catalog = null;
private String schema = null;
@@ -236,6 +242,7 @@
protected void initializeDefaultNodes(boolean showDataTypes, boolean showTableTypes, boolean showStoredProcedures) {
String nodeText = null;
+
if (showDataTypes) {
SchemaNode schemaNode = null;
@@ -271,7 +278,7 @@
tableTypes.add(resultSet.getString("TABLE_TYPE"));
}
} catch (SQLException sqle) {
- // TODO Do Something here...
+ logger.debug("DatabaseMetadata.getTableTypes();", sqle);
} finally {
if (resultSet != null) {
try {
@@ -292,6 +299,12 @@
insertNodeInto(tabletypeNode, rootNode, 0);
}
} catch (SQLException sqle) {
+ Object[] arguments = new Object[3];
+ arguments[0] = catalog;
+ arguments[1] = schema;
+ arguments[2] = Arrays.toString(typeSet);
+ String message = MessageFormat.format("DatabaseMetadata.getTables({0}, {1}, null, {2})", arguments);
+ logger.debug(message, sqle);
} finally {
if (resultSet != null) {
try {
@@ -319,6 +332,11 @@
SchemaNode procedureNode = new SchemaNode(nodeText, false, SchemaNodeType.PROCEDURE_SET);
procedureNode.setHasError(true);
insertNodeInto(procedureNode, rootNode, 0);
+ Object[] arguments = new Object[2];
+ arguments[0] = catalog;
+ arguments[1] = schema;
+ String message = MessageFormat.format("DatabaseMetadata.getProcedures({0}, {1}, null)", arguments);
+ logger.debug(message, sqle);
} finally {
if (resultSet != null) {
try {
@@ -351,6 +369,12 @@
}
} catch (SQLException sqle) {
tabletypeNode.setHasError(true);
+ Object[] arguments = new Object[3];
+ arguments[0] = catalog;
+ arguments[1] = schema;
+ arguments[2] = tableType;
+ String message = MessageFormat.format("DatabaseMetadata.getTables({0}, {1}, null, {2})", arguments);
+ logger.debug(message, sqle);
} finally {
if (resultSet != null) {
try {
@@ -375,6 +399,7 @@
insertNodeInto(tableNode, typesetNode, 0);
}
} catch (SQLException sqle) {
+ logger.debug("DatabaseMetadata.getTypeInfo()", sqle);
typesetNode.setHasError(true);
} finally {
if (resultSet != null) {
@@ -400,6 +425,12 @@
insertNodeInto(tableNode, usertypesetNode, 0);
}
} catch (SQLException sqle) {
+ Object[] arguments = new Object[3];
+ arguments[0] = catalog;
+ arguments[1] = schema;
+ arguments[2] = type;
+ String message = MessageFormat.format("DatabaseMetadata.getUDT({0}, {1}, null, {2})", arguments);
+ logger.debug(message, sqle);
usertypesetNode.setHasError(true);
} finally {
if (resultSet != null) {
@@ -425,6 +456,11 @@
insertNodeInto(tableNode, procedureNode, 0);
}
} catch (SQLException sqle) {
+ Object[] arguments = new Object[2];
+ arguments[0] = catalog;
+ arguments[1] = schema;
+ String message = MessageFormat.format("DatabaseMetadata.getProcedures({0}, {1}, null)", arguments);
+ logger.debug(message, sqle);
procedureNode.setHasError(true);
} finally {
if (resultSet != null) {
@@ -637,6 +673,12 @@
insertNodeInto(columnNameNode, columnNode, 0);
}
} catch (SQLException sqle) {
+ Object[] arguments = new Object[3];
+ arguments[0] = catalog;
+ arguments[1] = schema;
+ arguments[2] = tableName;
+ String message = MessageFormat.format("DatabaseMetadata.getColumns({0}, {1}, {2}, null)", arguments);
+ logger.debug(message, sqle);
columnNode.setHasError(true);
} finally {
if (resultSet != null) {
@@ -648,4 +690,4 @@
reload(columnNode);
}
}
-}
+}
\ No newline at end of file
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/swing/EnhancedTable.java
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/swing/EnhancedTable.java 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/swing/EnhancedTable.java 2007-08-08 01:14:18 UTC (rev 85)
@@ -58,6 +58,7 @@
import javax.swing.JComponent;
import javax.swing.JPopupMenu;
import javax.swing.JTable;
+import javax.swing.JToolTip;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIDefaults;
@@ -97,6 +98,7 @@
protected boolean selectionToggle = true;
protected DnDSupport dndHandler = new DnDSupport(this);
protected DragGestureRecognizer dndRecognizer = null;
+ protected JToolTip customToolTip = null;
public EnhancedTable(TableModel model) {
@@ -125,24 +127,6 @@
setGridColor(EnhancedTableCellRenderer.gridColor);
}
- @Override
- protected void createDefaultRenderers() {
-
- defaultRenderersByColumnClass = new UIDefaults();
-
- // Numbers
- setLazyRenderer(Number.class, "org.isqlviewer.ui.laf.EnhancedNumberCellRenderer");
- // Doubles and Floats
- setLazyRenderer(Float.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRenderer");
- setLazyRenderer(Double.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRendererr");
- // Dates
- setLazyRenderer(Date.class, "org.isqlviewer.ui.laf.EnhancedDateCellRenderer");
- // Booleans
- setLazyRenderer(Boolean.class, "org.isqlviewer.ui.laf.EnhancedBooleanCellRenderer");
- // Everything else
- setLazyRenderer(Object.class, "org.isqlviewer.ui.laf.EnhancedTableCellRenderer");
- }
-
public void refreshSorted() {
Sortable mdl = null;
@@ -160,6 +144,11 @@
}
}
+ public void setCustomTooltip(JToolTip customToolTip) {
+
+ this.customToolTip = customToolTip;
+ }
+
public EnhancedTableModel getSelectedSubModel() {
int[] rows = null;
@@ -306,6 +295,15 @@
}
@Override
+ public JToolTip createToolTip() {
+
+ if (customToolTip == null) {
+ return super.createToolTip();
+ }
+ return customToolTip;
+ }
+
+ @Override
public boolean getDragEnabled() {
return (dndRecognizer == null);
@@ -346,6 +344,24 @@
super.columnAdded(event);
}
+ @Override
+ protected void createDefaultRenderers() {
+
+ defaultRenderersByColumnClass = new UIDefaults();
+
+ // Numbers
+ setLazyRenderer(Number.class, "org.isqlviewer.ui.laf.EnhancedNumberCellRenderer");
+ // Doubles and Floats
+ setLazyRenderer(Float.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRenderer");
+ setLazyRenderer(Double.class, "org.isqlviewer.ui.laf.EnhancedDecimalCellRendererr");
+ // Dates
+ setLazyRenderer(Date.class, "org.isqlviewer.ui.laf.EnhancedDateCellRenderer");
+ // Booleans
+ setLazyRenderer(Boolean.class, "org.isqlviewer.ui.laf.EnhancedBooleanCellRenderer");
+ // Everything else
+ setLazyRenderer(Object.class, "org.isqlviewer.ui.laf.EnhancedTableCellRenderer");
+ }
+
/** Sizes the columns with the max size of the header and the columns data. */
private void setColumnSizes(int from, int to) {
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/DataGrid.java
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/DataGrid.java 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/DataGrid.java 2007-08-08 01:14:18 UTC (rev 85)
@@ -22,190 +22,177 @@
*/
package org.isqlviewer.ui;
-import java.awt.Component;
+import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.text.NumberFormat;
+import java.text.MessageFormat;
import java.util.prefs.Preferences;
import javax.swing.BorderFactory;
import javax.swing.Box;
-import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JMenuBar;
+import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
-import javax.swing.ScrollPaneConstants;
-import javax.swing.SwingConstants;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
+import org.isqlviewer.history.HistoricalCommand;
+import org.isqlviewer.sql.QueryMetadata;
import org.isqlviewer.swing.EnhancedTable;
import org.isqlviewer.swing.SwingUtilities;
import org.isqlviewer.swing.action.SwingEventManager;
import org.isqlviewer.swing.table.EnhancedTableModel;
-import org.isqlviewer.swing.table.ResultSetTableModel;
-import org.isqlviewer.ui.laf.SortableHeaderRenderer;
import org.isqlviewer.util.LocalMessages;
+import org.isqlviewer.util.StringUtilities;
/**
* @author Mark A. Kobold <mkobold at isqlviewer dot com>
* @version 1.0
*/
-public class DataGrid extends AbstractApplicationView implements ListSelectionListener, ActionListener,
- DocumentListener {
+public class DataGrid extends AbstractApplicationView implements ListSelectionListener, DocumentListener {
- private NumberFormat nf = NumberFormat.getIntegerInstance();
+ private static final MessageFormat cursorFormat = new MessageFormat("{0}/{1}");
+ private LocalMessages messages = new LocalMessages("org.isqlviewer.ui.ResourceBundle");
+
private EnhancedTable table = null;
- private JTextField txtFilter = new JTextField();
+ private EnhancedTableModel model = null;
+ private HistoricalCommand queryReference = null;
+
private JLabel lblFilter = new JLabel();
- private JScrollPane jspTable = null;
- private Component glue = Box.createHorizontalGlue();
- private JLabel lblLocatr = new JLabel();
- private JLabel lblSearch = new JLabel(SwingUtilities.loadIconResource("search", 16));
- private JButton btnHider = new JButton();
- private JButton actionPageUp = new JButton("");
- private JButton actionPageDown = new JButton("");
- private LocalMessages messages = new LocalMessages("org.isqlviewer.ui.ResourceBundle");
+ private JLabel cursorLabel = new JLabel(SwingUtilities.loadIconResource("table", 16));
+ private JLabel serviceLabel = new JLabel(SwingUtilities.loadIconResource("service", 16));
+ private JLabel timeLabel = new JLabel(SwingUtilities.loadIconResource("history", 16));
+ private JTextField searchText = new JTextField(8);
+
public void configureMenubar(JMenuBar menuBar) {
- // TODO Auto-generated method stub
-
}
public void disposeView(Preferences preferences) {
- // TODO Auto-generated method stub
-
}
public void initializeView() {
- // TODO Auto-generated method stub
-
}
public void doLayout(JComponent parentComponent, Preferences preferences, SwingEventManager eventManager) {
table = new EnhancedTable();
- // TODO table.setDropTarget(new DropTarget(table, workbench.bookmarkDropper));
- table.setFont(table.getFont().deriveFont(10f));
- // table.putClientProperty(EnhancedTable.CLIENT_JPOPUP_MENU, workbench.tablePopupMenu);
table.setDragEnabled(true);
table.getSelectionModel().addListSelectionListener(this);
- jspTable = new JScrollPane(table);
- lblLocatr.setBorder(BorderFactory.createEtchedBorder());
- btnHider.setIcon(new SortableHeaderRenderer.BasicArrowIcon(SwingConstants.NORTH, 4));
- btnHider.setBorderPainted(false);
- btnHider.setFocusPainted(false);
- btnHider.addActionListener(this);
- // btnHider.setToolTipText(BasicUtilities.getString("Filter_Hide_Tip"));
- actionPageUp.addActionListener(this);
- actionPageUp.setBorderPainted(false);
- actionPageUp.setFocusPainted(false);
- // actionPageUp.setToolTipText(BasicUtilities.getString("View_Prev"));
- actionPageDown.addActionListener(this);
- actionPageDown.setBorderPainted(false);
- actionPageDown.setFocusPainted(false);
- // actionPageDown.setToolTipText(BasicUtilities.getString("View_Next"));
- // txtFilter.setToolTipText(BasicUtilities.getString("Filter_Input_Tip"));
- txtFilter.getDocument().addDocumentListener(this);
- lblFilter.setFont(lblFilter.getFont().deriveFont(9.0f));
+ searchText.getDocument().addDocumentListener(this);
+ cursorLabel.setBorder(BorderFactory.createEtchedBorder());
+ cursorLabel.setToolTipText(messages.format("DataGrid.current_position_of_selection"));
+ timeLabel.setBorder(BorderFactory.createEtchedBorder());
+ timeLabel.setToolTipText(messages.format("DataGrid.time_spent_aquiring_these_results"));
+ serviceLabel.setBorder(BorderFactory.createEtchedBorder());
+ serviceLabel.setToolTipText(messages.format("DataGrid.service_these_results_came_from"));
+
+ JScrollPane dataScrollPanel = new JScrollPane(table);
Object UI_CONSTRAINT = null;
- parentComponent.setLayout(new GridBagLayout());
+ JPanel searchBar = new JPanel(new GridBagLayout());
UI_CONSTRAINT = constrain(0, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL);
- parentComponent.add(glue, UI_CONSTRAINT);
- UI_CONSTRAINT = constrain(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.HORIZONTAL);
- parentComponent.add(lblSearch, UI_CONSTRAINT);
- UI_CONSTRAINT = constrain(2, 0, 1, 1, 0.35, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL);
- parentComponent.add(txtFilter, UI_CONSTRAINT);
- UI_CONSTRAINT = constrain(3, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE);
- parentComponent.add(btnHider, UI_CONSTRAINT);
- UI_CONSTRAINT = constrain(2, 1, 2, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE);
- parentComponent.add(lblFilter, UI_CONSTRAINT);
- UI_CONSTRAINT = constrain(0, 2, 4, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH);
- parentComponent.add(jspTable, UI_CONSTRAINT);
- UI_CONSTRAINT = constrain(1, 3, 4, 1, 1.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE);
- parentComponent.add(lblLocatr, UI_CONSTRAINT);
+ searchBar.add(Box.createHorizontalGlue(), UI_CONSTRAINT);
+ UI_CONSTRAINT = constrain(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL);
+ JLabel searchLabel = new JLabel(SwingUtilities.loadIconResource("search", 16));
+ searchBar.add(searchLabel, UI_CONSTRAINT);
+ UI_CONSTRAINT = constrain(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL);
+ searchBar.add(searchText, UI_CONSTRAINT);
+ UI_CONSTRAINT = constrain(3, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL);
+ searchBar.add(Box.createHorizontalStrut(10), UI_CONSTRAINT);
+ UI_CONSTRAINT = constrain(2, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE);
+ searchBar.add(lblFilter, UI_CONSTRAINT);
+ UI_CONSTRAINT = constrain(3, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL);
+ searchBar.add(Box.createHorizontalStrut(10), UI_CONSTRAINT);
+
+ JPanel statusBar = new JPanel(new GridBagLayout());
+ UI_CONSTRAINT = constrain(3, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL);
+ statusBar.add(Box.createHorizontalGlue(), UI_CONSTRAINT);
+ UI_CONSTRAINT = constrain(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE);
+ statusBar.add(timeLabel, UI_CONSTRAINT);
+ UI_CONSTRAINT = constrain(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE);
+ statusBar.add(serviceLabel, UI_CONSTRAINT);
+ UI_CONSTRAINT = constrain(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE);
+ statusBar.add(cursorLabel, UI_CONSTRAINT);
+
+ parentComponent.setLayout(new BorderLayout());
+ parentComponent.add(searchBar, BorderLayout.NORTH);
+ parentComponent.add(dataScrollPanel, BorderLayout.CENTER);
+ parentComponent.add(statusBar, BorderLayout.SOUTH);
}
- public void setModel(EnhancedTableModel model) {
+ public void changedUpdate(DocumentEvent e) {
- table.setModel(model);
- if (model.getTrueRowCount() >= 1) {
- table.setRowSelectionInterval(0, 0);
- }
+ }
- if (model.getPageCount() > 1) {
- jspTable.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
- jspTable.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
- jspTable.setCorner(ScrollPaneConstants.UPPER_RIGHT_CORNER, actionPageUp);
- jspTable.setCorner(ScrollPaneConstants.LOWER_RIGHT_CORNER, actionPageDown);
- } else {
- jspTable.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
- jspTable.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
- jspTable.setCorner(ScrollPaneConstants.UPPER_RIGHT_CORNER, Box.createHorizontalStrut(0));
- jspTable.setCorner(ScrollPaneConstants.LOWER_RIGHT_CORNER, Box.createHorizontalStrut(0));
+ public void insertUpdate(DocumentEvent e) {
+
+ doFiltering();
+ }
+
+ public void removeUpdate(DocumentEvent e) {
+
+ doFiltering();
+ }
+
+ public void valueChanged(ListSelectionEvent e) {
+
+ Object[] arguments = new Object[2];
+ arguments[0] = Integer.toString(table.getSelectedRow() + 1);
+ arguments[1] = Integer.toString(table.getRowCount());
+ synchronized (cursorLabel) {
+ cursorLabel.setText(cursorFormat.format(arguments));
}
}
- public EnhancedTable getTable() {
+ public void setMetadata(QueryMetadata metadata) {
- return table;
+ this.queryReference = metadata.getCommand();
+ serviceLabel.setText(metadata.getService());
+ timeLabel.setText(StringUtilities.getHumanReadableTime(metadata.getUserTime()));
}
- public void clearFiltering() {
+ public void setModel(EnhancedTableModel model) {
- if (table != null) {
- ResultSetTableModel model = (ResultSetTableModel) table.getModel();
- model.clearFilter();
+ this.model = model;
+ table.setModel(model);
+ if (model.getTrueRowCount() >= 1) {
+ table.setRowSelectionInterval(0, 0);
}
- txtFilter.setText(null);
- lblFilter.setText(null);
}
- /*
- * (non-Javadoc)
- *
- * @see javax.swing.event.DocumentListener#changedUpdate(javax.swing.event.DocumentEvent)
- */
- public void changedUpdate(DocumentEvent e) {
+ public EnhancedTable getTable() {
+ return table;
}
- /*
- * (non-Javadoc)
- *
- * @see javax.swing.event.DocumentListener#insertUpdate(javax.swing.event.DocumentEvent)
- */
- public void insertUpdate(DocumentEvent e) {
+ public HistoricalCommand getQueryReference() {
- doFiltering();
+ return queryReference;
}
- /*
- * (non-Javadoc)
- *
- * @see javax.swing.event.DocumentListener#removeUpdate(javax.swing.event.DocumentEvent)
- */
- public void removeUpdate(DocumentEvent e) {
+ public void clearFiltering() {
- doFiltering();
+ if (model != null) {
+ model.clearFilter();
+ }
+ searchText.setText(null);
+ lblFilter.setText(null);
}
private synchronized void doFiltering() {
- if (table != null) {
- EnhancedTableModel model = (EnhancedTableModel) table.getModel();
- String filter = txtFilter.getText().trim();
+ if (model != null) {
+ String filter = searchText.getText().trim();
int found = model.applyFilter(filter);
if (found >= 1) {
String txt = messages.format("datagrid.found_matches", Integer.toString(found));
@@ -222,50 +209,5 @@
}
table.invalidate();
}
-
}
-
- /*
- * (non-Javadoc)
- *
- * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
- */
- public void actionPerformed(ActionEvent e) {
-
- Object src = e.getSource();
- if (src == btnHider) {
- txtFilter.setVisible(!txtFilter.isVisible());
- lblFilter.setVisible(!lblFilter.isVisible());
- lblSearch.setVisible(!lblSearch.isVisible());
- glue.setVisible(!glue.isVisible());
- if (txtFilter.isVisible()) {
- btnHider.setIcon(new SortableHeaderRenderer.BasicArrowIcon(SwingConstants.NORTH, 4));
- // btnHider.setToolTipText(BasicUtilities.getString("Filter_Hide_Tip"));
- } else {
- btnHider.setIcon(new SortableHeaderRenderer.BasicArrowIcon(SwingConstants.SOUTH, 4));
- // btnHider.setToolTipText(BasicUtilities.getString("Filter_Show_Tip"));
- }
- btnHider.getParent().validate();
- btnHider.getParent().repaint();
- } else if (src == actionPageDown) {
- EnhancedTableModel model = (EnhancedTableModel) table.getModel();
- model.pageDown();
- } else if (src == actionPageUp) {
- EnhancedTableModel model = (EnhancedTableModel) table.getModel();
- model.pageUp();
- }
- }
-
- public void valueChanged(ListSelectionEvent e) {
-
- EnhancedTableModel model = (EnhancedTableModel) table.getModel();
- String str = nf.format(model.translateRow(table.getSelectedRow()) + 1);
- str = str.concat("/");
- str = str.concat(nf.format(model.getTrueRowCount()));
- str = str.concat(" [");
- str = str.concat(nf.format(model.getPageOffset() + 1));
- str = str.concat("/");
- str = str.concat(nf.format(model.getPageCount()));
- lblLocatr.setText(" ".concat(str).concat("] "));
- }
}
\ No newline at end of file
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/JdbcWorkbench.java 2007-08-08 01:14:18 UTC (rev 85)
@@ -195,6 +195,7 @@
int id = event.getID();
switch (id) {
case SharedActions.REFRESH_SELECTED_RESULTS :
+ refreshSelectedTab();
break;
case SharedActions.NAVIGATE_LEFT_TAB :
navigateLeftTab();
@@ -304,6 +305,21 @@
}
}
+ private void refreshSelectedTab() {
+
+ JComponent component = (JComponent) centerTabbedPane.getSelectedComponent();
+ DataGrid dataGrid = (DataGrid) component.getClientProperty("x");
+ HistoricalCommand command = dataGrid.getQueryReference();
+ String statement = command.getCommandText();
+ boolean connected = checkConnection();
+ if (connected) {
+ TabbedResultsetRenderer renderer = new TabbedResultsetRenderer(centerTabbedPane);
+ QueryExecutor executor = new QueryExecutor(currentService, renderer, statement);
+ executor.setLogHistory(false);
+ executor.run();
+ }
+ }
+
public void doLayout(JComponent parentComponent, Preferences userPreferences, SwingEventManager swingEventManager) {
preferences = userPreferences.node("views/jdbc-workbench");
@@ -1081,7 +1097,6 @@
ca = new CustomAction("refresh-current-view", SharedActions.REFRESH_SELECTED_RESULTS, manager);
acclerator = messages.format("menu.refresh_selected_view.accelerator");
- ca.setEnabled(false);
ca.putValue(CustomAction.ICON_NAME, "reload");
ca.putValue(Action.ACCELERATOR_KEY, SwingUtilities.getKeyStroke(acclerator));
ca.putValue(Action.DEFAULT, messages.getMessage("menu.refresh_selected_view.title"));
@@ -1584,8 +1599,8 @@
row.add(entry.getValue());
model.addRow(row);
}
+
dataGrid.setModel(model);
-
centerTabbedPane.addTab(messages.format("JdbcWorkbench.database_metadata"), view);
index = centerTabbedPane.indexOfComponent(view);
centerTabbedPane.setClosableTab(index, true);
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/ResourceBundle.properties
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/ResourceBundle.properties 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/ResourceBundle.properties 2007-08-08 01:14:18 UTC (rev 85)
@@ -57,6 +57,9 @@
datagrid.no_matches=No match
datagrid.found_matches=Found {0} matche(s).
+DataGrid.current_position_of_selection=The row that is currently selected out of all of the rows.
+DataGrid.time_spent_aquiring_these_results=Time spent aquiring these results.
+DataGrid.service_these_results_came_from=The service used to aquire these results.
bookmarkeditor.created-date.title=Created On
bookmarkeditor.created-date.tip=The date and time this bookmark was created.
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandEditor.java
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandEditor.java 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandEditor.java 2007-08-08 01:14:18 UTC (rev 85)
@@ -34,6 +34,7 @@
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
+import java.util.TooManyListenersException;
import java.util.prefs.Preferences;
import javax.swing.AbstractAction;
@@ -145,13 +146,15 @@
commandEditor.addFocusListener(this);
commandEditor.addCaretListener(this);
-
- DropTarget dropTarget = new TextComponentDropTarget(commandEditor);
- dropTarget.setActive(true);
+ commandEditor.setDragEnabled(true);
+ DropTarget dropTarget = commandEditor.getDropTarget();
dropTarget.setDefaultActions(DnDConstants.ACTION_COPY_OR_MOVE);
- commandEditor.setDropTarget(dropTarget);
+ try {
+ dropTarget.addDropTargetListener(new TextComponentDropTarget(commandEditor));
+ } catch (TooManyListenersException ignored) {
+ debug("addDropTargetListener()", ignored);
+ }
- commandEditor.setDragEnabled(true);
commandEditor.getDocument().addUndoableEditListener(this);
localizeTextComponent(commandEditor, undoManager);
}
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/SqlCommandMouseAdapter.java 2007-08-08 01:14:18 UTC (rev 85)
@@ -53,6 +53,7 @@
*/
private Position.Bias[] bias = new Position.Bias[1];
+ @Override
public void mouseClicked(MouseEvent e) {
JEditorPane editor = (JEditorPane) e.getSource();
@@ -69,6 +70,7 @@
}
}
+ @Override
public void mouseMoved(MouseEvent e) {
JEditorPane editor = (JEditorPane) e.getSource();
@@ -152,6 +154,7 @@
super(url);
}
+ @Override
public void connect() {
}
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/TabbedResultsetRenderer.java 2007-08-08 01:14:18 UTC (rev 85)
@@ -47,6 +47,7 @@
import javax.swing.JProgressBar;
import org.apache.log4j.Logger;
+import org.isqlviewer.sql.QueryMetadata;
import org.isqlviewer.sql.ResultSetRenderer;
import org.isqlviewer.swing.EnhancedTabbedPane;
import org.isqlviewer.swing.SwingUtilities;
@@ -160,7 +161,7 @@
logger.info(messages.format("tabbedresultsetrenderer.rows_affected", new Integer(updateCount)));
}
- public void finalizeStatement(String stmtID) {
+ public void finalizeStatement(String stmtID, QueryMetadata metadata) {
eyeCandy.updateStatus(messages.format("TabbedResultsetRenderer.finalize_statement", stmtID));
@@ -181,6 +182,9 @@
componentView.removeAll();
dataGrid.doLayout(componentView, null, null);
dataGrid.setModel(eyeCandy.getQueryData());
+ dataGrid.setMetadata(metadata);
+ componentView.putClientProperty("x", dataGrid);
+
tabbedPane.setToolTipTextAt(index, html);
tabbedPane.setTitleAt(index, str);
tabbedPane.setComponentAt(index, componentView);
@@ -360,4 +364,5 @@
return componentView;
}
}
+
}
\ No newline at end of file
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/SchemaNodeRenderer.java 2007-08-08 01:14:18 UTC (rev 85)
@@ -32,6 +32,7 @@
import org.isqlviewer.model.JdbcSchemaTreeModel;
import org.isqlviewer.model.SchemaNode;
import org.isqlviewer.model.SchemaNodeType;
+import org.isqlviewer.sql.QueryMetadata;
import org.isqlviewer.sql.ResultSetRenderer;
import org.isqlviewer.util.LoggableObject;
@@ -173,7 +174,7 @@
nodeRenderer.recieveResultsetWarnings(set, set.getWarnings());
}
} finally {
- nodeRenderer.finalizeStatement("");
+ nodeRenderer.finalizeStatement("", new QueryMetadata());
try {
if (set != null) {
set.close();
Modified: isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java
===================================================================
--- isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java 2007-08-07 23:56:25 UTC (rev 84)
+++ isql-swing/branches/3.1.0-development/src/org/isqlviewer/ui/dnd/TextComponentDropTarget.java 2007-08-08 01:14:18 UTC (rev 85)
@@ -26,8 +26,10 @@
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.dnd.DnDConstants;
-import java.awt.dnd.DropTarget;
+import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DropTargetDropEvent;
+import java.awt.dnd.DropTargetEvent;
+import java.awt.dnd.DropTargetListener;
import java.io.IOException;
import javax.swing.text.BadLocationException;
@@ -42,7 +44,7 @@
* @author Mark A. Kobold <mkobold at isqlviewer dot com>
* @version 1.0
*/
-public class TextComponentDropTarget extends DropTarget {
+public class TextComponentDropTarget implements DropTargetListener {
private static final long serialVersionUID = 4496993389366518143L;
private JTextComponent editor = null;
@@ -51,9 +53,8 @@
this.editor = editor;
}
-
public void drop(DropTargetDropEvent event) {
-
+
boolean successful = false;
try {
if (event.isDataFlavorSupported(DataFlavor.stringFlavor)) {
@@ -85,4 +86,36 @@
event.dropComplete(successful);
}
}
+ /* (non-Javadoc)
+ * @see java.awt.dnd.DropTargetListener#dragEnter(java.awt.dnd.DropTargetDragEvent)
+ */
+ public void dragEnter(DropTargetDragEvent dtde) {
+
+ // TODO Auto-generated method stub
+
+ }
+ /* (non-Javadoc)
+ * @see java.awt.dnd.DropTargetListener#dragExit(java.awt.dnd.DropTargetEvent)
+ */
+ public void dragExit(DropTargetEvent dte) {
+
+ // TODO Auto-generated method stub
+
+ }
+ /* (non-Javadoc)
+ * @see java.awt.dnd.DropTargetListener#dragOver(java.awt.dnd.DropTargetDragEvent)
+ */
+ public void dragOver(DropTargetDragEvent dtde) {
+
+ // TODO Auto-generated method stub
+
+ }
+ /* (non-Javadoc)
+ * @see java.awt.dnd.DropTargetListener#dropActionChanged(java.awt.dnd.DropTargetDragEvent)
+ */
+ public void dropActionChanged(DropTargetDragEvent dtde) {
+
+ // TODO Auto-generated method stub
+
+ }
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|