Revision: 6661
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6661&view=rev
Author: gerdwagner
Date: 2012-09-25 19:06:16 +0000 (Tue, 25 Sep 2012)
Log Message:
-----------
Overview tab: Now has a button to copy a HTML-report of an overview to clipboard
Modified Paths:
--------------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverwiewCtrl.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverwiewPanel.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScale.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleTable.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/Interval.java
trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/I18NStrings.properties
trunk/sql12/doc/src/main/resources/changes.txt
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverwiewCtrl.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverwiewCtrl.java 2012-09-21 20:24:35 UTC (rev 6660)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverwiewCtrl.java 2012-09-25 19:06:16 UTC (rev 6661)
@@ -14,8 +14,14 @@
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import java.awt.*;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.StringSelection;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.ArrayList;
import java.util.List;
public class OverwiewCtrl
@@ -69,10 +75,70 @@
onShowInTableWin();
}
});
+
+
+ _overwiewPanel.btnReport.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ onReport();
+ }
+ });
}
+ private void onReport()
+ {
+ try
+ {
+ DataScaleTableModel dstm = _overviewHolder.getDataScaleTable().getDataScaleTableModel();
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+
+ pw.println("<html>");
+ pw.println("<body>");
+
+ for( int i = 0; i < dstm.getRowCount(); i++ )
+ {
+
+ DataScale dataScale = dstm.getDataScaleAt(i);
+
+ pw.println("<h1>Column name " + dataScale.getColumn() +":</h1>");
+ pw.println("<table border=\"1\">");
+ pw.println("<tr>");
+
+ ArrayList<String> intervalReports = dataScale.getIntervalReports();
+
+ for( String toolTip : intervalReports )
+ {
+ pw.println("<td>" + toolTip + "</td>");
+ }
+ pw.println("<tr>");
+ pw.println("</table>");
+
+ pw.println();
+ }
+
+ pw.println("</body>");
+ pw.println("</html>");
+ pw.flush();
+ sw.flush();
+ pw.close();
+ sw.close();
+
+ Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
+ StringSelection data = new StringSelection(sw.getBuffer().toString());
+ clip.setContents(data, data);
+ }
+ catch(IOException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+
private void onShowInTableWin()
{
DataSetViewerTablePanel simpleTable = createSimpleTable();
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverwiewPanel.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverwiewPanel.java 2012-09-21 20:24:35 UTC (rev 6660)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverwiewPanel.java 2012-09-25 19:06:16 UTC (rev 6661)
@@ -21,6 +21,9 @@
JButton btnShowInTableWin;
JButton btnShowInTable;
+ JButton btnReport;
+
+
public OverwiewPanel(SquirrelResources rsrc)
{
setLayout(new GridBagLayout());
@@ -59,12 +62,17 @@
btnShowInTable.setToolTipText(s_stringMgr.getString("OverwiewPanel.showInTableToolTip"));
ret.add(btnShowInTable, gbc);
- gbc = new GridBagConstraints(3,0,1,1,0,0,GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0,0,0,0),0,0);
+ gbc = new GridBagConstraints(3,0,1,1,0,0,GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0,0,0,5),0,0);
btnShowInTableWin = new JButton(s_stringMgr.getString("OverwiewPanel.showTableInWin"));
btnShowInTableWin.setToolTipText(s_stringMgr.getString("OverwiewPanel.showTableInWinToolTip"));
ret.add(btnShowInTableWin, gbc);
- gbc = new GridBagConstraints(4,0,1,1,1,1,GridBagConstraints.NORTHEAST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5),0,0);
+ gbc = new GridBagConstraints(4,0,1,1,0,0,GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0,10,0,0),0,0);
+ btnReport = new JButton(s_stringMgr.getString("OverwiewPanel.report"));
+ btnReport.setToolTipText(s_stringMgr.getString("OverwiewPanel.reportToolTip"));
+ ret.add(btnReport, gbc);
+
+ gbc = new GridBagConstraints(5,0,1,1,1,1,GridBagConstraints.NORTHEAST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5),0,0);
ret.add(new JPanel(), gbc);
return ret;
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScale.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScale.java 2012-09-21 20:24:35 UTC (rev 6660)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScale.java 2012-09-25 19:06:16 UTC (rev 6661)
@@ -132,4 +132,16 @@
{
return _intervalByButton.keySet().toArray(new JButton[_intervalByButton.keySet().size()]);
}
+
+ public ArrayList<String> getIntervalReports()
+ {
+ ArrayList<String> ret = new ArrayList<String>();
+
+ for( int i = 0; i < _intervals.size(); i++ )
+ {
+ ret.add(_intervals.get(i).getReport());
+ }
+
+ return ret;
+ }
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleTable.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleTable.java 2012-09-21 20:24:35 UTC (rev 6660)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleTable.java 2012-09-25 19:06:16 UTC (rev 6661)
@@ -70,7 +70,7 @@
}
}
- DataScaleTableModel getDataScaleTableModel()
+ public DataScaleTableModel getDataScaleTableModel()
{
TableModel ret = ((SortableTableModel) getModel()).getActualModel();
@@ -78,7 +78,7 @@
{
ret = ((SortableTableModel)ret).getActualModel();
}
-
+
return (DataScaleTableModel) ret;
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/Interval.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/Interval.java 2012-09-21 20:24:35 UTC (rev 6660)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/Interval.java 2012-09-25 19:06:16 UTC (rev 6661)
@@ -15,6 +15,7 @@
private Object _endData;
private String _label;
private String _tooltip;
+ private String _report;
public Interval(IndexedColumn indexedColumn, int firstIx, int lastIx, Object beginData, Object endData)
{
@@ -40,18 +41,41 @@
_tooltip = "<html>" +
- escapeHtmlChars(_label) + "<br><br>" +
- "row count = " + getLen() + "; percentage = " + 100d * getWight() + "%<br>" +
- "first value = " + escapeHtmlChars(firstValRendered) + "<br>" +
- "last value = " + escapeHtmlChars(lastValRendered) + "<br>" +
- "first index = " + _firstIx + "; last index = " + _lastIx + "<br>" +
- "data interval = " + getIntervalOpeningBracket() + escapeHtmlChars(_indexedColumn.renderObject(beginData)) +
- ", " + escapeHtmlChars(_indexedColumn.renderObject(endData)) + getIntervalClosingBracket() + "<br>" +
- "complete row count = " + _indexedColumn.size() +
- "</html>";
+ escapeHtmlChars(_label) + "<br><br>" +
+ "row count = " + getLen() + "; percentage = " + String.format("%.3f",100d * getWight()) + "%<br>" +
+ "first value = " + escapeHtmlChars(firstValRendered) + "<br>" +
+ "last value = " + escapeHtmlChars(lastValRendered) + "<br>" +
+ "first index = " + _firstIx + "; last index = " + _lastIx + "<br>" +
+ "data interval = " + getIntervalOpeningBracket() + escapeHtmlChars(_indexedColumn.renderObject(beginData)) +
+ ", " + escapeHtmlChars(_indexedColumn.renderObject(endData)) + getIntervalClosingBracket() + "<br>" +
+ "complete row count = " + _indexedColumn.size() +
+ "</html>";
+ _report = "<html>" +
+ //"<table border=\"1\">" +
+ "<table>" +
+ "<tr><th>" +
+ escapeHtmlChars(_label) +
+ "</th></tr>" +
+ "<tr><td>" +
+ //"<table border=\"1\">" +
+ "<table>" +
+ "<tr>" +
+ "<td>row count</td><td>" + getLen() + "</td>" +
+ "</tr>" +
+ "<tr>" +
+ "<td>percentage</td><td>" + String.format("%.3f",100d * getWight()) + "%</td>" +
+ "</tr>" +
+ "<tr>" +
+ "<td>from-to index</td><td>" + _firstIx + " - " + _lastIx + "</td>" +
+ "</tr>" +
+ "</table>" +
+ "</tr></td>" +
+ "</table>" +
+ "</html>";
+
}
private String getIntervalOpeningBracket()
@@ -116,6 +140,11 @@
return _tooltip;
}
+ public String getReport()
+ {
+ return _report;
+ }
+
public List<Object[]> getResultRows()
{
return _indexedColumn.getResultRows(_firstIx, _lastIx);
Modified: trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/I18NStrings.properties
===================================================================
--- trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/I18NStrings.properties 2012-09-21 20:24:35 UTC (rev 6660)
+++ trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/I18NStrings.properties 2012-09-25 19:06:16 UTC (rev 6661)
@@ -15,4 +15,7 @@
OverviewFrame.title=Overview table window
-OverviewFrame.stayOnTop=Stay on top
\ No newline at end of file
+OverviewFrame.stayOnTop=Stay on top
+
+OverwiewPanel.report=Copy report as HTML
+OverwiewPanel.reportToolTip=Copy report of the current Overview as HTML to clipboard
\ No newline at end of file
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2012-09-21 20:24:35 UTC (rev 6660)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2012-09-25 19:06:16 UTC (rev 6661)
@@ -6,6 +6,8 @@
Not yet released, available in our Subversion repository and in future snapshots and releases.
===============================================================================================
+Overview tab: Now has a button to copy a HTML-report of an overview to clipboard
+
Abbreviation/Auto-correction now works also if it is placed right after an opening bracket.
Added new default driver definition for Starschema BigQuery JDBC Driver.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|