Revision: 6192
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6192&view=rev
Author: gerdwagner
Date: 2011-03-14 23:30:01 +0000 (Mon, 14 Mar 2011)
Log Message:
-----------
More Query Builder
Modified Paths:
--------------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/session/SessionPanel.java
trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/gui/GUIUtils.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphController.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphMainPanelTab.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPlugin.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/xmlbeans/GraphXmlSerializer.java
Added Paths:
-----------
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/GraphWindowController.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/GraphWindowControllerListener.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/TabToWindowHandler.java
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/window/
trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/window/I18NStrings.properties
Removed Paths:
-------------
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DefaultGraphDisplay.java
trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/IGraphDisplay.java
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/session/SessionPanel.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/session/SessionPanel.java 2011-03-14 10:29:18 UTC (rev 6191)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/session/SessionPanel.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -508,8 +508,13 @@
{
_mainPanelFactory = panelFactory;
}
-
-
+
+ public int getTabCount()
+ {
+ return _mainTabPane.getTabbedPane().getTabCount();
+ }
+
+
private class MyToolBar extends ToolBar
{
private static final long serialVersionUID = 1L;
Modified: trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/gui/GUIUtils.java
===================================================================
--- trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/gui/GUIUtils.java 2011-03-14 10:29:18 UTC (rev 6191)
+++ trunk/sql12/fw/src/main/java/net/sourceforge/squirrel_sql/fw/gui/GUIUtils.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -456,4 +456,29 @@
}
return result.toString();
}
+
+ public static Point getScreenLocationFor(Component component)
+ {
+ Component comp = component;
+
+ Point ret = new Point(0,0);
+
+ for(;;)
+ {
+ Point buf;
+ if(comp instanceof Window)
+ {
+ buf = comp.getLocationOnScreen();
+ ret.translate(buf.x, buf.y);
+ return ret;
+ }
+ else
+ {
+ buf = comp.getLocation();
+ ret.translate(buf.x, buf.y);
+ comp = comp.getParent();
+ }
+
+ }
+ }
}
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DefaultGraphDisplay.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DefaultGraphDisplay.java 2011-03-14 10:29:18 UTC (rev 6191)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DefaultGraphDisplay.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -1,26 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import net.sourceforge.squirrel_sql.client.session.ISession;
-
-public class DefaultGraphDisplay implements IGraphDisplay
-{
- @Override
- public void showGraph(GraphMainPanelTab graphPane, ISession session)
- {
- session.getSessionSheet().addMainTab(graphPane);
- }
-
- @Override
- public void removeGraph(GraphMainPanelTab graphPane, ISession session)
- {
- session.getSessionSheet().removeMainTab(graphPane);
- }
-
- @Override
- public void renameGraph(GraphMainPanelTab graphPane, ISession session, String newName)
- {
- int index = session.getSessionSheet().removeMainTab(graphPane);
- graphPane.setTitle(newName);
- session.getSessionSheet().insertMainTab(graphPane, index);
- }
-}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphController.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphController.java 2011-03-14 10:29:18 UTC (rev 6191)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphController.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -3,6 +3,7 @@
import net.sourceforge.squirrel_sql.client.session.ISession;
import net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.ObjectTreeNode;
import net.sourceforge.squirrel_sql.fw.sql.ITableInfo;
+import net.sourceforge.squirrel_sql.plugins.graph.window.TabToWindowHandler;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.GraphControllerXmlBean;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.GraphXmlSerializer;
import net.sourceforge.squirrel_sql.plugins.graph.xmlbeans.TableFrameControllerXmlBean;
@@ -17,7 +18,6 @@
public class GraphController implements GraphControllerAccessor
{
private ISession _session;
- private GraphMainPanelTab _graphPane;
private GraphPanelController _panelController;
private TableFramesModel _tableFramesModel = new TableFramesModel();
@@ -26,14 +26,13 @@
private AddTableListener _addTableListener;
private GraphDesktopListener _graphDesktopListener;
private GraphPlugin _plugin;
- private DefaultGraphDisplay _graphDisplay;
+ private TabToWindowHandler _tabToWindowHandler;
private GraphXmlSerializer _xmlSerializer;
- public GraphController(ISession session, GraphPlugin plugin, GraphXmlSerializer xmlSerializer, DefaultGraphDisplay graphDisplay)
+ public GraphController(ISession session, GraphPlugin plugin, GraphXmlSerializer xmlSerializer)
{
_session = session;
_plugin = plugin;
- _graphDisplay = graphDisplay;
_graphDesktopListener = new GraphDesktopListener()
{
@@ -96,11 +95,12 @@
};
_panelController = new GraphPanelController(_tableFramesModel, _graphDesktopListener, _session, _plugin);
- _graphPane = new GraphMainPanelTab(_panelController, _plugin);
+ _tabToWindowHandler = new TabToWindowHandler(_panelController, _session, _plugin);
+
if(null == xmlSerializer)
{
- _xmlSerializer = new GraphXmlSerializer(_plugin, _session, _graphPane, null);
+ _xmlSerializer = new GraphXmlSerializer(_plugin, _session, _tabToWindowHandler.getTitle(), null);
}
else
{
@@ -119,18 +119,18 @@
if(null != xmlSerializer)
{
graphControllerXmlBean = _xmlSerializer.read();
- _graphPane.setTitle(graphControllerXmlBean.getTitle());
+ _tabToWindowHandler.setTitle(graphControllerXmlBean.getTitle());
_panelController.initMode(Mode.getForIndex(graphControllerXmlBean.getModeIndex()), graphControllerXmlBean.getZoomerXmlBean(), graphControllerXmlBean.getPrintXmlBean());
_panelController.getDesktopController().setShowConstraintNames(graphControllerXmlBean.isShowConstraintNames());
_panelController.getDesktopController().setShowQualifiedTableNames(graphControllerXmlBean.isShowQualifiedTableNames());
}
else
{
- _graphPane.setTitle(_plugin.patchName(_graphPane.getTitle(), _session));
+ _tabToWindowHandler.setTitle(_plugin.patchName(_tabToWindowHandler.getTitle(), _session));
_panelController.initMode(Mode.DEFAULT, null, null);
}
- _graphDisplay.showGraph(_graphPane, _session);
+ _tabToWindowHandler.showGraph();
if(null != graphControllerXmlBean)
{
@@ -176,13 +176,13 @@
private void removeGraph()
{
_xmlSerializer.remove();
- _graphDisplay.removeGraph(_graphPane, _session);
+ _tabToWindowHandler.removeGraph();
_plugin.removeGraphController(this, _session);
}
private void renameGraph(String newName)
{
- if(newName.equals(_graphPane.getTitle()))
+ if(newName.equals(_tabToWindowHandler.getTitle()))
{
return;
}
@@ -190,7 +190,7 @@
newName = _plugin.patchName(newName, _session);
_xmlSerializer.rename(newName);
- _graphDisplay.renameGraph(_graphPane, _session, newName);
+ _tabToWindowHandler.renameGraph(newName);
saveGraph();
}
@@ -198,7 +198,7 @@
public void saveGraph()
{
GraphControllerXmlBean xmlBean = new GraphControllerXmlBean();
- xmlBean.setTitle(_graphPane.getTitle());
+ xmlBean.setTitle(_tabToWindowHandler.getTitle());
xmlBean.setShowConstraintNames(_panelController.getDesktopController().isShowConstraintNames());
xmlBean.setZoomerXmlBean(_panelController.getDesktopController().getZoomer().getXmlBean());
xmlBean.setPrintXmlBean(_panelController.getDesktopController().getZoomPrintController().getPrintXmlBean());
@@ -424,7 +424,7 @@
public String getTitle()
{
- return _graphPane.getTitle();
+ return _tabToWindowHandler.getTitle();
}
public String toString()
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphMainPanelTab.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphMainPanelTab.java 2011-03-14 10:29:18 UTC (rev 6191)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphMainPanelTab.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -19,6 +19,7 @@
private JPanel _tabComponent;
private JLabel _lblTitle;
+ private JButton _btnToWindow;
public GraphMainPanelTab(GraphPanelController panelController, GraphPlugin plugin)
{
@@ -32,10 +33,10 @@
_tabComponent.add(_lblTitle, BorderLayout.CENTER);
ImageIcon icon = new GraphPluginResources(plugin).getIcon(GraphPluginResources.IKeys.TO_WINDOW);
- JButton btnToWindow = new JButton(icon);
- btnToWindow.setBorder(BorderFactory.createEmptyBorder());
- btnToWindow.setOpaque(false);
- _tabComponent.add(btnToWindow, BorderLayout.EAST);
+ _btnToWindow = new JButton(icon);
+ _btnToWindow.setBorder(BorderFactory.createEmptyBorder());
+ _btnToWindow.setOpaque(false);
+ _tabComponent.add(_btnToWindow, BorderLayout.EAST);
}
@@ -53,9 +54,7 @@
@Override
public Component getTabComponent()
{
- // return _tabComponent;
- return null;
-
+ return _tabComponent;
}
public String getHint()
@@ -73,4 +72,9 @@
{
_lblTitle.setText(title);
}
+
+ public JButton getToWindowButton()
+ {
+ return _btnToWindow;
+ }
}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPlugin.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPlugin.java 2011-03-14 10:29:18 UTC (rev 6191)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/GraphPlugin.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -171,7 +171,7 @@
for (int i = 0; i < controllers.length; i++)
{
- controllers[i] = new GraphController(session, this, serializers[i], new DefaultGraphDisplay());
+ controllers[i] = new GraphController(session, this, serializers[i]);
}
@@ -269,7 +269,7 @@
{
v.addAll(Arrays.asList(controllers));
}
- GraphController ret = new GraphController(session, this, null, new DefaultGraphDisplay());
+ GraphController ret = new GraphController(session, this, null);
v.add(ret);
controllers = v.toArray(new GraphController[v.size()]);
Deleted: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/IGraphDisplay.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/IGraphDisplay.java 2011-03-14 10:29:18 UTC (rev 6191)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/IGraphDisplay.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -1,12 +0,0 @@
-package net.sourceforge.squirrel_sql.plugins.graph;
-
-import net.sourceforge.squirrel_sql.client.session.ISession;
-
-public interface IGraphDisplay
-{
- void showGraph(GraphMainPanelTab graphPane, ISession session);
-
- void removeGraph(GraphMainPanelTab graphPane, ISession session);
-
- void renameGraph(GraphMainPanelTab graphPane, ISession session, String newName);
-}
Added: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/GraphWindowController.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/GraphWindowController.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/GraphWindowController.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -0,0 +1,214 @@
+package net.sourceforge.squirrel_sql.plugins.graph.window;
+
+import net.sourceforge.squirrel_sql.client.resources.SquirrelResources;
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.client.session.event.SessionAdapter;
+import net.sourceforge.squirrel_sql.client.session.event.SessionEvent;
+import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+import net.sourceforge.squirrel_sql.plugins.graph.GraphMainPanelTab;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+public class GraphWindowController
+{
+
+ private static final StringManager s_stringMgr = StringManagerFactory.getStringManager(GraphWindowController.class);
+
+
+ private ISession _session;
+ private int _tabIdx;
+ private GraphWindowControllerListener _listener;
+ private JCheckBox _chkStayOnTop;
+ private JButton _btnReturn;
+ private JPanel _contentPanel;
+
+ private JDialog _dlgWindow;
+ private JFrame _frameWindow;
+ private SessionAdapter _sessionAdapter;
+ private WindowAdapter _windowAdapter;
+
+
+ public GraphWindowController(ISession session, GraphMainPanelTab graphMainPanelTab, int tabIdx, Rectangle tabBoundsOnScreen, GraphWindowControllerListener listener)
+ {
+ _session = session;
+ _tabIdx = tabIdx;
+ _listener = listener;
+
+ _contentPanel = new JPanel(new BorderLayout());
+ _contentPanel.add(createTopPanel(), BorderLayout.NORTH);
+ _contentPanel.add(graphMainPanelTab.getComponent(), BorderLayout.CENTER);
+
+ _sessionAdapter = new SessionAdapter()
+ {
+ @Override
+ public void sessionClosing(SessionEvent evt)
+ {
+ onSessionClosing(evt); //To change body of overridden methods use File | Settings | File Templates.
+ }
+ };
+
+ _session.getApplication().getSessionManager().addSessionListener(_sessionAdapter);
+
+
+ _windowAdapter = new WindowAdapter()
+ {
+ @Override
+ public void windowClosing(WindowEvent e)
+ {
+ onWindowClosing();
+ }
+ };
+
+ showDialogWindow(tabBoundsOnScreen, graphMainPanelTab.getTitle());
+
+
+ _chkStayOnTop.setSelected(true);
+
+ _chkStayOnTop.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ onStayOnTopChanged();
+ }
+ });
+
+ _btnReturn.addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ onReturn();
+ }
+ });
+ }
+
+ private void onSessionClosing(SessionEvent evt)
+ {
+ if (evt.getSession() == _session)
+ {
+ close();
+ _session.getApplication().getSessionManager().removeSessionListener(_sessionAdapter);
+ }
+ }
+
+ private void showDialogWindow(Rectangle bounds, String title)
+ {
+ if(null != _frameWindow)
+ {
+ title = _frameWindow.getTitle();
+ bounds = _frameWindow.getBounds();
+ Point locOnScreen = _frameWindow.getLocationOnScreen();
+ bounds.x = locOnScreen.x;
+ bounds.y = locOnScreen.y;
+
+ _frameWindow.setVisible(false);
+ _frameWindow.removeWindowListener(_windowAdapter);
+ _frameWindow.getContentPane().removeAll();
+ _frameWindow.dispose();
+ _frameWindow = null;
+ }
+
+ _dlgWindow = new JDialog(_session.getApplication().getMainFrame());
+ _dlgWindow.setTitle(title);
+ _dlgWindow.getContentPane().setLayout(new GridLayout(1, 1));
+ _dlgWindow.getContentPane().add(_contentPanel);
+ _dlgWindow.setBounds(bounds);
+ _dlgWindow.addWindowListener(_windowAdapter);
+ _dlgWindow.setVisible(true);
+ }
+
+ private void showFrameWindow(Rectangle bounds, String title)
+ {
+ if(null != _dlgWindow)
+ {
+ title = _dlgWindow.getTitle();
+ bounds = _dlgWindow.getBounds();
+ Point locOnScreen = _dlgWindow.getLocationOnScreen();
+ bounds.x = locOnScreen.x;
+ bounds.y = locOnScreen.y;
+
+ _dlgWindow.setVisible(false);
+ _dlgWindow.removeWindowListener(_windowAdapter);
+ _dlgWindow.getContentPane().removeAll();
+ _dlgWindow.dispose();
+ _dlgWindow = null;
+
+ }
+
+ ImageIcon appIcon = _session.getApplication().getResources().getIcon(SquirrelResources.IImageNames.APPLICATION_ICON);
+
+ _frameWindow = new JFrame();
+ _frameWindow.setTitle(title);
+ _frameWindow.setIconImage(appIcon.getImage());
+ _frameWindow.getContentPane().setLayout(new GridLayout(1, 1));
+ _frameWindow.getContentPane().add(_contentPanel);
+ _frameWindow.setBounds(bounds);
+ _frameWindow.addWindowListener(_windowAdapter);
+ _frameWindow.setVisible(true);
+ }
+
+ private void onReturn()
+ {
+ close();
+ onWindowClosing();
+ }
+
+ private void close()
+ {
+ if (null != _dlgWindow)
+ {
+ _dlgWindow.setVisible(false);
+ _dlgWindow.dispose();
+ }
+ else if (null != _frameWindow)
+ {
+ _frameWindow.setVisible(false);
+ _frameWindow.dispose();
+ }
+ }
+
+ private void onStayOnTopChanged()
+ {
+ if(_chkStayOnTop.isSelected())
+ {
+ showDialogWindow(null, null);
+ }
+ else
+ {
+ showFrameWindow(null, null);
+ }
+ }
+
+ private JPanel createTopPanel()
+ {
+ JPanel ret = new JPanel(new GridBagLayout());
+
+ GridBagConstraints gbc;
+
+ gbc = new GridBagConstraints(0,0,1,1,0,0,GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5),0,0);
+ _chkStayOnTop = new JCheckBox(s_stringMgr.getString("graph.window.stayOnTop"));
+ ret.add(_chkStayOnTop, gbc);
+
+ gbc = new GridBagConstraints(1,0,1,1,0,0,GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5),0,0);
+ _btnReturn = new JButton(s_stringMgr.getString("graph.window.return"));
+ ret.add(_btnReturn, gbc);
+
+ gbc = new GridBagConstraints(2,0,1,1,1,1,GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5,5,5,5),0,0);
+ ret.add(new JPanel(), gbc);
+
+ return ret;
+ }
+
+ private void onWindowClosing()
+ {
+ _listener.closing(_tabIdx);
+ }
+}
Added: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/GraphWindowControllerListener.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/GraphWindowControllerListener.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/GraphWindowControllerListener.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -0,0 +1,6 @@
+package net.sourceforge.squirrel_sql.plugins.graph.window;
+
+public interface GraphWindowControllerListener
+{
+ void closing(int tabIdx);
+}
Copied: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/TabToWindowHandler.java (from rev 6191, trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/DefaultGraphDisplay.java)
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/TabToWindowHandler.java (rev 0)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/window/TabToWindowHandler.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -0,0 +1,100 @@
+package net.sourceforge.squirrel_sql.plugins.graph.window;
+
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.fw.gui.GUIUtils;
+import net.sourceforge.squirrel_sql.plugins.graph.GraphMainPanelTab;
+import net.sourceforge.squirrel_sql.plugins.graph.GraphPanelController;
+import net.sourceforge.squirrel_sql.plugins.graph.GraphPlugin;
+
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+public class TabToWindowHandler
+{
+ private GraphMainPanelTab _graphMainPanelTab;
+ private ISession _session;
+
+ public TabToWindowHandler(GraphPanelController panelController, ISession session, GraphPlugin plugin)
+ {
+ _session = session;
+ _graphMainPanelTab = new GraphMainPanelTab(panelController, plugin);
+ _graphMainPanelTab.getToWindowButton().addActionListener(new ActionListener()
+ {
+ @Override
+ public void actionPerformed(ActionEvent e)
+ {
+ toWindow();
+ }
+ });
+ }
+
+ private void toWindow()
+ {
+ Dimension size = _graphMainPanelTab.getComponent().getSize();
+ Point screenLoc = GUIUtils.getScreenLocationFor(_graphMainPanelTab.getComponent());
+
+ Rectangle tabBoundsOnScreen = new Rectangle();
+ tabBoundsOnScreen.x =screenLoc.x;
+ tabBoundsOnScreen.y =screenLoc.y;
+ tabBoundsOnScreen.width = size.width;
+ tabBoundsOnScreen.height = size.height;
+
+
+
+ final int tabIdx = _session.getSessionSheet().removeMainTab(_graphMainPanelTab);
+
+ GraphWindowControllerListener listener = new GraphWindowControllerListener()
+ {
+ @Override
+ public void closing(int tabIdx)
+ {
+ onWindowClosing(tabIdx);
+ }
+ };
+
+ GraphWindowController graphWindowController =
+ new GraphWindowController(_session, _graphMainPanelTab, tabIdx, tabBoundsOnScreen, listener);
+
+
+ }
+
+ private void onWindowClosing(int tabIdx)
+ {
+ if(tabIdx <_session.getSessionSheet().getTabCount())
+ {
+ _session.getSessionSheet().insertMainTab(_graphMainPanelTab, tabIdx);
+ }
+ else
+ {
+ _session.getSessionSheet().addMainTab(_graphMainPanelTab);
+ }
+ }
+
+ public void showGraph()
+ {
+ _session.getSessionSheet().addMainTab(_graphMainPanelTab);
+ }
+
+ public void removeGraph()
+ {
+ _session.getSessionSheet().removeMainTab(_graphMainPanelTab);
+ }
+
+ public void renameGraph(String newName)
+ {
+ int index = _session.getSessionSheet().removeMainTab(_graphMainPanelTab);
+ _graphMainPanelTab.setTitle(newName);
+ _session.getSessionSheet().insertMainTab(_graphMainPanelTab, index);
+ }
+
+ public String getTitle()
+ {
+ return _graphMainPanelTab.getTitle();
+ }
+
+ public void setTitle(String title)
+ {
+ _graphMainPanelTab.setTitle(title);
+ }
+}
Modified: trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/xmlbeans/GraphXmlSerializer.java
===================================================================
--- trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/xmlbeans/GraphXmlSerializer.java 2011-03-14 10:29:18 UTC (rev 6191)
+++ trunk/sql12/plugins/graph/src/main/java/net/sourceforge/squirrel_sql/plugins/graph/xmlbeans/GraphXmlSerializer.java 2011-03-14 23:30:01 UTC (rev 6192)
@@ -28,7 +28,7 @@
/**
* Either graphPane or graphFileName might be null.
*/
- public GraphXmlSerializer(GraphPlugin plugin, ISession session, GraphMainPanelTab graphPane, String graphFileName)
+ public GraphXmlSerializer(GraphPlugin plugin, ISession session, String title, String graphFileName)
{
try
{
@@ -38,7 +38,7 @@
if(null == graphFileName)
{
- _graphFile = getFileName(plugin.getPluginUserSettingsFolder().getPath(), url, graphPane.getTitle());
+ _graphFile = getFileName(plugin.getPluginUserSettingsFolder().getPath(), url, title);
}
else
{
Copied: trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/window/I18NStrings.properties (from rev 6191, 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/window/I18NStrings.properties (rev 0)
+++ trunk/sql12/plugins/graph/src/main/resources/net/sourceforge/squirrel_sql/plugins/graph/window/I18NStrings.properties 2011-03-14 23:30:01 UTC (rev 6192)
@@ -0,0 +1,2 @@
+graph.window.return=Return
+graph.window.stayOnTop=Stay on top
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|