Revision: 6678
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6678&view=rev
Author: gerdwagner
Date: 2012-10-07 16:53:59 +0000 (Sun, 07 Oct 2012)
Log Message:
-----------
Overview tab:
- Allows to adjust the maximum number of intervals
- Traces drill downs by coloring clicked buttons
Modified Paths:
--------------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigController.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigPanel.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartHandler.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewCtrl.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewHolder.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewPanel.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/DataScaleListener.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleTableModel.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
Added Paths:
-----------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigListener.java
Removed Paths:
-------------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartBarConfigButtonHandlerListener.java
Deleted: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartBarConfigButtonHandlerListener.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartBarConfigButtonHandlerListener.java 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartBarConfigButtonHandlerListener.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -1,6 +0,0 @@
-package net.sourceforge.squirrel_sql.client.session.mainpanel.overview;
-
-public interface ChartBarConfigButtonHandlerListener
-{
- void modeSelected(ChartConfigMode mode);
-}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigController.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigController.java 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigController.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -19,7 +19,7 @@
private ChartConfigPanel _chartConfigPanel;
private final ChartConfigPanelTabController[] _chartConfigPanelTabControllers;
- public ChartConfigController(IApplication app)
+ public ChartConfigController(IApplication app, ChartConfigListener chartConfigListener)
{
_chartConfigPanelTabControllers = new ChartConfigPanelTabController[]
@@ -37,7 +37,7 @@
chartConfigPanelTabs.add(chartConfigPanelTabController.getPanel());
}
- _chartConfigPanel = new ChartConfigPanel(chartConfigPanelTabs);
+ _chartConfigPanel = new ChartConfigPanel(chartConfigPanelTabs, chartConfigListener);
}
Added: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigListener.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigListener.java (rev 0)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigListener.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -0,0 +1,6 @@
+package net.sourceforge.squirrel_sql.client.session.mainpanel.overview;
+
+public interface ChartConfigListener
+{
+ void closeSplit();
+}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigPanel.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigPanel.java 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartConfigPanel.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -6,24 +6,58 @@
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
import java.util.ArrayList;
public class ChartConfigPanel extends JScrollPane
{
- private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(ChartConfigController.class);
+ private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(ChartConfigPanel.class);
- public ChartConfigPanel(ArrayList<ChartConfigPanelTab> chartConfigPanelTabs)
+ public ChartConfigPanel(ArrayList<ChartConfigPanelTab> chartConfigPanelTabs, ChartConfigListener chartConfigListener)
{
JTabbedPane tabbedPane = UIFactory.getInstance().createTabbedPane();
for (ChartConfigPanelTab chartConfigPanelTab : chartConfigPanelTabs)
{
- tabbedPane.add(chartConfigPanelTab.getTabTitle(), chartConfigPanelTab);
+ tabbedPane.add(chartConfigPanelTab.getTabTitle(), createTabPanel(chartConfigPanelTab, chartConfigListener));
}
setViewportView(tabbedPane);
}
+ private JPanel createTabPanel(ChartConfigPanelTab chartConfigPanelTab, ChartConfigListener chartConfigListener)
+ {
+ JPanel ret = new JPanel(new BorderLayout());
+
+ ret.add(createCloseButtonPanel(chartConfigListener), BorderLayout.NORTH);
+ ret.add(chartConfigPanelTab, BorderLayout.CENTER);
+
+
+ return ret;
+ }
+
+ private JPanel createCloseButtonPanel(final ChartConfigListener chartConfigListener)
+ {
+ JPanel ret = new JPanel(new BorderLayout());
+
+ JButton btnClose = new JButton(s_stringMgr.getString("overview.ChartConfigPanel.close"));
+ ret.add(btnClose, BorderLayout.WEST);
+ ret.add(new JPanel(), BorderLayout.CENTER);
+
+ btnClose.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ chartConfigListener.closeSplit();
+ }
+ });
+
+ return ret;
+ }
+
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartHandler.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartHandler.java 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/ChartHandler.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -45,7 +45,7 @@
DataScaleListener dumDataScaleListener = new DataScaleListener()
{
@Override
- public void intervalSelected(Interval interval)
+ public void intervalSelected(Interval interval, JButton intervalButtonClicked)
{
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewCtrl.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewCtrl.java 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewCtrl.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -16,8 +16,7 @@
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.awt.event.*;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
@@ -36,13 +35,24 @@
private static final String PREF_KEY_CHART_PANEL_SPLIT = "Squirrel.overview.chartPanel.splitloc";
private ChartConfigController _chartConfigController;
+ private List<Object[]> _currentRows;
+
public OverviewCtrl(final ISession session)
{
_session = session;
_app = session.getApplication();
- _chartConfigController = new ChartConfigController(_app);
+ ChartConfigListener chartConfigListener = new ChartConfigListener()
+ {
+ @Override
+ public void closeSplit()
+ {
+ _overviewPanel.btnCreateBarChart.doClick();
+ }
+ };
+ _chartConfigController = new ChartConfigController(_app, chartConfigListener);
+
_overviewPanel = new OverviewPanel(_app.getResources(), _chartConfigController.getPanel());
_overviewPanel.btnNext.addActionListener(new ActionListener()
@@ -82,6 +92,17 @@
}
});
+ CallDepthComboModel[] depthComboModels = CallDepthComboModel.createModels();
+ _overviewPanel.cboCallDepth.setModel(new DefaultComboBoxModel(depthComboModels));
+ _overviewPanel.cboCallDepth.setSelectedItem(depthComboModels[0]);
+ _overviewPanel.cboCallDepth.addItemListener(new ItemListener()
+ {
+ @Override
+ public void itemStateChanged(ItemEvent e)
+ {
+ onCallDepthSelected(e);
+ }
+ });
_overviewPanel.btnReport.addActionListener(new ActionListener()
{
@@ -102,18 +123,54 @@
}
});
+ _overviewPanel.split.addComponentListener(new ComponentAdapter()
+ {
+ @Override
+ public void componentResized(ComponentEvent e)
+ {
+ adjustHiddenSpiltLocationOnResize();
+ }
+ });
+
}
+ private void adjustHiddenSpiltLocationOnResize()
+ {
+ if(false == _overviewPanel.btnCreateBarChart.isSelected())
+ {
+ _overviewPanel.split.setDividerLocation(Integer.MAX_VALUE);
+ }
+ }
+
+ private void onCallDepthSelected(ItemEvent itemEvent)
+ {
+ if(ItemEvent.DESELECTED ==itemEvent.getStateChange())
+ {
+ return;
+ }
+
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ initScales(_overviewHolder.getDataScaleTable().getAllRows(), _overviewHolder.getDataScaleTable().getColumnDisplayDefinitions(), true);
+ }
+ });
+
+ }
+
private void onCreateBarChart()
{
if(_overviewPanel.btnCreateBarChart.isSelected())
{
_overviewPanel.split.setDividerSize(_overviewPanel.standardDividerSize);
- _overviewPanel.split.setDividerLocation(Preferences.userRoot().getInt(PREF_KEY_CHART_PANEL_SPLIT, 400));
+ int distToRight = Preferences.userRoot().getInt(PREF_KEY_CHART_PANEL_SPLIT, Math.max(0, _overviewPanel.split.getWidth() - _chartConfigController.getPanel().getPreferredSize().width));
+ _overviewPanel.split.setDividerLocation(_overviewPanel.split.getWidth() - distToRight);
}
else
{
- Preferences.userRoot().putInt(PREF_KEY_CHART_PANEL_SPLIT, _overviewPanel.split.getDividerLocation());
+ int distToRight = _overviewPanel.split.getWidth() - _overviewPanel.split.getDividerLocation();
+ Preferences.userRoot().putInt(PREF_KEY_CHART_PANEL_SPLIT, distToRight);
_overviewPanel.split.setDividerSize(0);
_overviewPanel.split.setDividerLocation(Integer.MAX_VALUE);
@@ -255,7 +312,7 @@
public String getTitle()
{
- return s_stringMgr.getString("OverwiewCtrl.title");
+ return s_stringMgr.getString("OverwiewCtrl.title_new");
}
public Component getPanel()
@@ -274,24 +331,27 @@
DataSetDefinition dataSetDefinition = rsds.getDataSetDefinition();
ColumnDisplayDefinition[] columnDefinitions = dataSetDefinition.getColumnDefinitions();
- initScales(rows, columnDefinitions);
+ initScales(rows, columnDefinitions, false);
}
- private void onIntervalSelected(Interval interval, ColumnDisplayDefinition[] columnDefinitions)
+ private void onIntervalSelected(Interval interval, ColumnDisplayDefinition[] columnDefinitions, JButton intervalButtonClicked)
{
if (false == interval.containsAllRows())
{
+ _overviewHolder.doClickTracing(intervalButtonClicked);
+
List<Object[]> rows = interval.getResultRows();
- initScales(rows, columnDefinitions);
+ initScales(rows, columnDefinitions, false);
}
}
- private void initScales(List<Object[]> rows, final ColumnDisplayDefinition[] columnDefinitions)
+ private void initScales(List<Object[]> rows, final ColumnDisplayDefinition[] columnDefinitions, boolean keepFormerParent)
{
+ _currentRows = rows;
if(0 == rows.size())
{
- initScaleTable(new DataScale[0], rows, columnDefinitions);
+ initScaleTable(new DataScale[0], rows, columnDefinitions, keepFormerParent);
return;
}
@@ -301,9 +361,9 @@
DataScaleListener dataScaleListener = new DataScaleListener()
{
@Override
- public void intervalSelected(Interval interval)
+ public void intervalSelected(Interval interval, JButton intervalButtonClicked)
{
- onIntervalSelected(interval, columnDefinitions);
+ onIntervalSelected(interval, columnDefinitions, intervalButtonClicked);
}
@Override
@@ -320,15 +380,16 @@
};
+ CallDepthComboModel selectedCallDepth = (CallDepthComboModel) _overviewPanel.cboCallDepth.getSelectedItem();
for (int i = 0; i < columnDefinitions.length; i++)
{
- scales[i] = new ScaleFactory(rows, i, columnDefinitions[i]).createScale(dataScaleListener);
+ scales[i] = new ScaleFactory(rows, i, columnDefinitions[i], selectedCallDepth.getCallDepth()).createScale(dataScaleListener);
}
- initScaleTable(scales, rows, columnDefinitions);
+ initScaleTable(scales, rows, columnDefinitions, keepFormerParent);
}
- private void initScaleTable(DataScale[] scales, List<Object[]> rows, ColumnDisplayDefinition[] columnDefinitions)
+ private void initScaleTable(DataScale[] scales, List<Object[]> rows, ColumnDisplayDefinition[] columnDefinitions, boolean keepFormerParent)
{
DataScaleTableModel dataScaleTableModel = new DataScaleTableModel(scales);
DataScaleTable dataScaleTable = new DataScaleTable(dataScaleTableModel, rows, columnDefinitions);
@@ -351,7 +412,7 @@
tcm.addColumn(col);
}
- _overviewHolder.setOverview(dataScaleTable);
+ _overviewHolder.setOverview(dataScaleTable, keepFormerParent);
initGui();
}
@@ -373,6 +434,7 @@
_overviewPanel.btnReport.setEnabled(true);
_chartConfigController.setDataScaleTable(_overviewHolder.getDataScaleTable());
_overviewPanel.btnCreateBarChart.setEnabled(true);
+ _overviewPanel.cboCallDepth.setEnabled(true);
}
else
@@ -383,6 +445,8 @@
_overviewPanel.btnCreateBarChart.doClick();
}
_overviewPanel.btnCreateBarChart.setEnabled(false);
+ _overviewPanel.cboCallDepth.setEnabled(false);
+
}
}
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewHolder.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewHolder.java 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewHolder.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -1,8 +1,10 @@
package net.sourceforge.squirrel_sql.client.session.mainpanel.overview;
+import net.sourceforge.squirrel_sql.client.session.mainpanel.overview.datascale.DataScale;
import net.sourceforge.squirrel_sql.client.session.mainpanel.overview.datascale.DataScaleTable;
import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetViewerTablePanel;
+import javax.swing.*;
import java.awt.*;
public class OverviewHolder
@@ -20,12 +22,27 @@
return null == _dataScaleTable && null == _simpleTable;
}
- public void setOverview(DataScaleTable dataScaleTable)
+ public void setOverview(DataScaleTable dataScaleTable, boolean keepFormerRelations)
{
if(null != _dataScaleTable)
{
- dataScaleTable.setParentScaleTable(_dataScaleTable);
+ if (keepFormerRelations)
+ {
+ if (null != _dataScaleTable.getParentScaleTable())
+ {
+ dataScaleTable.setParentScaleTable(_dataScaleTable.getParentScaleTable());
+ }
+
+ if (null != _dataScaleTable.getKidScaleTable())
+ {
+ dataScaleTable.setKidScaleTable(_dataScaleTable.getKidScaleTable());
+ }
+ }
+ else
+ {
+ dataScaleTable.setParentScaleTable(_dataScaleTable);
+ }
}
_dataScaleTable = dataScaleTable;
@@ -126,7 +143,16 @@
return null != _dataScaleTable;
}
+ public void doClickTracing(JButton intervalButtonClicked)
+ {
+ for (int i = 0; i < _dataScaleTable.getDataScaleTableModel().getDataScaleCount(); i++)
+ {
+ DataScale dataScale = _dataScaleTable.getDataScaleTableModel().getDataScaleAt(i);
+ dataScale.initButtonColor(intervalButtonClicked);
+ }
+ }
+
private static class SimpleTable
{
private DataScaleTable _parent;
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewPanel.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewPanel.java 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/OverviewPanel.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -7,9 +7,6 @@
import javax.swing.*;
import java.awt.*;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
-import java.awt.event.ComponentListener;
public class OverviewPanel extends JPanel
{
@@ -24,6 +21,8 @@
JButton btnShowInTableWin;
JButton btnShowInTable;
+ JComboBox cboCallDepth;
+
JButton btnReport;
JSplitPane split;
@@ -82,23 +81,42 @@
btnShowInTableWin.setToolTipText(s_stringMgr.getString("OverwiewPanel.showTableInWinToolTip"));
ret.add(btnShowInTableWin, gbc);
- gbc = new GridBagConstraints(4,0,1,1,0,0,GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0,10,0,0),0,0);
+ gbc = new GridBagConstraints(4,0,1,1,0,0,GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0,15,0,5),0,0);
+ ret.add(createMaxIntervalCountPanel(rsrc), gbc);
+
+ gbc = new GridBagConstraints(5,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);
+ gbc = new GridBagConstraints(6,0,1,1,1,1,GridBagConstraints.NORTHEAST, GridBagConstraints.HORIZONTAL, new Insets(5,5,5,5),0,0);
ret.add(new JPanel(), gbc);
- gbc = new GridBagConstraints(6,0,1,1,0,0,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0,15,0,0),0,0);
+ gbc = new GridBagConstraints(7,0,1,1,0,0,GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0,15,0,0),0,0);
btnCreateBarChart = new JToggleButton(s_stringMgr.getString("OverwiewPanel.createBarChart"));
ret.add(btnCreateBarChart, gbc);
return ret;
}
+ private JPanel createMaxIntervalCountPanel(SquirrelResources rsrc)
+ {
+ JPanel ret = new JPanel(new GridBagLayout());
+
+ GridBagConstraints gbc;
+
+ gbc = new GridBagConstraints(0,0,1,1,0,0,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0,0,0,5),0,0);
+ ret.add(new JLabel(s_stringMgr.getString("OverwiewPanel.maxIntervalCount")), gbc);
+
+ gbc = new GridBagConstraints(1,0,1,1,0,0,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0,0,0,5),0,0);
+ cboCallDepth = new JComboBox();
+ ret.add(cboCallDepth, gbc);
+
+ return ret;
+ }
+
public void setTable(DataScaleTable dataScaleTable)
{
scrollPane.setViewportView(dataScaleTable);
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-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScale.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -19,6 +19,7 @@
private int _columnIndex;
private ColumnDisplayDefinition _columnDisplayDefinition;
private HashMap<JButton, Interval> _intervalByButton = new HashMap<JButton, Interval>();
+ private Color _defaultButtonBackgroundColor;
public DataScale(String column, DataScaleListener dataScaleListener, int columnIndex, ColumnDisplayDefinition columnDisplayDefinition)
{
@@ -68,6 +69,8 @@
final String text = _intervals.get(intervalIx).getLabel();
final JButton ret = new JButton(text);
+
+ _defaultButtonBackgroundColor = ret.getBackground();
ret.setToolTipText(_intervals.get(intervalIx).getToolTip());
ret.setBorder(BorderFactory.createLineBorder(Color.black));
@@ -77,7 +80,7 @@
@Override
public void actionPerformed(ActionEvent e)
{
- onButtonPressed(_intervals.get(intervalIx));
+ onButtonPressed(_intervals.get(intervalIx), ret);
}
});
@@ -86,9 +89,9 @@
return ret;
}
- private void onButtonPressed(Interval interval)
+ private void onButtonPressed(Interval interval, JButton ret)
{
- _dataScaleListener.intervalSelected(interval);
+ _dataScaleListener.intervalSelected(interval, ret);
}
@@ -178,4 +181,19 @@
{
return _intervals.get(0).getIndexedColumn();
}
+
+ public void initButtonColor(JButton intervalButtonClicked)
+ {
+ for (JButton btn : getButtons())
+ {
+ if(btn == intervalButtonClicked)
+ {
+ btn.setBackground(Color.yellow);
+ }
+ else
+ {
+ btn.setBackground(_defaultButtonBackgroundColor);
+ }
+ }
+ }
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleListener.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleListener.java 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleListener.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -1,8 +1,10 @@
package net.sourceforge.squirrel_sql.client.session.mainpanel.overview.datascale;
+import javax.swing.*;
+
public interface DataScaleListener
{
- void intervalSelected(Interval interval);
+ void intervalSelected(Interval interval, JButton intervalButtonClicked);
void showInTableWin(Interval interval);
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleTableModel.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleTableModel.java 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/datascale/DataScaleTableModel.java 2012-10-07 16:53:59 UTC (rev 6678)
@@ -65,4 +65,8 @@
return _dataScales[row];
}
+ public int getDataScaleCount()
+ {
+ return _dataScales.length;
+ }
}
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-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/mainpanel/overview/I18NStrings.properties 2012-10-07 16:53:59 UTC (rev 6678)
@@ -1,4 +1,5 @@
OverwiewCtrl.title=Overview
+OverwiewCtrl.title_new=Overview / Charts
OverwiewPanel.prevOverview=Previous overview
OverwiewPanel.nextOverview=Next overview
@@ -25,6 +26,9 @@
OverviewPanel.XAxis=X axis:
OverviewPanel.showChartEndButton=Open chart window ...
+OverwiewPanel.maxIntervalCount=max. intervals:
+
+
OverviewPanel.maxBarCount=max. bar count:
@@ -55,3 +59,5 @@
overview.ChartConfigMode.modusMinAxisLabel=Min of column {0}
overview.ChartConfigMode.modusMaxAxisLabel=Max of column {0}
overview.ChartConfigMode.modusCountDistinctAxisLabel=Count distinct of column {0}
+
+overview.ChartConfigPanel.close=Close
\ No newline at end of file
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2012-10-06 21:01:09 UTC (rev 6677)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2012-10-07 16:53:59 UTC (rev 6678)
@@ -10,10 +10,12 @@
Cristiano Guadagnino contributed all of the SQL required for the DB2Plugin to properly support the DB2 z/OS
platform. Many thanks to Cristiano Guadagnino.
-
-Overview tab: Now offers functionality to view query result data in bar charts. (Uses JFreeChart: http://www.jfree.org/jfreechart/)
-Overview tab: Now has a button to copy a HTML-report of an overview to clipboard
+Overview tab:
+ - Allows to adjust the maximum number of intervals
+ - Traces drill downs by coloring clicked buttons
+ - Offers functionality to view query result data in bar charts. (Uses JFreeChart: http://www.jfree.org/jfreechart/)
+ - 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.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|