[Squirrel-sql-commits] SF.net SVN: squirrel-sql:[6080] trunk/sql12/plugins/graph/src/main/java/net
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: <ger...@us...> - 2010-12-30 00:47:05
|
Revision: 6080 http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6080&view=rev Author: gerdwagner Date: 2010-12-30 00:46:59 +0000 (Thu, 30 Dec 2010) Log Message: ----------- Refined: Gave dragging a bit of tolerance before it removes table multi selection Modified Paths: -------------- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphDesktopManager.java Added Paths: ----------- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GroupDissolveChecker.java Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphDesktopManager.java =================================================================== --- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphDesktopManager.java 2010-12-30 00:36:19 UTC (rev 6079) +++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphDesktopManager.java 2010-12-30 00:46:59 UTC (rev 6080) @@ -4,15 +4,15 @@ import java.util.*; import java.util.List; -import javax.swing.DefaultDesktopManager; -import javax.swing.JComponent; -import javax.swing.JInternalFrame; +import javax.swing.*; public class GraphDesktopManager extends DefaultDesktopManager { private GraphDesktopPane _graphDesktopPane; private HashSet<FoldingPoint> _uniqueFoldingPointsBuffer = new HashSet<FoldingPoint>(); + private GroupDissolveChecker _groupDissolveChecker = new GroupDissolveChecker(); + public GraphDesktopManager(GraphDesktopPane graphDesktopPane) { _graphDesktopPane = graphDesktopPane; @@ -32,7 +32,7 @@ correctX = f.getX() + correctDelta.x; correctY = f.getY() + correctDelta.y; - tolerantlyCheckGroupDissolve(tf, correctDelta); + _groupDissolveChecker.tolerantlyCheckGroupDissolve(tf, correctDelta, _graphDesktopPane); for (TableFrame current : _graphDesktopPane.getGroupFrames()) { @@ -49,20 +49,6 @@ _graphDesktopPane.repaint(); // Needed in case tables are moved that don't have any constraints. } - private void tolerantlyCheckGroupDissolve(TableFrame tf, Point correctDelta) - { - double tolerance = 0.005; - - if ( ((double)correctDelta.x) / ((_graphDesktopPane.getWidth())) > tolerance - || ((double)correctDelta.y) / ((_graphDesktopPane.getHeight())) > tolerance) - { - if (!_graphDesktopPane.isGroupFrame(tf)) - { - _graphDesktopPane.setGroupFrame(tf); - } - } - } - private void moveFoldingPoints(List<TableFrame> movedTableFrames, Point delta) { for (TableFrame f1 : movedTableFrames) Added: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GroupDissolveChecker.java =================================================================== --- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GroupDissolveChecker.java (rev 0) +++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GroupDissolveChecker.java 2010-12-30 00:46:59 UTC (rev 6080) @@ -0,0 +1,54 @@ +package net.sourceforge.squirrel_sql.plugins.graph; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class GroupDissolveChecker +{ + private Timer _timer; + + public GroupDissolveChecker() + { + _timer = new Timer(100, new ActionListener() + { + @Override + public void actionPerformed(ActionEvent e) + { + + } + }); + + _timer.setRepeats(false); + } + + void tolerantlyCheckGroupDissolve(TableFrame tf, Point correctDelta, GraphDesktopPane graphDesktopPane) + { + if(_timer.isRunning()) + { + checkDissolve(tf, graphDesktopPane); + return; + } + else + { + _timer.start(); + } + + double tolerance = 0.005; + + if ( ((double)correctDelta.x) / ((graphDesktopPane.getWidth())) > tolerance + || ((double)correctDelta.y) / ((graphDesktopPane.getHeight())) > tolerance) + { + checkDissolve(tf, graphDesktopPane); + } + } + + private void checkDissolve(TableFrame tf, GraphDesktopPane graphDesktopPane) + { + if (!graphDesktopPane.isGroupFrame(tf)) + { + graphDesktopPane.setGroupFrame(tf); + } + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |