[Squirrel-sql-commits] sql12/app/src/net/sourceforge/squirrel_sql/client/plugin I18NStrings.proper
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
Update of /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/plugin In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv32338/app/src/net/sourceforge/squirrel_sql/client/plugin Modified Files: I18NStrings.properties PluginSummaryDialog.java PluginSummaryTable.java PluginManager.java Log Message: Added unload button to plugin summary dialog which will cause the selected plugin to be unloaded. Index: I18NStrings.properties =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/plugin/I18NStrings.properties,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** I18NStrings.properties 29 Apr 2007 18:36:25 -0000 1.4 --- I18NStrings.properties 5 May 2007 13:41:30 -0000 1.5 *************** *** 15,18 **** --- 15,19 ---- PluginSummaryDialog.ok=OK PluginSummaryDialog.title=SQuirreL SQL Client Plugin Summary + PluginSummaryDialog.unload=Unload PluginSummaryDialog.pluginloc=Plugins location: {0} Index: PluginManager.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/plugin/PluginManager.java,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** PluginManager.java 1 May 2007 00:53:06 -0000 1.21 --- PluginManager.java 5 May 2007 13:41:30 -0000 1.22 *************** *** 289,292 **** --- 289,302 ---- } + public synchronized void unloadPlugin(String pluginInternalName) { + for (Iterator<IPlugin> it = _loadedPlugins.values().iterator(); it.hasNext();) { + IPlugin plugin = it.next(); + if (plugin.getInternalName().equals(pluginInternalName)) { + plugin.unload(); + it.remove(); + } + } + } + /** * Unload all plugins. Index: PluginSummaryTable.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/plugin/PluginSummaryTable.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PluginSummaryTable.java 29 Apr 2007 18:36:25 -0000 1.3 --- PluginSummaryTable.java 5 May 2007 13:41:30 -0000 1.4 *************** *** 28,31 **** --- 28,32 ---- import javax.swing.table.TableColumnModel; + import net.sourceforge.squirrel_sql.client.IApplication; import net.sourceforge.squirrel_sql.fw.gui.SortableTable; import net.sourceforge.squirrel_sql.fw.gui.SortableTableModel; *************** *** 67,71 **** }; ! public PluginSummaryTable(PluginInfo[] pluginInfo, PluginStatus[] pluginStatus) { super(new MyTableModel(pluginInfo, pluginStatus)); --- 68,72 ---- }; ! public PluginSummaryTable(IApplication app, PluginInfo[] pluginInfo, PluginStatus[] pluginStatus) { super(new MyTableModel(pluginInfo, pluginStatus)); *************** *** 192,198 **** { final PluginData pd = _pluginData.get(row); ! pd._status.setLoadAtStartup(Boolean.valueOf(value.toString()).booleanValue()); fireTableCellUpdated(row, col); } } --- 193,206 ---- { final PluginData pd = _pluginData.get(row); ! boolean loadAtStartup = ! Boolean.valueOf(value.toString()).booleanValue(); ! pd._status.setLoadAtStartup(loadAtStartup); fireTableCellUpdated(row, col); } + if (col == 3) { + final PluginData pd = _pluginData.get(row); + pd._info.setLoaded(Boolean.valueOf(value.toString())); + fireTableCellUpdated(row, col); + } } Index: PluginSummaryDialog.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/plugin/PluginSummaryDialog.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** PluginSummaryDialog.java 29 Apr 2007 18:36:25 -0000 1.9 --- PluginSummaryDialog.java 5 May 2007 13:41:30 -0000 1.10 *************** *** 35,38 **** --- 35,39 ---- import javax.swing.JScrollPane; import javax.swing.KeyStroke; + import javax.swing.event.TableModelEvent; import net.sourceforge.squirrel_sql.client.IApplication; *************** *** 57,60 **** --- 58,67 ---- private PluginSummaryTable _pluginPnl; + static interface i18n { + //i18n[PluginSummaryDialog.unload=Unload] + String UNLOAD_LABEL = + s_stringMgr.getString("PluginSummaryDialog.unload"); + } + public PluginSummaryDialog(IApplication app, Frame owner) throws DataSetException *************** *** 95,99 **** final PluginInfo[] pluginInfo = pmgr.getPluginInformation(); final PluginStatus[] pluginStatus = pmgr.getPluginStatuses(); ! _pluginPnl = new PluginSummaryTable(pluginInfo, pluginStatus); contentPane.add(new JScrollPane(_pluginPnl), BorderLayout.CENTER); --- 102,106 ---- final PluginInfo[] pluginInfo = pmgr.getPluginInformation(); final PluginStatus[] pluginStatus = pmgr.getPluginStatuses(); ! _pluginPnl = new PluginSummaryTable(_app, pluginInfo, pluginStatus); contentPane.add(new JScrollPane(_pluginPnl), BorderLayout.CENTER); *************** *** 109,112 **** --- 116,137 ---- }); btnsPnl.add(okBtn); + final JButton unloadButton = new JButton(i18n.UNLOAD_LABEL); + unloadButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent evt) { + int row = _pluginPnl.getSelectedRow(); + if (row == -1) { + // no rows selected. + return; + } + // column 1 is internal name + String internalName = + (String)_pluginPnl.getModel().getValueAt(row, 1); + _app.getPluginManager().unloadPlugin(internalName); + // column 3 is loaded status + _pluginPnl.setValueAt("false", row, 3); + _pluginPnl.repaint(); + } + }); + btnsPnl.add(unloadButton); final JButton closeBtn = new JButton(s_stringMgr.getString("PluginSummaryDialog.close")); closeBtn.addActionListener(new ActionListener() |