Revision: 5900
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=5900&view=rev
Author: gerdwagner
Date: 2010-09-24 23:33:45 +0000 (Fri, 24 Sep 2010)
Log Message:
-----------
Introduced a new general data type property 'Use column labels instead of column names in result headers'.
See Global Preferences --> Tab 'Data Type Controls'. Will be useful e.g. for MySQL if Aliases are used in Select clauses.
Modified Paths:
--------------
trunk/sql12/doc/src/main/resources/changes.txt
trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerTablePanel.java
trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerTextPanel.java
trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/CellComponentFactory.java
trunk/sql12/fw/src/main/resources/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/I18NStrings.properties
Added Paths:
-----------
trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/DataTypeGeneral.java
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2010-09-19 21:44:43 UTC (rev 5899)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2010-09-24 23:33:45 UTC (rev 5900)
@@ -6,6 +6,9 @@
Enhancements:
+Introduced a new general data type property 'Use column labels instead of column names in result headers'.
+See Global Preferences --> Tab 'Data Type Controls'. Will be useful e.g. for MySQL if Aliases are used in Select clauses.
+
Session Property: "Keep SQL result table layout on rerun SQL"
If this option is checked the layout of the table of a SQL result is tried to be restored after rerunning the SQL.
Note: You rerun an SQL statement when you click the running man button on the upper left of a SQL result.
Modified: trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerTablePanel.java
===================================================================
--- trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerTablePanel.java 2010-09-19 21:44:43 UTC (rev 5899)
+++ trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerTablePanel.java 2010-09-24 23:33:45 UTC (rev 5900)
@@ -43,6 +43,7 @@
import javax.swing.table.TableColumnModel;
import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.CellComponentFactory;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DataTypeGeneral;
import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.RestorableJTextField;
import net.sourceforge.squirrel_sql.fw.gui.ButtonTableHeader;
import net.sourceforge.squirrel_sql.fw.gui.SortableTableModel;
@@ -448,7 +449,18 @@
ExtTableColumn col = new ExtTableColumn(i, colWidth,
CellComponentFactory.getTableCellRenderer(colDefs[i]), null);
- col.setHeaderValue(colDef.getColumnName());
+
+ String headerValue;
+ if (DataTypeGeneral.isUseColumnLabelInsteadColumnName())
+ {
+ headerValue = colDef.getLabel();
+ }
+ else
+ {
+ headerValue = colDef.getColumnName();
+ }
+
+ col.setHeaderValue(headerValue);
col.setColumnDisplayDefinition(colDef);
cm.addColumn(col);
}
Modified: trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerTextPanel.java
===================================================================
--- trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerTextPanel.java 2010-09-19 21:44:43 UTC (rev 5899)
+++ trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerTextPanel.java 2010-09-24 23:33:45 UTC (rev 5900)
@@ -26,6 +26,7 @@
import javax.swing.JTextArea;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DataTypeGeneral;
import net.sourceforge.squirrel_sql.fw.gui.TextPopupMenu;
import net.sourceforge.squirrel_sql.fw.gui.action.BaseAction;
import net.sourceforge.squirrel_sql.fw.gui.action.MakeEditableCommand;
@@ -72,7 +73,17 @@
StringBuffer buf = new StringBuffer();
for (int i = 0; i < colDefs.length; ++i)
{
- buf.append(format(colDefs[i].getColumnName(), colDefs[i].getDisplayWidth(), ' '));
+ String headerValue;
+ if (DataTypeGeneral.isUseColumnLabelInsteadColumnName())
+ {
+ headerValue = colDefs[i].getLabel();
+ }
+ else
+ {
+ headerValue = colDefs[i].getColumnName();
+ }
+
+ buf.append(format(headerValue, colDefs[i].getDisplayWidth(), ' '));
}
addLine(buf.toString());
buf = new StringBuffer();
Modified: trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/CellComponentFactory.java
===================================================================
--- trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/CellComponentFactory.java 2010-09-19 21:44:43 UTC (rev 5899)
+++ trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/CellComponentFactory.java 2010-09-24 23:33:45 UTC (rev 5900)
@@ -778,6 +778,7 @@
* be local to this directory.
*/
String [] initialClassNameList = {
+ net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DataTypeGeneral.class.getName(),
net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DataTypeBlob.class.getName(),
net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DataTypeClob.class.getName(),
net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent.DataTypeString.class.getName(),
Added: trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/DataTypeGeneral.java
===================================================================
--- trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/DataTypeGeneral.java (rev 0)
+++ trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/DataTypeGeneral.java 2010-09-24 23:33:45 UTC (rev 5900)
@@ -0,0 +1,90 @@
+package net.sourceforge.squirrel_sql.fw.datasetviewer.cellcomponent;
+
+import net.sourceforge.squirrel_sql.fw.gui.OkJPanel;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+
+import javax.swing.*;
+import java.awt.*;
+
+public class DataTypeGeneral
+{
+ public static final String USE_COLUMN_LABEL_INSTEAD_COLUMN_NAME = "useColumnLabelInsteadColumnName";
+
+ private static final StringManager s_stringMgr =
+ StringManagerFactory.getStringManager(DataTypeGeneral.class);
+
+
+ private static boolean propertiesAlreadyLoaded = false;
+ private static boolean _useColumnLabelInsteadColumnName = false;
+
+ public static OkJPanel getControlPanel()
+ {
+ loadProperties();
+ return new GeneralOkJPanel();
+ }
+
+ public static boolean isUseColumnLabelInsteadColumnName()
+ {
+ loadProperties();
+ return _useColumnLabelInsteadColumnName;
+ }
+
+ private static void loadProperties()
+ {
+
+ if (propertiesAlreadyLoaded == false)
+ {
+ String useColumnLabelInsteadColumnName =
+ DTProperties.get(DataTypeGeneral.class.getName(), USE_COLUMN_LABEL_INSTEAD_COLUMN_NAME);
+
+ if (useColumnLabelInsteadColumnName != null && useColumnLabelInsteadColumnName.equals("true"))
+ {
+ _useColumnLabelInsteadColumnName = true;
+ }
+
+ propertiesAlreadyLoaded = true;
+ }
+ }
+
+ private static class GeneralOkJPanel extends OkJPanel
+ {
+ private JCheckBox _chkUseColumnLabelInsteadColumnName =
+ new JCheckBox(s_stringMgr.getString("dataTypeBlob.useColumnLabelInsteadColumnName"));
+
+
+ public GeneralOkJPanel()
+ {
+ _chkUseColumnLabelInsteadColumnName.setSelected(DataTypeGeneral._useColumnLabelInsteadColumnName);
+
+ setLayout(new GridBagLayout());
+ setBorder(BorderFactory.createTitledBorder(s_stringMgr.getString("dataTypeGeneral.generalType")));
+ final GridBagConstraints gbc = new GridBagConstraints();
+ gbc.fill = GridBagConstraints.HORIZONTAL;
+ gbc.insets = new Insets(4, 4, 4, 4);
+ gbc.anchor = GridBagConstraints.WEST;
+
+ gbc.gridx = 0;
+ gbc.gridy = 0;
+
+ gbc.gridwidth = 1;
+ add(_chkUseColumnLabelInsteadColumnName, gbc);
+
+ }
+
+
+ /**
+ * User has clicked OK in the surrounding JPanel,
+ * so save the current state of all variables
+ */
+ public void ok()
+ {
+ // get the values from the controls and set them in the static properties
+ _useColumnLabelInsteadColumnName = _chkUseColumnLabelInsteadColumnName.isSelected();
+ DTProperties.put(
+ DataTypeGeneral.class.getName(),
+ USE_COLUMN_LABEL_INSTEAD_COLUMN_NAME, Boolean.valueOf(_useColumnLabelInsteadColumnName).toString());
+ }
+
+ }
+}
Modified: trunk/sql12/fw/src/main/resources/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/I18NStrings.properties
===================================================================
--- trunk/sql12/fw/src/main/resources/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/I18NStrings.properties 2010-09-19 21:44:43 UTC (rev 5899)
+++ trunk/sql12/fw/src/main/resources/net/sourceforge/squirrel_sql/fw/datasetviewer/cellcomponent/I18NStrings.properties 2010-09-24 23:33:45 UTC (rev 5900)
@@ -63,4 +63,7 @@
floatingPointBase.typeBigDecimal=FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL (SQL types 6, 7, 8, 2, 3)
floatingPointBase.useDefaultFormat=Use default format ({0})
-floatingPointBase.uselocaleDependendFormat=Use locale-dependent format: {0}
\ No newline at end of file
+floatingPointBase.uselocaleDependendFormat=Use locale-dependent format: {0}
+dataTypeBlob.useColumnLabelInsteadColumnName=Use column labels instead of column names in result headers
+
+dataTypeGeneral.generalType=General (applies to all types)
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|