Revision: 6204
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6204&view=rev
Author: gerdwagner
Date: 2011-03-21 22:57:54 +0000 (Mon, 21 Mar 2011)
Log Message:
-----------
More Query Builder
Modified Paths:
--------------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/SQLExecuterTask.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/event/ISQLExecutionListener.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/event/SQLExecutionAdapter.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/SQLResultExecuterPanel.java
trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/CellDataPopup.java
trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerEditableTablePanel.java
trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/RowDataInputFrame.java
trunk/sql12/plugins/example/src/main/java/net/sourceforge/squirrel_sql/plugins/example/ExampleSqlExecutionListener.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintIconHandler.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintView.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewsModel.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/GraphQuerySQLPanel.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQuerySQLPanelCtrl.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ModeManager.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryBuilderController.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/sqlgen/SelectClauseGenerator.java
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/I18NStrings.properties
trunk/sql12/plugins/sqlparam/src/main/java/net/sourceforge/squirrel_sql/plugins/sqlparam/SQLParamExecutionListener.java
trunk/sql12/plugins/sqlreplace/src/main/java/net/sourceforge/squirrel_sql/plugins/sqlreplace/SQLReplaceExecutionListener.java
Added Paths:
-----------
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintIconHandlerListener.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanel.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanelCtrl.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/HideDockButtonHandler.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/SyncListener.java
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/images/hidedock.png
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/images/hidedock_sel.png
Removed Paths:
-------------
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewCreator.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanel.java
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/SQLExecuterTask.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/SQLExecuterTask.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/SQLExecuterTask.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -318,10 +318,12 @@
s_log.error("Could not update cache ", t);
}
}
+
+ fireExecutionListenersFinshed();
}
}
- /**
+ /**
* Set the fetchSize Arrtibute for the SQL-Statement;
*/
private void setFetchSize(SessionProperties props)
@@ -560,6 +562,24 @@
});
}
+ private void fireExecutionListenersFinshed()
+ {
+ // This method is called from a thread.
+ // In case listeners update Swing controls we invoke later here.
+ SwingUtilities.invokeLater(new Runnable()
+ {
+ public void run()
+ {
+ for (int i = 0; i < _executionListeners.length; i++)
+ {
+ _executionListeners[i].executionFinished();
+ }
+ }
+ });
+ }
+
+
+
private boolean processResultSet(final ResultSet rs, final SQLExecutionInfo exInfo)
{
if (_stopExecution)
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/event/ISQLExecutionListener.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/event/ISQLExecutionListener.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/event/ISQLExecutionListener.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -50,4 +50,6 @@
*
*/
void statementExecuted(String sql);
+
+ void executionFinished();
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/event/SQLExecutionAdapter.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/event/SQLExecutionAdapter.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/event/SQLExecutionAdapter.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -46,4 +46,9 @@
public void statementExecuted(String sql)
{
}
+
+ @Override
+ public void executionFinished()
+ {
+ }
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/SQLResultExecuterPanel.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/SQLResultExecuterPanel.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/SQLResultExecuterPanel.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -272,6 +272,8 @@
{
if (sql != null && sql.trim().length() > 0)
{
+ removeErrorPanels();
+
String origSQL = sql;
sql = fireSQLToBeExecutedEvent(sql);
Modified: trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/CellDataPopup.java
===================================================================
--- trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/CellDataPopup.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/CellDataPopup.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -17,11 +17,7 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.Point;
-import java.awt.Rectangle;
+import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
@@ -75,21 +71,10 @@
Component comp = SwingUtilities.getRoot(table);
Component newComp = null;
- if (false == comp instanceof JFrame)
- {
- // Fixes ClassCastException, see below.
- return;
- }
-
- // The following only works if SwingUtilities.getRoot(table) returns
- // and instanceof BaseMDIParentFrame.
- // If SwingTUilities.getRoot(table) returns and instance of Dialog or
- // Frame, then other code must be used.
TextAreaInternalFrame taif =
- new TextAreaInternalFrame((JFrame) comp, table.getColumnName(col), colDef, obj,
+ new TextAreaInternalFrame(table, table.getColumnName(col), colDef, obj,
row, col, isModelEditable, table);
- //((IMainFrame) comp).addInternalFrame(taif, false);
- //taif.setLayer(JLayeredPane.POPUP_LAYER);
+
taif.pack();
newComp = taif;
@@ -176,7 +161,6 @@
//
private static class ColumnDataPopupPanel extends JPanel {
- private static final long serialVersionUID = 1L;
private final PopupEditableIOPanel ioPanel;
private JDialog _parentFrame = null;
private int _row;
@@ -298,14 +282,14 @@
// root type is Dialog or Frame, then other code must be used.
class TextAreaInternalFrame extends JDialog
{
- private static final long serialVersionUID = 1L;
- public TextAreaInternalFrame(JFrame owner, String columnName, ColumnDisplayDefinition colDef,
+ public TextAreaInternalFrame(Component comp, String columnName, ColumnDisplayDefinition colDef,
Object value, int row, int col,
boolean isModelEditable, JTable table)
{
- // i18n[cellDataPopup.valueofColumn=Value of column {0}]
- super(owner, s_stringMgr.getString("cellDataPopup.valueofColumn", columnName), false);
+
+ // i18n[cellDataPopup.valueofColumn=Value of column {0}]
+ super(SwingUtilities.windowForComponent(comp), s_stringMgr.getString("cellDataPopup.valueofColumn", columnName));
ColumnDataPopupPanel popup =
new ColumnDataPopupPanel(value, colDef, isModelEditable);
popup.setUserActionInfo(this, row, col, table);
@@ -313,7 +297,6 @@
AbstractAction closeAction = new AbstractAction()
{
- private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent actionEvent)
{
Modified: trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerEditableTablePanel.java
===================================================================
--- trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerEditableTablePanel.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/DataSetViewerEditableTablePanel.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -377,11 +377,6 @@
Component comp = SwingUtilities.getRoot(table);
- if(null == comp || false == comp instanceof JFrame)
- {
- return;
- }
-
// get the default values from the DB for the table columns
String[] dbDefaultValues =
((IDataSetUpdateableTableModel)getUpdateableModelReference()).
@@ -399,7 +394,7 @@
// and instanceof BaseMDIParentFrame.
// If SwingTUilities.getRoot(table) returns and instance of Dialog or
// Frame, then other code must be used.
- RowDataInputFrame rdif = new RowDataInputFrame((JFrame) comp, _colDefs, initialValues, this);
+ RowDataInputFrame rdif = new RowDataInputFrame( table, _colDefs, initialValues, this);
// ((IMainFrame)comp).addInternalFrame(rdif, false);
// rdif.setLayer(JLayeredPane.POPUP_LAYER);
rdif.pack();
Modified: trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/RowDataInputFrame.java
===================================================================
--- trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/RowDataInputFrame.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/datasetviewer/RowDataInputFrame.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -52,7 +52,6 @@
public class RowDataInputFrame extends JDialog
implements ActionListener {
- private static final long serialVersionUID = 1L;
private static final StringManager s_stringMgr =
StringManagerFactory.getStringManager(RowDataInputFrame.class);
@@ -66,12 +65,12 @@
/**
* ctor.
*/
- public RowDataInputFrame(JFrame parent, ColumnDisplayDefinition[] colDefs,
+ public RowDataInputFrame(Component comp, ColumnDisplayDefinition[] colDefs,
Object[] initialValues,
DataSetViewerEditableTablePanel caller) {
// i18n[rowDataInputFrame.propName=Input New Row Data]
- super(parent, s_stringMgr.getString("rowDataInputFrame.propName"), false);
+ super(SwingUtilities.windowForComponent(comp), s_stringMgr.getString("rowDataInputFrame.propName"));
// get the ConentPane into a variable for convenience
Container pane = getContentPane();
@@ -183,7 +182,6 @@
* JTable for use in creating data for insertion.
*/
class RowDataJTable extends JTable {
- private static final long serialVersionUID = 1L;
private ColumnDisplayDefinition[] _colDefs = null;
/**
@@ -337,7 +335,6 @@
*/
class RowDataModel extends DefaultTableModel {
- private static final long serialVersionUID = 1L;
/**
* ctor
Modified: trunk/sql12/plugins/example/src/main/java/net/sourceforge/squirrel_sql/plugins/example/ExampleSqlExecutionListener.java
===================================================================
--- trunk/sql12/plugins/example/src/main/java/net/sourceforge/squirrel_sql/plugins/example/ExampleSqlExecutionListener.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/example/src/main/java/net/sourceforge/squirrel_sql/plugins/example/ExampleSqlExecutionListener.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -1,6 +1,7 @@
package net.sourceforge.squirrel_sql.plugins.example;
import net.sourceforge.squirrel_sql.client.session.event.ISQLExecutionListener;
+import net.sourceforge.squirrel_sql.client.session.event.SQLExecutionAdapter;
import net.sourceforge.squirrel_sql.fw.util.IMessageHandler;
/*
@@ -26,7 +27,7 @@
* A simple ISQLExecutionListener that displays the SQL as it is being executed in the main application
* message panel (at the bottom of the application).
*/
-public class ExampleSqlExecutionListener implements ISQLExecutionListener
+public class ExampleSqlExecutionListener extends SQLExecutionAdapter
{
/** This is what gives the ability to print a message to the message panel */
private final IMessageHandler _messageHandler;
@@ -51,4 +52,8 @@
return sql;
}
+ public void executionFinished()
+ {
+ }
+
}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintIconHandler.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintIconHandler.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintIconHandler.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -13,8 +13,14 @@
{
private static final StringManager s_stringMgr =
StringManagerFactory.getStringManager(ConstraintIconHandler.class);
+ private ConstraintIconHandlerListener _constraintIconHandlerListener;
+ public ConstraintIconHandler(ConstraintIconHandlerListener constraintIconHandlerListener)
+ {
+ _constraintIconHandlerListener = constraintIconHandlerListener;
+ }
+
void paintJoinIcon(Graphics g,
GraphLine line,
TableFrameController fkFrameOriginatingFrom,
@@ -228,6 +234,7 @@
if (noneMenuItem.isSelected())
{
constraintData.getConstraintQueryData().setNoJoin();
+ _constraintIconHandlerListener.constraintTypeChanged();
}
}
@@ -236,6 +243,7 @@
if (leftmenuItem.isSelected())
{
constraintData.getConstraintQueryData().setOuterJoin(outerTableName);
+ _constraintIconHandlerListener.constraintTypeChanged();
}
}
@@ -244,6 +252,7 @@
if (innerMenuItem.isSelected())
{
constraintData.getConstraintQueryData().setInnerJoin();
+ _constraintIconHandlerListener.constraintTypeChanged();
}
}
}
Added: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintIconHandlerListener.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintIconHandlerListener.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintIconHandlerListener.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -0,0 +1,6 @@
+package net.sourceforge.squirrel_sql.plugins.graph;
+
+public interface ConstraintIconHandlerListener
+{
+ public void constraintTypeChanged();
+}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintView.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintView.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintView.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -46,10 +46,11 @@
private TableFrameController _fkFrameOriginatingFrom;
private TableFrameController _pkFramePointingTo;
private Vector<ConstraintViewListener> _constraintViewListeners = new Vector<ConstraintViewListener>();
- private ConstraintIconHandler _constraintIconHandler = new ConstraintIconHandler();
+ private ConstraintIconHandler _constraintIconHandler;
- public ConstraintView(ConstraintData constraintData, GraphDesktopController desktopController, ISession session)
+ public ConstraintView(ConstraintData constraintData, GraphDesktopController desktopController, ISession session, ConstraintIconHandlerListener constraintIconHandlerListener)
{
+ _constraintIconHandler = new ConstraintIconHandler(constraintIconHandlerListener);
_constraintData = constraintData;
_desktopController = desktopController;
_session = session;
@@ -57,8 +58,9 @@
createPopup();
}
- public ConstraintView(ConstraintViewXmlBean constraintViewXmlBean, GraphDesktopController desktopController, ISession session)
+ public ConstraintView(ConstraintViewXmlBean constraintViewXmlBean, GraphDesktopController desktopController, ISession session, ConstraintIconHandlerListener constraintIconHandlerListener)
{
+ _constraintIconHandler = new ConstraintIconHandler(constraintIconHandlerListener);
_desktopController = desktopController;
_session = session;
_constraintData = new ConstraintData(constraintViewXmlBean.getConstraintDataXmlBean());
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewCreator.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewCreator.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewCreator.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -1,48 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import net.sourceforge.squirrel_sql.client.session.ISession;
-import net.sourceforge.squirrel_sql.fw.util.StringManager;
-import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
-
-public class ConstraintViewCreator
-{
-
- private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(ConstraintViewCreator.class);
-
-
- public static ConstraintView createConstraintView(DndEvent e, TableFrameController sourceTable, ColumnInfo sourceColumnInfo, GraphDesktopController desktopController, ISession session)
- {
- ColumnInfo targetColumnInfo = e.getColumnInfo();
- TableFrameController targetTable = e.getTableFrameController();
-
- if(null == targetColumnInfo || null == sourceColumnInfo || targetTable == sourceTable)
- {
- return null;
- }
-
- if(null != targetColumnInfo.getImportedColumnName())
- {
- // i18n[graph.nonDbConstraintCreationError_already_points=A column cannot reference more than one other column. Non DB constraint could not be created.]
- session.getApplication().getMessageHandler().showErrorMessage(s_stringMgr.getString("graph.nonDbConstraintCreationError_already_points"));
- return null;
- }
-
- String constName = "SquirrelGeneratedConstraintName";
-
- ConstraintData data = new ConstraintData(
- sourceTable.getTableInfo().getSimpleName(),
- targetTable.getTableInfo().getSimpleName(),
- constName,
- true);
-
-
-
- targetColumnInfo.setImportData(sourceTable.getTableInfo().getSimpleName(), sourceColumnInfo.getName(), constName, true);
-
-
- data.addColumnInfo(targetColumnInfo);
- ConstraintView ret = new ConstraintView(data, desktopController, session);
-
- return ret;
- }
-}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewsModel.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewsModel.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ConstraintViewsModel.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -1,6 +1,8 @@
package net.sourceforge.squirrel_sql.plugins.graph;
import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.ConstraintViewXmlBean;
@@ -16,15 +18,27 @@
public class ConstraintViewsModel
{
private final static ILogger s_log = LoggerController.createLogger(ConstraintViewsModel.class);
+ static final StringManager s_stringMgr = StringManagerFactory.getStringManager(ConstraintViewsModel.class);
private ConstraintView[] _constraintViews = new ConstraintView[0];
private ISession _session;
private ArrayList<ConstraintViewsModelListener> _listeners = new ArrayList<ConstraintViewsModelListener>();
+ private ConstraintIconHandlerListener _constraintIconHandlerListener;
public ConstraintViewsModel(ISession session)
{
_session = session;
+
+ _constraintIconHandlerListener = new ConstraintIconHandlerListener()
+ {
+ @Override
+ public void constraintTypeChanged()
+ {
+ fireListeners();
+ }
+ };
+
}
@@ -38,7 +52,7 @@
_constraintViews = new ConstraintView[constraintViewXmlBeans.length];
for (int i = 0; i < _constraintViews.length; i++)
{
- _constraintViews[i] = new ConstraintView(constraintViewXmlBeans[i], desktopController, _session);
+ _constraintViews[i] = new ConstraintView(constraintViewXmlBeans[i], desktopController, _session, _constraintIconHandlerListener);
_constraintViews[i].replaceCopiedColsByReferences(colInfos, false);
}
}
@@ -156,7 +170,7 @@
}
else
{
- newConstraintViewsBuf.add(new ConstraintView(newDBconstraintData[i], desktopController, _session));
+ newConstraintViewsBuf.add(new ConstraintView(newDBconstraintData[i], desktopController, _session, _constraintIconHandlerListener));
}
}
@@ -168,7 +182,45 @@
_constraintViews = newConstraintViewsBuf.toArray(new ConstraintView[newConstraintViewsBuf.size()]);
}
+ public ConstraintView createConstraintView(DndEvent e, TableFrameController sourceTable, ColumnInfo sourceColumnInfo, GraphDesktopController desktopController, ISession session)
+ {
+ ColumnInfo targetColumnInfo = e.getColumnInfo();
+ TableFrameController targetTable = e.getTableFrameController();
+ if(null == targetColumnInfo || null == sourceColumnInfo || targetTable == sourceTable)
+ {
+ return null;
+ }
+
+ if(null != targetColumnInfo.getImportedColumnName())
+ {
+ // i18n[graph.nonDbConstraintCreationError_already_points=A column cannot reference more than one other column. Non DB constraint could not be created.]
+ session.getApplication().getMessageHandler().showErrorMessage(s_stringMgr.getString("graph.nonDbConstraintCreationError_already_points"));
+ return null;
+ }
+
+ String constName = "SquirrelGeneratedConstraintName";
+
+ ConstraintData data = new ConstraintData(
+ sourceTable.getTableInfo().getSimpleName(),
+ targetTable.getTableInfo().getSimpleName(),
+ constName,
+ true);
+
+
+
+ targetColumnInfo.setImportData(sourceTable.getTableInfo().getSimpleName(), sourceColumnInfo.getName(), constName, true);
+
+
+ data.addColumnInfo(targetColumnInfo);
+ ConstraintView ret = new ConstraintView(data, desktopController, session, _constraintIconHandlerListener);
+
+ addConst(ret);
+ return ret;
+ }
+
+
+
private void removeOverlappingConstraints(ArrayList<ConstraintView> master, ArrayList<ConstraintView> toRemoveFrom)
{
ArrayList<ConstraintView> removeBuf = new ArrayList<ConstraintView>();
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-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -33,5 +33,8 @@
String TO_WINDOW = "ToWindow";
String SHOW_MENU = "Showmenu";
+
+ String HIDE_DOCK = "Hidedock";
+ String HIDE_DOCK_SEL = "HidedockSel";
}
}
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanel.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanel.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanel.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -1,11 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import javax.swing.*;
-
-public class GraphQueryResultPanel extends JPanel
-{
- public GraphQueryResultPanel()
- {
- add(new JLabel("Result Panel (will be implemented soon)"));
- }
-}
Added: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanel.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanel.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanel.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -0,0 +1,53 @@
+package net.sourceforge.squirrel_sql.plugins.graph;
+
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.client.session.mainpanel.SQLResultExecuterPanel;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+
+import javax.swing.*;
+import java.awt.*;
+
+public class GraphQueryResultPanel extends JPanel
+{
+ private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(GraphQueryResultPanel.class);
+
+ SQLResultExecuterPanel resultExecuterPanel;
+ JCheckBox chkAutoSyncSQL;
+ JButton btnSyncSQLNow;
+
+
+ public GraphQueryResultPanel(ISession session, HideDockButtonHandler hideDockButtonHandler)
+ {
+ setLayout(new BorderLayout());
+
+ resultExecuterPanel = new SQLResultExecuterPanel(session);
+ add(createButtonPanel(hideDockButtonHandler), BorderLayout.NORTH);
+ add(resultExecuterPanel, BorderLayout.CENTER);
+ }
+
+ private JPanel createButtonPanel(HideDockButtonHandler hideDockButtonHandler)
+ {
+ JPanel ret = new JPanel(new GridBagLayout());
+
+ GridBagConstraints gbc;
+
+ gbc = new GridBagConstraints(0,0,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5,5,5,10),0,0);
+ ret.add(hideDockButtonHandler.getHideButton(), gbc);
+
+ gbc = new GridBagConstraints(1,0,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5,0,5,5),0,0);
+ chkAutoSyncSQL = new JCheckBox(s_stringMgr.getString("graph.GraphQueryResultPanel.autoSyncResult"));
+ ret.add(chkAutoSyncSQL, gbc);
+
+ gbc = new GridBagConstraints(2,0,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5,0,5,5),0,0);
+ btnSyncSQLNow = new JButton(s_stringMgr.getString("graph.GraphQueryResultPanel.syncResultNow"));
+ ret.add(btnSyncSQLNow, gbc);
+
+ gbc = new GridBagConstraints(3,0,1,1,1,1,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5,0,5,5),0,0);
+ ret.add(new JPanel(), gbc);
+
+ return ret;
+ }
+
+
+}
Added: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanelCtrl.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanelCtrl.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQueryResultPanelCtrl.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -0,0 +1,103 @@
+package net.sourceforge.squirrel_sql.plugins.graph;
+
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.client.session.event.SQLExecutionAdapter;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+public class GraphQueryResultPanelCtrl
+{
+ private GraphQueryResultPanel _graphQueryResultPanel;
+ private String _lastSQL;
+ private boolean _isExecuting;
+ private String _nextSQL;
+
+ public GraphQueryResultPanelCtrl(ISession session, HideDockButtonHandler hideDockButtonHandler, final SyncListener syncListener)
+ {
+ _graphQueryResultPanel = new GraphQueryResultPanel(session, hideDockButtonHandler);
+
+ _graphQueryResultPanel.btnSyncSQLNow.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ syncListener.synRequested();
+ }
+ });
+
+ _graphQueryResultPanel.chkAutoSyncSQL.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ onAutoSyncChanged(syncListener);
+ }
+ });
+
+ _graphQueryResultPanel.resultExecuterPanel.addSQLExecutionListener(new SQLExecutionAdapter(){
+ @Override
+ public void executionFinished()
+ {
+ onSQLExecutionFinished();
+ }
+ });
+ }
+
+ private void onSQLExecutionFinished()
+ {
+ _isExecuting = false;
+ if(null != _nextSQL)
+ {
+ String nextSQL = _nextSQL;
+ _nextSQL = null;
+ execSQL(nextSQL);
+ }
+ }
+
+ private void onAutoSyncChanged(SyncListener syncListener)
+ {
+ if(_graphQueryResultPanel.chkAutoSyncSQL.isSelected())
+ {
+ syncListener.synRequested();
+ }
+ }
+
+
+ public void execSQL(String sql)
+ {
+ if (null != _lastSQL && _lastSQL.trim().equals(sql))
+ {
+ return;
+ }
+ _lastSQL = null;
+
+
+ if(null == sql || 0 == sql.trim().length())
+ {
+ return;
+ }
+
+
+
+ if(_isExecuting)
+ {
+ _nextSQL = sql;
+ return;
+ }
+
+ _isExecuting = true;
+ _graphQueryResultPanel.resultExecuterPanel.executeSQL(sql);
+ _lastSQL = sql;
+ }
+
+ public GraphQueryResultPanel getGraphQuerySQLPanel()
+ {
+ return _graphQueryResultPanel;
+ }
+
+ public boolean isAutoSync()
+ {
+ return _graphQueryResultPanel.chkAutoSyncSQL.isSelected();
+ }
+}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQuerySQLPanel.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQuerySQLPanel.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQuerySQLPanel.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -1,13 +1,46 @@
package net.sourceforge.squirrel_sql.plugins.graph;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+
import javax.swing.*;
import java.awt.*;
public class GraphQuerySQLPanel extends JPanel
{
- public GraphQuerySQLPanel(JComponent editor)
+ private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(GraphQuerySQLPanel.class);
+
+ JCheckBox chkAutoSyncSQL;
+ JButton btnSyncSQLNow;
+
+ public GraphQuerySQLPanel(JComponent editor, HideDockButtonHandler hideDockButtonHandler)
{
- setLayout(new GridLayout(1,1));
- add(editor);
+ setLayout(new BorderLayout());
+ add(createButtonPanel(hideDockButtonHandler), BorderLayout.NORTH);
+ editor.setBorder(BorderFactory.createEtchedBorder());
+ add(editor, BorderLayout.CENTER);
}
+
+ private JPanel createButtonPanel(HideDockButtonHandler hideDockButtonHandler)
+ {
+ JPanel ret = new JPanel(new GridBagLayout());
+
+ GridBagConstraints gbc;
+
+ gbc = new GridBagConstraints(0,0,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5,5,5,10),0,0);
+ ret.add(hideDockButtonHandler.getHideButton(), gbc);
+
+ gbc = new GridBagConstraints(1,0,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5,0,5,5),0,0);
+ chkAutoSyncSQL = new JCheckBox(s_stringMgr.getString("graph.GraphQuerySQLPanel.autoSyncSQL"));
+ ret.add(chkAutoSyncSQL, gbc);
+
+ gbc = new GridBagConstraints(2,0,1,1,0,0,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5,0,5,5),0,0);
+ btnSyncSQLNow = new JButton(s_stringMgr.getString("graph.GraphQuerySQLPanel.syncSQLNow"));
+ ret.add(btnSyncSQLNow, gbc);
+
+ gbc = new GridBagConstraints(3,0,1,1,1,1,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5,0,5,5),0,0);
+ ret.add(new JPanel(), gbc);
+
+ return ret;
+ }
}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQuerySQLPanelCtrl.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQuerySQLPanelCtrl.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphQuerySQLPanelCtrl.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -3,20 +3,59 @@
import net.sourceforge.squirrel_sql.client.session.EntryPanelManager;
import net.sourceforge.squirrel_sql.client.session.ISession;
-import javax.swing.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.prefs.Preferences;
public class GraphQuerySQLPanelCtrl
{
private GraphQuerySQLPanel _graphQuerySQLPanel;
private EntryPanelManager _entryPanelManager;
- public GraphQuerySQLPanelCtrl(ISession session)
+ private static final String PREF_KEY_SQUIRREL_GRAPH_SQL_AUTO_SYNC = "Squirrel.graph.sqlAutoSync";
+
+
+ public GraphQuerySQLPanelCtrl(ISession session, HideDockButtonHandler hideDockButtonHandler, final SyncListener syncListener)
{
_entryPanelManager = new EntryPanelManager(session);
_entryPanelManager.init(null, null);
- _graphQuerySQLPanel = new GraphQuerySQLPanel(_entryPanelManager.getComponent());
+ _graphQuerySQLPanel = new GraphQuerySQLPanel(_entryPanelManager.getComponent(), hideDockButtonHandler);
+
+ _graphQuerySQLPanel.chkAutoSyncSQL.setSelected(Preferences.userRoot().getBoolean(PREF_KEY_SQUIRREL_GRAPH_SQL_AUTO_SYNC, true));
+
+ _graphQuerySQLPanel.chkAutoSyncSQL.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ onAutoSyncChanged(syncListener);
+ }
+ });
+
+ _graphQuerySQLPanel.btnSyncSQLNow.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ syncListener.synRequested();
+ }
+ });
+
+
+
}
+
+ private void onAutoSyncChanged(SyncListener syncListener)
+ {
+ Preferences.userRoot().putBoolean(PREF_KEY_SQUIRREL_GRAPH_SQL_AUTO_SYNC, _graphQuerySQLPanel.chkAutoSyncSQL.isSelected());
+
+ if(_graphQuerySQLPanel.chkAutoSyncSQL.isSelected())
+ {
+ syncListener.synRequested();
+ }
+ }
+
public GraphQuerySQLPanel getGraphQuerySQLPanel()
{
return _graphQuerySQLPanel;
@@ -27,4 +66,9 @@
{
_entryPanelManager.getEntryPanel().setText(sql, false);
}
+
+ public boolean isAutoSync()
+ {
+ return _graphQuerySQLPanel.chkAutoSyncSQL.isSelected();
+ }
}
Added: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/HideDockButtonHandler.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/HideDockButtonHandler.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/HideDockButtonHandler.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -0,0 +1,41 @@
+package net.sourceforge.squirrel_sql.plugins.graph;
+
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+
+import javax.swing.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+public class HideDockButtonHandler
+{
+ private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(HideDockButtonHandler.class);
+
+ private JToggleButton _btnToClickOnHide;
+ private JButton _bntHide;
+
+
+ public HideDockButtonHandler(JToggleButton btnToClickOnHide, GraphPluginResources rsrc)
+ {
+ _btnToClickOnHide = btnToClickOnHide;
+
+ _bntHide = new JButton(rsrc.getIcon(GraphPluginResources.IKeys.HIDE_DOCK));
+ _bntHide.setPressedIcon(rsrc.getIcon(GraphPluginResources.IKeys.HIDE_DOCK_SEL));
+ _bntHide.setToolTipText(s_stringMgr.getString("graph.GraphQuerySQLPanel.hide"));
+ _bntHide.setBorder(BorderFactory.createEmptyBorder());
+
+ _bntHide.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ _btnToClickOnHide.doClick(0);
+ }
+ });
+ }
+
+ public JButton getHideButton()
+ {
+ return _bntHide;
+ }
+}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ModeManager.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ModeManager.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/ModeManager.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -121,7 +121,7 @@
_zoomPrintController = new ZoomPrintController(zoomerXmlBean, printXmlBean, edgesListener, desktopPane, _session, _plugin, startButtonHandler);
startButtonHandler = new StartButtonHandler(_graphControllerFacade, rsrc);
- _queryBuilderController = new QueryBuilderController(_tableFramesModel, _graphControllerFacade, _session, startButtonHandler);
+ _queryBuilderController = new QueryBuilderController(_tableFramesModel, _graphControllerFacade, _session, _plugin, startButtonHandler);
startButtonHandler = new StartButtonHandler(_graphControllerFacade, rsrc);
_defaultController = new DefaultController(startButtonHandler);
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryBuilderController.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryBuilderController.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/QueryBuilderController.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -18,10 +18,8 @@
private static final String PREF_KEY_SQL_DOCK_HEIGHT = "Squirrel.graph.sqldock.height";
private static final String PREF_KEY_RESULT_DOCK_HEIGHT = "Squirrel.graph.resultdock.height";
-
private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(QueryBuilderController.class);
-
private JPanel _panel;
private JToggleButton _btnSQL;
private JToggleButton _btnResult;
@@ -30,9 +28,10 @@
private TableFramesModel _tableFramesModel;
private ISession _session;
private GraphQuerySQLPanelCtrl _graphQuerySQLPanelCtrl;
+ private GraphQueryResultPanelCtrl _graphQueryResultPanelCtrl;
private SessionAdapter _sessionAdapter;
- public QueryBuilderController(TableFramesModel tableFramesModel, GraphControllerFacade graphControllerFacade, ISession session, StartButtonHandler startButtonHandler)
+ public QueryBuilderController(TableFramesModel tableFramesModel, GraphControllerFacade graphControllerFacade, ISession session, GraphPlugin plugin, StartButtonHandler startButtonHandler)
{
_tableFramesModel = tableFramesModel;
_session = session;
@@ -55,7 +54,9 @@
gbc = new GridBagConstraints(3,0,1,1,1,1, GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0,0,0,5),0,0);
_panel.add(new JPanel(), gbc);
- _graphQuerySQLPanelCtrl = new GraphQuerySQLPanelCtrl(_session);
+ GraphPluginResources rsrc = new GraphPluginResources(plugin);
+ _graphQuerySQLPanelCtrl = new GraphQuerySQLPanelCtrl(_session, new HideDockButtonHandler(_btnSQL, rsrc), createSQLSyncListener());
+ _graphQueryResultPanelCtrl = new GraphQueryResultPanelCtrl(_session, new HideDockButtonHandler(_btnResult, rsrc), createResultSyncListener());
initHandels(graphControllerFacade);
@@ -101,13 +102,42 @@
});
}
+ private SyncListener createResultSyncListener()
+ {
+ return new SyncListener()
+ {
+ @Override
+ public void synRequested()
+ {
+ _graphQueryResultPanelCtrl.execSQL(new QueryBuilderSQLGenerator(_session).generateSQL(_tableFramesModel));
+ }
+ };
+ }
+ private SyncListener createSQLSyncListener()
+ {
+ return new SyncListener()
+ {
+ @Override
+ public void synRequested()
+ {
+ _graphQuerySQLPanelCtrl.setSQL(new QueryBuilderSQLGenerator(_session).generateSQL(_tableFramesModel));
+ }
+ };
+
+ }
+
+
private void onModelChanged()
{
- if (_sqlDockHandle.isShowing())
+ if (_sqlDockHandle.isShowing() && _graphQuerySQLPanelCtrl.isAutoSync())
{
_graphQuerySQLPanelCtrl.setSQL(new QueryBuilderSQLGenerator(_session).generateSQL(_tableFramesModel));
}
+ else if(_resultDockHandle.isShowing() && _graphQueryResultPanelCtrl.isAutoSync())
+ {
+ _graphQueryResultPanelCtrl.execSQL(new QueryBuilderSQLGenerator(_session).generateSQL(_tableFramesModel));
+ }
}
private void initHandels(GraphControllerFacade graphControllerFacade)
@@ -116,7 +146,7 @@
_sqlDockHandle = new GraphDockHandle(graphControllerFacade, _graphQuerySQLPanelCtrl.getGraphQuerySQLPanel(), sqlHeight);
int resHeight = Preferences.userRoot().getInt(PREF_KEY_RESULT_DOCK_HEIGHT, 250);
- _resultDockHandle = new GraphDockHandle(graphControllerFacade, new GraphQueryResultPanel(), resHeight);
+ _resultDockHandle = new GraphDockHandle(graphControllerFacade, _graphQueryResultPanelCtrl.getGraphQuerySQLPanel(), resHeight);
}
private void onSessionClosing()
@@ -139,6 +169,7 @@
_btnSQL.setSelected(false);
}
_resultDockHandle.show();
+ onModelChanged();
}
else
{
Added: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/SyncListener.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/SyncListener.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/SyncListener.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -0,0 +1,6 @@
+package net.sourceforge.squirrel_sql.plugins.graph;
+
+public interface SyncListener
+{
+ void synRequested();
+}
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-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/TableFrameController.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -22,7 +22,6 @@
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.client.session.ObjectTreeSearch;
import net.sourceforge.squirrel_sql.client.session.schemainfo.ObjFilterMatcher;
-import net.sourceforge.squirrel_sql.fw.datasetviewer.IDataSetUpdateableTableModel;
import net.sourceforge.squirrel_sql.fw.sql.ITableInfo;
import net.sourceforge.squirrel_sql.fw.sql.PrimaryKeyInfo;
import net.sourceforge.squirrel_sql.fw.sql.SQLDatabaseMetaData;
@@ -274,26 +273,21 @@
private void onDndImportDone(DndEvent e, Point dropPoint)
{
- ConstraintView constView = ConstraintViewCreator.createConstraintView(
- e,
- this,
- getColumnInfoForPoint(dropPoint),
- _desktopController,
- _session
+ TableFrameController fkTable = e.getTableFrameController();
+
+ ConstraintView constraintView = fkTable._constraintViewsModel.createConstraintView(
+ e,
+ this,
+ getColumnInfoForPoint(dropPoint),
+ _desktopController,
+ _session
);
- if(null == constView)
+ if (null != constraintView)
{
- return;
+ fkTable.recalculateAllConnections(true);
}
-
-
- TableFrameController fkTable = e.getTableFrameController();
-
- fkTable._constraintViewsModel.addConst(constView);
-
- fkTable.recalculateAllConnections(true);
}
private void onRemoveNonDbConstraint(ConstraintView constraintView)
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/sqlgen/SelectClauseGenerator.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/sqlgen/SelectClauseGenerator.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/sqlgen/SelectClauseGenerator.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -13,7 +13,9 @@
boolean colAdded = false;
boolean hasAggFct = false;
+ boolean groupByHasCols = false;
+
for (TableFrameController tfc : fromClause.getTables())
{
for (ColumnInfo columnInfo : tfc.getColumnInfos())
@@ -27,6 +29,7 @@
String s = tfc.getTableInfo().getSimpleName() + "." + columnInfo.getColumnName() + ",";
select.append(s);
groupBy.append(s);
+ groupByHasCols = true;
}
else
{
@@ -45,7 +48,7 @@
select.setLength(select.length() - 1); // cut off the last comma.
- if(hasAggFct)
+ if(hasAggFct && groupByHasCols)
{
groupBy.setLength(groupBy.length() - 1); // cut off the last comma.
return new SelectClauseRes(select, groupBy);
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-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/GraphPluginResources.properties 2011-03-21 22:57:54 UTC (rev 6204)
@@ -27,6 +27,8 @@
Showmenu.image=showmenu.gif
+Hidedock.image=hidedock.png
+HidedockSel.image=hidedock_sel.png
@@ -34,3 +36,4 @@
+
Modified: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/I18NStrings.properties
===================================================================
--- trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/I18NStrings.properties 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/I18NStrings.properties 2011-03-21 22:57:54 UTC (rev 6204)
@@ -186,4 +186,12 @@
QueryBuilderController.Result=Result
QueryBuilderController.SQL=SQL
-graph.StartButtonHandler.Kickoff= Kick off / Start
\ No newline at end of file
+graph.StartButtonHandler.Kickoff= Kick off / Start
+
+graph.GraphQuerySQLPanel.hide=Hide
+
+graph.GraphQuerySQLPanel.autoSyncSQL=Auto sync SQL
+graph.GraphQuerySQLPanel.syncSQLNow=Sync SQL
+
+graph.GraphQueryResultPanel.autoSyncResult=Auto sync result
+graph.GraphQueryResultPanel.syncResultNow=Sync result
Added: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/images/hidedock.png
===================================================================
(Binary files differ)
Property changes on: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/images/hidedock.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/images/hidedock_sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/images/hidedock_sel.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/sql12/plugins/sqlparam/src/main/java/net/sourceforge/squirrel_sql/plugins/sqlparam/SQLParamExecutionListener.java
===================================================================
--- trunk/sql12/plugins/sqlparam/src/main/java/net/sourceforge/squirrel_sql/plugins/sqlparam/SQLParamExecutionListener.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/sqlparam/src/main/java/net/sourceforge/squirrel_sql/plugins/sqlparam/SQLParamExecutionListener.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -21,6 +21,7 @@
import net.sourceforge.squirrel_sql.client.gui.desktopcontainer.DialogWidget;
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.client.session.event.ISQLExecutionListener;
+import net.sourceforge.squirrel_sql.client.session.event.SQLExecutionAdapter;
import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
@@ -39,7 +40,8 @@
*
* @author Thorsten Mürell
*/
-public class SQLParamExecutionListener implements ISQLExecutionListener {
+public class SQLParamExecutionListener extends SQLExecutionAdapter
+{
private final static ILogger log = LoggerController.createLogger(SQLParamPlugin.class);
private ISession session = null;
Modified: trunk/sql12/plugins/sqlreplace/src/main/java/net/sourceforge/squirrel_sql/plugins/sqlreplace/SQLReplaceExecutionListener.java
===================================================================
--- trunk/sql12/plugins/sqlreplace/src/main/java/net/sourceforge/squirrel_sql/plugins/sqlreplace/SQLReplaceExecutionListener.java 2011-03-19 22:30:23 UTC (rev 6203)
+++ trunk/sql12/plugins/sqlreplace/src/main/java/net/sourceforge/squirrel_sql/plugins/sqlreplace/SQLReplaceExecutionListener.java 2011-03-21 22:57:54 UTC (rev 6204)
@@ -21,6 +21,7 @@
import net.sourceforge.squirrel_sql.client.gui.desktopcontainer.SelectWidgetCommand;
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.client.session.event.ISQLExecutionListener;
+import net.sourceforge.squirrel_sql.client.session.event.SQLExecutionAdapter;
import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
@@ -29,7 +30,8 @@
* @author Dieter
*
*/
-public class SQLReplaceExecutionListener implements ISQLExecutionListener {
+public class SQLReplaceExecutionListener extends SQLExecutionAdapter
+{
private final static ILogger log = LoggerController.createLogger(SQLReplacePlugin.class);
private ISession session = null;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|