Revision: 6306
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6306&view=rev
Author: gerdwagner
Date: 2011-06-16 20:58:35 +0000 (Thu, 16 Jun 2011)
Log Message:
-----------
Query Builder clean up
Modified Paths:
--------------
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ColumnInfoModel.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryTextArea.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrame.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrameController.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFramesModelChangeType.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryBuilderController.java
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.properties
Added Paths:
-----------
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/SortColumnsListener.java
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ColumnInfoModel.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ColumnInfoModel.java 2011-06-12 19:50:06 UTC (rev 6305)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ColumnInfoModel.java 2011-06-16 20:58:35 UTC (rev 6306)
@@ -81,7 +81,7 @@
colInfo.getQueryData().setInSelectClause(b);
}
- fireChanged(TableFramesModelChangeType.COLUMN_SELECT);
+ fireChanged(TableFramesModelChangeType.COLUMN_SELECT_ALL);
}
@@ -92,7 +92,7 @@
colInfo.getQueryData().clearFilter();
}
- fireChanged(TableFramesModelChangeType.COLUMN_WHERE);
+ fireChanged(TableFramesModelChangeType.COLUMN_WHERE_ALL);
}
private void fireChanged(TableFramesModelChangeType changeType)
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.java 2011-06-12 19:50:06 UTC (rev 6305)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.java 2011-06-16 20:58:35 UTC (rev 6306)
@@ -12,6 +12,8 @@
public interface IKeys
{
+ String TABLE_FRAME_CLOSE = "TableFrameClose";
+
String PRINT_IMAGE = "Print";
String SAVE_IMAGES_TO_FILE = "SaveImagesToFile";
String FILTER = "Filter";
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryTextArea.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryTextArea.java 2011-06-12 19:50:06 UTC (rev 6305)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryTextArea.java 2011-06-16 20:58:35 UTC (rev 6306)
@@ -44,7 +44,7 @@
@Override
public void columnInfosChanged(TableFramesModelChangeType changeType)
{
- if (TableFramesModelChangeType.COLUMN_SORTING == changeType)
+ if (TableFramesModelChangeType.COLUMN_SORTING == changeType || TableFramesModelChangeType.COLUMN_SELECT_ALL == changeType || TableFramesModelChangeType.COLUMN_WHERE_ALL == changeType)
{
initColumnInfos();
}
Added: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/SortColumnsListener.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/SortColumnsListener.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/SortColumnsListener.java 2011-06-16 20:58:35 UTC (rev 6306)
@@ -0,0 +1,8 @@
+package net.sourceforge.squirrel_sql.plugins.graph;
+
+import javax.swing.*;
+
+public interface SortColumnsListener
+{
+ void sortButtonClicked(JButton sortButton);
+}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrame.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrame.java 2011-06-12 19:50:06 UTC (rev 6305)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrame.java 2011-06-16 20:58:35 UTC (rev 6306)
@@ -9,16 +9,12 @@
import java.awt.Graphics2D;
import java.awt.LayoutManager;
import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.geom.AffineTransform;
-import java.net.URL;
-import javax.swing.ImageIcon;
-import javax.swing.JComponent;
-import javax.swing.JInternalFrame;
-import javax.swing.JMenuBar;
-import javax.swing.JScrollPane;
+import javax.swing.*;
import javax.swing.border.LineBorder;
import javax.swing.plaf.basic.BasicInternalFrameTitlePane;
import javax.swing.plaf.basic.BasicInternalFrameUI;
@@ -33,14 +29,18 @@
GraphTextAreaFactory txtColumsFactory;
JScrollPane scrollPane;
private MyUI _myUI;
+ private GraphPlugin _plugin;
private ModeManager _modeManager;
+ private SortColumnsListener _sortColumnsListener;
private ModeManagerListener _modeManagerListener;
private ZoomerListener _zoomerListener;
- public TableFrame(ISession session, GraphPlugin plugin, String tableName, TableFrameXmlBean xmlBean, TableToolTipProvider toolTipProvider, ModeManager modeManager, DndCallback dndCallback)
+ public TableFrame(ISession session, GraphPlugin plugin, String tableName, TableFrameXmlBean xmlBean, TableToolTipProvider toolTipProvider, ModeManager modeManager, DndCallback dndCallback, SortColumnsListener sortColumnsListener)
{
+ _plugin = plugin;
_modeManager = modeManager;
+ _sortColumnsListener = sortColumnsListener;
scrollPane = new JScrollPane();
scrollPane.setBorder(null);
@@ -48,8 +48,7 @@
getContentPane().add(scrollPane);
setMaximizable(false);
- setClosable(true);
- setIconifiable(false);
+ setTitleBarIconsVisible(true);
setTitle(tableName);
setBackground(new Color(255,255,204));
@@ -75,7 +74,8 @@
r.width = (int)(zoom*xmlBean.getWidht() + 0.5);
r.height = (int)(zoom*xmlBean.getHeight() + 0.5);
setBounds(r);
- setClosable(Mode.ZOOM_PRINT != _modeManager.getMode());
+
+ setTitleBarIconsVisible(Mode.ZOOM_PRINT != _modeManager.getMode());
}
_zoomerListener = new ZoomerListener()
@@ -102,6 +102,14 @@
setBorder(new LineBorder(Color.BLACK));
}
+ private void setTitleBarIconsVisible(boolean visible)
+ {
+ setClosable(visible);
+
+ // Iconify is abused for sort
+ setIconifiable(visible);
+ }
+
public void setVisible(boolean b)
{
if (null != _modeManager)
@@ -128,7 +136,7 @@
private void onModeChanged(Mode newMode)
{
scrollPane.setViewportView(txtColumsFactory.getComponent(_modeManager.getMode()));
- setClosable(Mode.ZOOM_PRINT != newMode);
+ setTitleBarIconsVisible(Mode.ZOOM_PRINT != newMode);
}
public TableFrame.MyTitlePaneUI getTitlePane()
@@ -225,8 +233,15 @@
protected void installDefaults()
{
super.installDefaults();
- URL resource = TableFrame.class.getResource("/net/sourceforge/squirrel_sql/plugins/graph/images/win_bigclose-rollover.gif");
- closeIcon = new ImageIcon(resource);
+
+
+ GraphPluginResources rsc = new GraphPluginResources(_plugin);
+
+ closeIcon = rsc.getIcon(GraphPluginResources.IKeys.TABLE_FRAME_CLOSE);
+
+ // Iconify is abused for sort
+ iconIcon = rsc.getIcon(GraphPluginResources.IKeys.SORT_NONE);
+
groupTitleColor = new Color(200,200,240);
selectedTitleColor = new Color(255,255,220);
notSelectedTitleColor = new Color(255,255,220);
@@ -235,6 +250,22 @@
setFont(new Font(getFont().getFontName(), Font.BOLD, getFont().getSize()));
}
+ @Override
+ protected void createActions()
+ {
+ super.createActions();
+
+ // Iconify is abused for sort
+ iconifyAction = new AbstractAction()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ _sortColumnsListener.sortButtonClicked(iconButton);
+ }
+ };
+ }
+
protected void paintTitleBackground(Graphics g)
{
if (((GraphDesktopPane) frame.getDesktopPane()).isGroupFrame(TableFrame.this))
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrameController.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrameController.java 2011-06-12 19:50:06 UTC (rev 6305)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrameController.java 2011-06-16 20:58:35 UTC (rev 6306)
@@ -67,7 +67,6 @@
private Vector<ColumnSortListener> _mySortListeners =
new Vector<ColumnSortListener>();
- private JPopupMenu _popUp;
private JMenuItem _mnuAddTableForForeignKey;
private JMenuItem _mnuAddChildTables;
private JMenuItem _mnuAddParentTables;
@@ -129,7 +128,7 @@
_catalog = catalogName;
_schema = schemaName;
_tableName = tableName;
- _frame = new TableFrame(_session, plugin, getDisplayName(), null, toolTipProvider, _desktopController.getModeManager(), createDndCallback());
+ _frame = new TableFrame(_session, plugin, getDisplayName(), null, toolTipProvider, _desktopController.getModeManager(), createDndCallback(), createSortColumnsListener());
initFromDB();
@@ -140,7 +139,7 @@
_catalog = xmlBean.getCatalog();
_schema = xmlBean.getSchema();
_tableName = xmlBean.getTablename();
- _frame = new TableFrame(_session, plugin, getDisplayName(), xmlBean.getTableFrameXmlBean(), toolTipProvider, _desktopController.getModeManager(), createDndCallback());
+ _frame = new TableFrame(_session, plugin, getDisplayName(), xmlBean.getTableFrameXmlBean(), toolTipProvider, _desktopController.getModeManager(), createDndCallback(), createSortColumnsListener());
_columnOrderType = OrderType.getByIx(xmlBean.getColumOrder());
ColumnInfo[] colInfos = new ColumnInfo[xmlBean.getColumnIfoXmlBeans().length];
for (int i = 0; i < colInfos.length; i++)
@@ -210,7 +209,7 @@
}
});
- createPopUp();
+ preparePopUp();
orderColumns();
@@ -262,6 +261,25 @@
}
}
+ private SortColumnsListener createSortColumnsListener()
+ {
+ return new SortColumnsListener()
+ {
+ @Override
+ public void sortButtonClicked(JButton sortButton)
+ {
+ onSortButtonClicked(sortButton);
+ }
+ };
+ }
+
+ private void onSortButtonClicked(JButton sortButton)
+ {
+ JPopupMenu popupMenu = new JPopupMenu();
+ addColumnOrderMenuItems(popupMenu);
+ popupMenu.show(sortButton, 0,0);
+ }
+
private void onTableFramesModelChanged(TableFramesModelChangeType changeType)
{
try
@@ -506,10 +524,8 @@
}
- private void createPopUp()
+ private void preparePopUp()
{
- _popUp = new JPopupMenu();
-
_mnuAddTableForForeignKey = new JMenuItem();
_mnuAddTableForForeignKey.addActionListener(new ActionListener()
{
@@ -686,58 +702,84 @@
}
});
+ _frame.txtColumsFactory.addMouseListener(new MouseAdapter()
+ {
+ @Override
+ public void mousePressed(MouseEvent e)
+ {
+ maybeShowPopup(e, false);
+ }
+ @Override
+ public void mouseReleased(MouseEvent e)
+ {
+ maybeShowPopup(e, false);
+ }
+ });
- _popUp.add(_mnuAddTableForForeignKey);
- _popUp.add(_mnuAddChildTables);
- _popUp.add(_mnuAddParentTables);
- _popUp.add(_mnuAddAllRelatedTables);
- _popUp.add(new JSeparator());
- _popUp.add(_mnuCopyTableName);
- _popUp.add(_mnuCopyQualifiedTableName);
- _popUp.add(new JSeparator());
- _popUp.add(_mnuRefreshTable);
- _popUp.add(_mnuScriptTable);
- _popUp.add(_mnuViewTableInObjectTree);
- _popUp.add(new JSeparator());
-
-
- ButtonGroup bg = new ButtonGroup();
- _popUp.add(_mnuDbOrder);
- bg.add(_mnuDbOrder);
- _popUp.add(_mnuOrderByName);
- bg.add(_mnuOrderByName);
- _popUp.add(_mnuPksAndConstraintsOnTop);
- bg.add(_mnuPksAndConstraintsOnTop);
- _popUp.add(_mnuQueryFiltersAndSelectedOnTop);
- bg.add(_mnuQueryFiltersAndSelectedOnTop);
-
-
- _popUp.add(new JSeparator());
- _popUp.add(_mnuQuerySelectAll);
- _popUp.add(_mnuQueryUnselectAll);
- _popUp.add(_mnuQueryClearAllFilters);
- _popUp.add(new JSeparator());
- _popUp.add(_mnuClose);
-
-
-
- _frame.txtColumsFactory.addMouseListener(new MouseAdapter()
+ _frame.getTitlePane().addMouseListener(new MouseAdapter()
{
+ @Override
public void mousePressed(MouseEvent e)
{
- maybeShowPopup(e);
+ maybeShowPopup(e, true);
}
+ @Override
public void mouseReleased(MouseEvent e)
{
- maybeShowPopup(e);
+ maybeShowPopup(e, true);
}
});
}
+ private JPopupMenu createFramePopup()
+ {
+ JPopupMenu ret = new JPopupMenu();
+ ret.add(_mnuAddTableForForeignKey);
+ ret.add(_mnuAddChildTables);
+ ret.add(_mnuAddParentTables);
+ ret.add(_mnuAddAllRelatedTables);
+ ret.add(new JSeparator());
+ ret.add(_mnuCopyTableName);
+ ret.add(_mnuCopyQualifiedTableName);
+ ret.add(new JSeparator());
+ ret.add(_mnuRefreshTable);
+ ret.add(_mnuScriptTable);
+ ret.add(_mnuViewTableInObjectTree);
+ ret.add(new JSeparator());
+
+
+ addColumnOrderMenuItems(ret);
+
+
+ ret.add(new JSeparator());
+ ret.add(_mnuQuerySelectAll);
+ ret.add(_mnuQueryUnselectAll);
+ ret.add(_mnuQueryClearAllFilters);
+ ret.add(new JSeparator());
+ ret.add(_mnuClose);
+
+ return ret;
+ }
+
+ private void addColumnOrderMenuItems(JPopupMenu popUp)
+ {
+ ButtonGroup bg = new ButtonGroup();
+ popUp.add(_mnuDbOrder);
+ bg.add(_mnuDbOrder);
+ popUp.add(_mnuOrderByName);
+ bg.add(_mnuOrderByName);
+ popUp.add(_mnuPksAndConstraintsOnTop);
+ bg.add(_mnuPksAndConstraintsOnTop);
+ popUp.add(_mnuQueryFiltersAndSelectedOnTop);
+ bg.add(_mnuQueryFiltersAndSelectedOnTop);
+
+ _mnuQueryFiltersAndSelectedOnTop.setEnabled(_desktopController.getModeManager().getMode().isQueryBuilder());
+ }
+
private void onQueryClearAllFilters()
{
@@ -997,12 +1039,18 @@
- private void maybeShowPopup(MouseEvent e)
+ private void maybeShowPopup(MouseEvent e, boolean isOnTitlePane)
{
if (e.isPopupTrigger())
{
- ColumnInfo ci = getColumnInfoForPoint(e.getPoint());
+ ColumnInfo ci =null;
+ if (false == isOnTitlePane)
+ {
+ ci = getColumnInfoForPoint(e.getPoint());
+ }
+
+
if(null == ci || null == ci.getDBImportedTableName())
{
_mnuAddTableForForeignKey.setEnabled(false);
@@ -1017,12 +1065,11 @@
_mnuAddTableForForeignKey.putClientProperty(MNU_PROP_COLUMN_INFO, ci);
}
- _mnuQueryFiltersAndSelectedOnTop.setEnabled(_desktopController.getModeManager().getMode().isQueryBuilder());
_mnuQuerySelectAll.setEnabled(_desktopController.getModeManager().getMode().isQueryBuilder());
_mnuQueryUnselectAll.setEnabled(_desktopController.getModeManager().getMode().isQueryBuilder());
_mnuQueryClearAllFilters.setEnabled(_desktopController.getModeManager().getMode().isQueryBuilder());
- _popUp.show(e.getComponent(), e.getX(), e.getY());
+ createFramePopup().show(e.getComponent(), e.getX(), e.getY());
}
else if(2 == e.getClickCount() && e.getID() == MouseEvent.MOUSE_PRESSED)
{
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFramesModelChangeType.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFramesModelChangeType.java 2011-06-12 19:50:06 UTC (rev 6305)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFramesModelChangeType.java 2011-06-16 20:58:35 UTC (rev 6306)
@@ -8,4 +8,5 @@
COLUMN_WHERE,
COLUMN_SORTING,
ROOT_TABLE,
+ COLUMN_SELECT_ALL, COLUMN_WHERE_ALL,
}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryBuilderController.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryBuilderController.java 2011-06-12 19:50:06 UTC (rev 6305)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/querybuilder/QueryBuilderController.java 2011-06-16 20:58:35 UTC (rev 6306)
@@ -66,7 +66,7 @@
_btnSQL = new JToggleButton(s_stringMgr.getString("QueryBuilderController.SQL"));
_panel.add(_btnSQL, gbc);
- gbc = new GridBagConstraints(2,0,1,1,0,0, GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0,0,0,5),0,0);
+ gbc = new GridBagConstraints(2,0,1,1,0,0, GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0,0,0,20),0,0);
_btnResult = new JToggleButton(s_stringMgr.getString("QueryBuilderController.Result"));
_panel.add(_btnResult, gbc);
Modified: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.properties
===================================================================
--- trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.properties 2011-06-12 19:50:06 UTC (rev 6305)
+++ trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.properties 2011-06-16 20:58:35 UTC (rev 6306)
@@ -7,6 +7,7 @@
########
# Images.
########
+TableFrameClose.image=win_bigclose-rollover.gif
Print.image=print_edit.gif
SaveImagesToFile.image=saveGraphImages.gif
Filter.image=filter.gif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|