Author: jm
Date: 2011-04-29 15:03:10 -0700 (Fri, 29 Apr 2011)
New Revision: 24858
Added:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
Removed:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java
Modified:
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
core3/session-api/trunk/src/main/java/org/cytoscape/session/CyApplicationManager.java
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyApplicationManagerImpl.java
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoscapeMenuPopulator.java
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
core3/table-browser-impl/trunk/pom.xml
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Added actions for exporting node and edge attributes
Removed dependencies on table-browser-api
Renamed TableBrowserImpl back to TableBrowser
Added:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
(rev 0)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,20 @@
+package org.cytoscape.task.internal.exporttable;
+
+import org.cytoscape.io.write.CyTableWriterManager;
+import org.cytoscape.task.AbstractDataTableTaskFactory;
+import org.cytoscape.task.internal.io.CyTableWriter;
+import org.cytoscape.work.TaskIterator;
+
+public class ExportCurrentTableTaskFactory extends
AbstractDataTableTaskFactory {
+
+ private final CyTableWriterManager writerManager;
+
+ public ExportCurrentTableTaskFactory(CyTableWriterManager
writerManager) {
+ this.writerManager = writerManager;
+ }
+
+ @Override
+ public TaskIterator getTaskIterator() {
+ return new TaskIterator(new CyTableWriter(writerManager,
table));
+ }
+}
Property changes on:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportCurrentTableTaskFactory.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
(rev 0)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,23 @@
+package org.cytoscape.task.internal.exporttable;
+
+import org.cytoscape.io.write.CyTableWriterManager;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.task.AbstractNetworkViewTaskFactory;
+import org.cytoscape.task.internal.io.CyTableWriter;
+import org.cytoscape.work.TaskIterator;
+
+public class ExportEdgeTableTaskFactory extends AbstractNetworkViewTaskFactory
{
+
+ private final CyTableWriterManager writerManager;
+
+ public ExportEdgeTableTaskFactory(CyTableWriterManager writerManager) {
+ this.writerManager = writerManager;
+ }
+
+ @Override
+ public TaskIterator getTaskIterator() {
+ CyTable table = view.getModel().getDefaultEdgeTable();
+ return new TaskIterator(new CyTableWriter(writerManager,
table));
+ }
+
+}
Property changes on:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportEdgeTableTaskFactory.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
(rev 0)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,23 @@
+package org.cytoscape.task.internal.exporttable;
+
+import org.cytoscape.io.write.CyTableWriterManager;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.task.AbstractNetworkViewTaskFactory;
+import org.cytoscape.task.internal.io.CyTableWriter;
+import org.cytoscape.work.TaskIterator;
+
+public class ExportNodeTableTaskFactory extends AbstractNetworkViewTaskFactory
{
+
+ private final CyTableWriterManager writerManager;
+
+ public ExportNodeTableTaskFactory(CyTableWriterManager writerManager) {
+ this.writerManager = writerManager;
+ }
+
+ @Override
+ public TaskIterator getTaskIterator() {
+ CyTable table = view.getModel().getDefaultNodeTable();
+ return new TaskIterator(new CyTableWriter(writerManager,
table));
+ }
+
+}
Property changes on:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/exporttable/ExportNodeTableTaskFactory.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
---
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-04-29 20:28:52 UTC (rev 24857)
+++
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-04-29 22:03:10 UTC (rev 24858)
@@ -72,6 +72,8 @@
<osgi:reference id="cyLayoutsServiceRef"
interface="org.cytoscape.view.layout.CyLayouts" />
+ <osgi:reference id="cyTableWriterManagerRef"
interface="org.cytoscape.io.write.CyTableWriterManager" />
+
<!-- now register our services -->
<osgi:service id="loadNetworkFileTaskFactoryService"
ref="loadNetworkFileTaskFactory"
interface="org.cytoscape.work.TaskFactory">
@@ -511,6 +513,26 @@
</osgi:service-properties>
</osgi:service>
+ <osgi:service id="exportNodeTableTaskFactoryService"
ref="exportNodeTableTaskFactory"
+ interface="org.cytoscape.task.NetworkViewTaskFactory">
+ <osgi:service-properties>
+ <entry key="title" value="File..." />
+ <entry key="preferredMenu" value="File.Export.Node
Attributes" />
+ <entry key="enableFor" value="networkAndView" />
+ <entry key="menuGravity" value="1.0" />
+ </osgi:service-properties>
+ </osgi:service>
+
+ <osgi:service id="exportEdgeTableTaskFactoryService"
ref="exportEdgeTableTaskFactory"
+ interface="org.cytoscape.task.NetworkViewTaskFactory">
+ <osgi:service-properties>
+ <entry key="title" value="File..." />
+ <entry key="preferredMenu" value="File.Export.Edge
Attributes" />
+ <entry key="enableFor" value="networkAndView" />
+ <entry key="menuGravity" value="1.1" />
+ </osgi:service-properties>
+ </osgi:service>
+
<!-- consider removing -->
<!-- useful for command line, but not otherwise <osgi:service
id="setCurrentNetworkTaskFactoryService"
ref="setCurrentNetworkTaskFactory"
interface="org.cytoscape.work.TaskFactory"/> -->
Modified:
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
---
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-04-29 20:28:52 UTC (rev 24857)
+++
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-04-29 22:03:10 UTC (rev 24858)
@@ -293,6 +293,21 @@
<constructor-arg ref="networkViewWriterManagerServiceRef" />
</bean>
+ <bean id="exportNodeTableTaskFactory"
+
class="org.cytoscape.task.internal.exporttable.ExportNodeTableTaskFactory">
+ <constructor-arg ref="cyTableWriterManagerRef" />
+ </bean>
+
+ <bean id="exportEdgeTableTaskFactory"
+
class="org.cytoscape.task.internal.exporttable.ExportEdgeTableTaskFactory">
+ <constructor-arg ref="cyTableWriterManagerRef" />
+ </bean>
+
+ <bean id="exportCurrentTableTaskFactory"
+
class="org.cytoscape.task.internal.exporttable.ExportCurrentTableTaskFactory">
+ <constructor-arg ref="cyTableWriterManagerRef" />
+ </bean>
+
<bean id="applyPreferredLayoutTaskFactory"
class="org.cytoscape.task.internal.layout.ApplyPreferredLayoutTaskFactory">
<constructor-arg ref="cyLayoutsServiceRef" />
Modified:
core3/session-api/trunk/src/main/java/org/cytoscape/session/CyApplicationManager.java
===================================================================
---
core3/session-api/trunk/src/main/java/org/cytoscape/session/CyApplicationManager.java
2011-04-29 20:28:52 UTC (rev 24857)
+++
core3/session-api/trunk/src/main/java/org/cytoscape/session/CyApplicationManager.java
2011-04-29 22:03:10 UTC (rev 24858)
@@ -34,6 +34,7 @@
import java.util.Set;
import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyTable;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.presentation.RenderingEngine;
@@ -106,4 +107,15 @@
* @param engine The rendering engine that should be made current.
*/
public void setCurrentRenderingEngine(final RenderingEngine<CyNetwork>
engine);
+
+ /**
+ * Returns the currently active table.
+ */
+ public CyTable getCurrentTable();
+
+ /**
+ * Sets the currently active table.
+ * @param table The table that should be made current.
+ */
+ public void setCurrentTable(CyTable table);
}
Modified:
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyApplicationManagerImpl.java
===================================================================
---
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyApplicationManagerImpl.java
2011-04-29 20:28:52 UTC (rev 24857)
+++
core3/session-impl/trunk/src/main/java/org/cytoscape/session/internal/CyApplicationManagerImpl.java
2011-04-29 22:03:10 UTC (rev 24858)
@@ -37,6 +37,7 @@
import org.cytoscape.event.CyEventHelper;
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyTable;
import org.cytoscape.model.events.NetworkAboutToBeDestroyedEvent;
import org.cytoscape.model.events.NetworkAboutToBeDestroyedListener;
import org.cytoscape.session.CyApplicationManager;
@@ -73,6 +74,8 @@
private CyNetworkView currentNetworkView;
private RenderingEngine<CyNetwork> currentRenderer;
+ private CyTable currentTable;
+
/**
*
* @param cyEventHelper
@@ -281,4 +284,14 @@
cyEventHelper.fireSynchronousEvent(new
SetCurrentRenderingEngineEvent(this, this.currentRenderer));
}
+
+ @Override
+ public CyTable getCurrentTable() {
+ return currentTable;
+ }
+
+ @Override
+ public void setCurrentTable(CyTable table) {
+ currentTable = table;
+ }
}
Added:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
(rev 0)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,24 @@
+package org.cytoscape.internal.task;
+
+import java.awt.event.ActionEvent;
+import java.util.Map;
+
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.task.DataTableTaskFactory;
+import org.cytoscape.work.TaskManager;
+
+public class TableTaskFactoryTunableAction extends
TaskFactoryTunableAction<DataTableTaskFactory>{
+
+ public TableTaskFactoryTunableAction(
+ TaskManager manager,
+ DataTableTaskFactory factory,
@SuppressWarnings("rawtypes") Map serviceProps,
+ final CyApplicationManager applicationManager) {
+ super(manager, factory, serviceProps, applicationManager);
+ }
+
+ public void actionPerformed(ActionEvent a) {
+ factory.setDataTable(applicationManager.getCurrentTable());
+ super.actionPerformed(a);
+ }
+
+}
Property changes on:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/task/TableTaskFactoryTunableAction.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoscapeMenuPopulator.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoscapeMenuPopulator.java
2011-04-29 20:28:52 UTC (rev 24857)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/CytoscapeMenuPopulator.java
2011-04-29 22:03:10 UTC (rev 24858)
@@ -31,32 +31,29 @@
-import org.cytoscape.session.CyApplicationManager;
-import org.cytoscape.view.model.CyNetworkViewManager;
+import java.util.HashMap;
+import java.util.Map;
import org.cytoscape.application.swing.CyAction;
import org.cytoscape.application.swing.CySwingApplication;
import org.cytoscape.internal.task.CytoPanelTaskFactoryTunableAction;
-import org.cytoscape.internal.task.TaskFactoryTunableAction;
import org.cytoscape.internal.task.NetworkCollectionTaskFactoryTunableAction;
import org.cytoscape.internal.task.NetworkTaskFactoryTunableAction;
import
org.cytoscape.internal.task.NetworkViewCollectionTaskFactoryTunableAction;
import org.cytoscape.internal.task.NetworkViewTaskFactoryTunableAction;
-
-
-import java.util.Map;
-import java.util.HashMap;
-
+import org.cytoscape.internal.task.TableTaskFactoryTunableAction;
+import org.cytoscape.internal.task.TaskFactoryTunableAction;
+import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.task.DataTableTaskFactory;
+import org.cytoscape.task.NetworkCollectionTaskFactory;
+import org.cytoscape.task.NetworkTaskFactory;
+import org.cytoscape.task.NetworkViewCollectionTaskFactory;
+import org.cytoscape.task.NetworkViewTaskFactory;
import org.cytoscape.work.TaskFactory;
import org.cytoscape.work.swing.GUITaskManager;
-import org.cytoscape.task.NetworkTaskFactory;
-import org.cytoscape.task.NetworkViewTaskFactory;
-import org.cytoscape.task.NetworkCollectionTaskFactory;
-import org.cytoscape.task.NetworkViewCollectionTaskFactory;
-import org.cytoscape.service.util.CyServiceRegistrar;
-
/**
* Creates the menu and tool bars for a Cytoscape window object. It
* also provides access to individual menus and items.<BR>
@@ -132,6 +129,14 @@
removeFactory(factory, props);
}
+ public void addTableTaskFactory(DataTableTaskFactory factory, Map
props) {
+ addFactory(new TableTaskFactoryTunableAction(taskManager,
factory, props, appManager), factory, props);
+ }
+
+ public void removeTableTaskFactory(DataTableTaskFactory factory, Map
props) {
+ removeFactory(factory, props);
+ }
+
private <F extends TaskFactory> void addFactory(CyAction action, F
factory, Map props) {
taskMap.put(factory,action);
app.addAction(action);
Modified:
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
---
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-04-29 20:28:52 UTC (rev 24857)
+++
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-04-29 22:03:10 UTC (rev 24858)
@@ -77,8 +77,7 @@
<osgi:reference id="cyServiceRegistrarServiceRef"
interface="org.cytoscape.service.util.CyServiceRegistrar">
</osgi:reference>
-
-
+
<!-- define services that application provides -->
<!-- <osgi:service id="proxyHandlerService" ref="proxyHandler"> -->
@@ -182,6 +181,13 @@
unbind-method="removeNetworkViewCollectionTaskFactory"
ref="cytoscapeMenuPopulator" />
</osgi:set>
+ <osgi:set id="tableTaskFactorySet"
+ interface="org.cytoscape.task.DataTableTaskFactory"
+ cardinality="0..N">
+ <osgi:listener bind-method="addTableTaskFactory"
+ unbind-method="removeTableTaskFactory"
ref="cytoscapeMenuPopulator" />
+ </osgi:set>
+
<!-- presentation factory -->
<osgi:set id="presentationFactorySet"
interface="org.cytoscape.view.presentation.RenderingEngineFactory"
Modified: core3/table-browser-impl/trunk/pom.xml
===================================================================
--- core3/table-browser-impl/trunk/pom.xml 2011-04-29 20:28:52 UTC (rev
24857)
+++ core3/table-browser-impl/trunk/pom.xml 2011-04-29 22:03:10 UTC (rev
24858)
@@ -159,8 +159,8 @@
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
- <artifactId>table-browser-api</artifactId>
- <version>3.0.0-alpha2-SNAPSHOT</version>
+ <artifactId>session-api</artifactId>
+ <version>3.0.0-alpha3-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
Copied:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
(from rev 24841,
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java)
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
(rev 0)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowser.java
2011-04-29 22:03:10 UTC (rev 24858)
@@ -0,0 +1,184 @@
+package org.cytoscape.browser.internal;
+
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Properties;
+
+import javax.swing.Icon;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableColumn;
+import javax.swing.table.TableColumnModel;
+import javax.swing.table.TableRowSorter;
+
+import org.cytoscape.application.swing.CytoPanelComponent;
+import org.cytoscape.application.swing.CytoPanelName;
+import org.cytoscape.browser.ui.AttributeBrowserToolBar;
+import org.cytoscape.equations.EquationCompiler;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyTable;
+import org.cytoscape.model.CyTableManager;
+import org.cytoscape.model.CyTableRowUpdateService;
+import org.cytoscape.model.events.TableAboutToBeDeletedEvent;
+import org.cytoscape.model.events.TableAboutToBeDeletedListener;
+import org.cytoscape.service.util.CyServiceRegistrar;
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.task.TableTaskFactory;
+import org.cytoscape.util.swing.OpenBrowser;
+import org.cytoscape.view.model.events.NetworkViewAddedEvent;
+import org.cytoscape.view.model.events.NetworkViewAddedListener;
+import org.cytoscape.work.swing.GUITaskManager;
+
+
+@SuppressWarnings("serial")
+public class TableBrowser
+ extends JPanel implements CytoPanelComponent, ActionListener,
NetworkViewAddedListener, TableAboutToBeDeletedListener
+{
+ private final CyTableManager tableManager;
+ private final CyServiceRegistrar serviceRegistrar;
+ private final EquationCompiler compiler;
+ private final BrowserTable browserTable;
+ private final CyTableRowUpdateService tableRowUpdateService;
+ private final AttributeBrowserToolBar attributeBrowserToolBar;
+ private final TableChooser tableChooser;
+ private BrowserTableModel browserTableModel;
+ private CyTable currentTable;
+ private final TableTaskFactory deleteTableTaskFactoryService;
+ private final GUITaskManager guiTaskManagerServiceRef;
+ private final Map<CyTable, TableMetadata> tableToMetadataMap;
+ private final CyApplicationManager applicationManager;
+
+ TableBrowser(final CyTableManager tableManager, final
CyServiceRegistrar serviceRegistrar,
+ final EquationCompiler compiler, final OpenBrowser
openBrowser,
+ final CyNetworkManager networkManager,
+ final CyTableRowUpdateService tableRowUpdateService,
+ final TableTaskFactory deleteTableTaskFactoryService,
+ final GUITaskManager guiTaskManagerServiceRef,
+ final PopupMenuHelper popupMenuHelper,
+ final CyApplicationManager applicationManager)
+ {
+ this.tableManager = tableManager;
+ this.serviceRegistrar = serviceRegistrar;
+ this.compiler = compiler;
+
+ this.deleteTableTaskFactoryService =
deleteTableTaskFactoryService;
+ this.guiTaskManagerServiceRef = guiTaskManagerServiceRef;
+ this.tableToMetadataMap = new HashMap<CyTable, TableMetadata>();
+ this.applicationManager = applicationManager;
+
+ this.browserTable = new BrowserTable(openBrowser, compiler,
popupMenuHelper);
+ this.tableRowUpdateService = tableRowUpdateService;
+ this.attributeBrowserToolBar = new
AttributeBrowserToolBar(serviceRegistrar, compiler,
+ this.deleteTableTaskFactoryService,
this.guiTaskManagerServiceRef);
+ this.setLayout(new BorderLayout());
+
+ browserTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
+
+ tableChooser = new TableChooser(tableManager, networkManager);
+ tableChooser.addActionListener(this);
+ add(tableChooser, BorderLayout.SOUTH);
+ browserTable.getTableHeader().setBackground(Color.LIGHT_GRAY);
+ add(new JScrollPane(browserTable), BorderLayout.CENTER);
+ add(attributeBrowserToolBar, BorderLayout.NORTH);
+ }
+
+ /**
+ * Returns the Component to be added to the CytoPanel.
+ * @return The Component to be added to the CytoPanel.
+ */
+ public Component getComponent() { return this; }
+
+ /**
+ * Returns the name of the CytoPanel that this component should be
added to.
+ * @return the name of the CytoPanel that this component should be
added to.
+ */
+ public CytoPanelName getCytoPanelName() {
+ return CytoPanelName.SOUTH;
+ }
+
+ /**
+ * Returns the title of the tab within the CytoPanel for this component.
+ * @return the title of the tab within the CytoPanel for this component.
+ */
+ public String getTitle() { return "Attribute Browser"; }
+
+ /**
+ * @return null
+ */
+ public Icon getIcon() { return null; }
+
+ public void actionPerformed(final ActionEvent e) {
+ final CyTable table = (CyTable)tableChooser.getSelectedItem();
+
+ if (table == null && table != currentTable) {
+ if (browserTableModel != null) {
+ browserTableModel.cleanup();
+
serviceRegistrar.unregisterAllServices(browserTableModel);
+ }
+ currentTable = null;
+ browserTableModel = null;
+ browserTable.setModel(new DefaultTableModel());
+ attributeBrowserToolBar.setBrowserTableModel(null);
+ }
+
+ if (table != null && table != currentTable) {
+ if (browserTableModel != null) {
+ final TableColumnModel columnModel =
+
browserTableModel.getTable().getColumnModel();
+ tableToMetadataMap.put(currentTable,
+ new
TableMetadata(columnModel,
+
browserTableModel));
+ browserTableModel.cleanup();
+
serviceRegistrar.unregisterAllServices(browserTableModel);
+ }
+
+ currentTable = table;
+ browserTableModel = new BrowserTableModel(browserTable,
table, compiler,
+
tableRowUpdateService);
+ serviceRegistrar.registerAllServices(browserTableModel,
new Properties());
+ browserTable.setModel(browserTableModel);
+ browserTable.setRowSorter(new
TableRowSorter(browserTableModel));
+
attributeBrowserToolBar.setBrowserTableModel(browserTableModel);
+ final TableMetadata tableMetadata =
tableToMetadataMap.get(currentTable);
+ if (tableMetadata != null) {
+ final JTable jTable =
browserTableModel.getTable();
+ final TableColumnModel columnModel =
jTable.getColumnModel();
+ final Iterator<ColumnDescriptor>
columnDescIter = tableMetadata.getColumnDescriptors();
+ while (columnDescIter.hasNext()) {
+ final ColumnDescriptor desc =
columnDescIter.next();
+ final int savedColumnIndex =
desc.getColumnIndex();
+ final TableColumn tableColumn =
columnModel.getColumn(savedColumnIndex);
+
tableColumn.setPreferredWidth(desc.getColumnWidth());
+ final int currentColumnIndex =
+ jTable.convertColumnIndexToView(
+
browserTableModel.mapColumnNameToColumnIndex(desc.getColumnName()));
+ if (currentColumnIndex !=
savedColumnIndex)
+
jTable.moveColumn(currentColumnIndex, savedColumnIndex);
+ }
+ }
+ }
+ applicationManager.setCurrentTable(currentTable);
+ }
+
+ public void handleEvent(final NetworkViewAddedEvent e) {
+ final CyTable nodeTable =
e.getNetworkView().getModel().getDefaultNodeTable();
+ final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
+ comboBoxModel.addAndSetSelectedItem(nodeTable);
+ }
+
+ public void handleEvent(final TableAboutToBeDeletedEvent e) {
+ final CyTable cyTable = e.getTable();
+ final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
+ comboBoxModel.removeItem(cyTable);
+ tableToMetadataMap.remove(cyTable);
+ }
+}
\ No newline at end of file
Deleted:
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java
===================================================================
---
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java
2011-04-29 20:28:52 UTC (rev 24857)
+++
core3/table-browser-impl/trunk/src/main/java/org/cytoscape/browser/internal/TableBrowserImpl.java
2011-04-29 22:03:10 UTC (rev 24858)
@@ -1,189 +0,0 @@
-package org.cytoscape.browser.internal;
-
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.event.ActionListener;
-import java.awt.event.ActionEvent;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.swing.JPanel;
-import javax.swing.Icon;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.table.DefaultTableModel;
-import javax.swing.table.TableColumn;
-import javax.swing.table.TableColumnModel;
-import javax.swing.table.TableRowSorter;
-
-import org.cytoscape.browser.TableBrowser;
-import org.cytoscape.browser.ui.AttributeBrowserToolBar;
-import org.cytoscape.equations.EquationCompiler;
-import org.cytoscape.event.CyEventHelper;
-import org.cytoscape.model.CyNetworkManager;
-import org.cytoscape.model.CyTable;
-import org.cytoscape.model.CyTableManager;
-import org.cytoscape.model.CyTableRowUpdateService;
-import org.cytoscape.model.events.RowCreatedMicroListener;
-import org.cytoscape.model.events.TableDeletedEvent;
-import org.cytoscape.application.swing.CytoPanelComponent;
-import org.cytoscape.application.swing.CytoPanelName;
-import org.cytoscape.service.util.CyServiceRegistrar;
-import org.cytoscape.util.swing.OpenBrowser;
-import org.cytoscape.view.model.events.NetworkViewAddedEvent;
-import org.cytoscape.view.model.events.NetworkViewAddedListener;
-import org.cytoscape.model.events.TableAboutToBeDeletedListener;
-import org.cytoscape.model.events.TableAboutToBeDeletedEvent;
-import org.cytoscape.task.TableTaskFactory;
-import org.cytoscape.work.swing.GUITaskManager;
-
-
-@SuppressWarnings("serial")
-public class TableBrowserImpl
- extends JPanel implements CytoPanelComponent, ActionListener,
NetworkViewAddedListener, TableAboutToBeDeletedListener, TableBrowser
-{
- private final CyTableManager tableManager;
- private final CyServiceRegistrar serviceRegistrar;
- private final EquationCompiler compiler;
- private final BrowserTable browserTable;
- private final CyTableRowUpdateService tableRowUpdateService;
- private final AttributeBrowserToolBar attributeBrowserToolBar;
- private final TableChooser tableChooser;
- private BrowserTableModel browserTableModel;
- private CyTable currentTable;
- private final TableTaskFactory deleteTableTaskFactoryService;
- private final GUITaskManager guiTaskManagerServiceRef;
- private final Map<CyTable, TableMetadata> tableToMetadataMap;
-
- TableBrowserImpl(final CyTableManager tableManager, final
CyServiceRegistrar serviceRegistrar,
- final EquationCompiler compiler, final OpenBrowser
openBrowser,
- final CyNetworkManager networkManager,
- final CyTableRowUpdateService tableRowUpdateService,
- final TableTaskFactory deleteTableTaskFactoryService,
- final GUITaskManager guiTaskManagerServiceRef,
- final PopupMenuHelper popupMenuHelper)
- {
- this.tableManager = tableManager;
- this.serviceRegistrar = serviceRegistrar;
- this.compiler = compiler;
-
- this.deleteTableTaskFactoryService =
deleteTableTaskFactoryService;
- this.guiTaskManagerServiceRef = guiTaskManagerServiceRef;
- this.tableToMetadataMap = new HashMap<CyTable, TableMetadata>();
-
- this.browserTable = new BrowserTable(openBrowser, compiler,
popupMenuHelper);
- this.tableRowUpdateService = tableRowUpdateService;
- this.attributeBrowserToolBar = new
AttributeBrowserToolBar(serviceRegistrar, compiler,
- this.deleteTableTaskFactoryService,
this.guiTaskManagerServiceRef);
- this.setLayout(new BorderLayout());
-
- browserTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
-
- tableChooser = new TableChooser(tableManager, networkManager);
- tableChooser.addActionListener(this);
- add(tableChooser, BorderLayout.SOUTH);
- browserTable.getTableHeader().setBackground(Color.LIGHT_GRAY);
- add(new JScrollPane(browserTable), BorderLayout.CENTER);
- add(attributeBrowserToolBar, BorderLayout.NORTH);
- }
-
- /**
- * Returns the Component to be added to the CytoPanel.
- * @return The Component to be added to the CytoPanel.
- */
- public Component getComponent() { return this; }
-
- /**
- * Returns the name of the CytoPanel that this component should be
added to.
- * @return the name of the CytoPanel that this component should be
added to.
- */
- public CytoPanelName getCytoPanelName() {
- return CytoPanelName.SOUTH;
- }
-
- /**
- * Returns the title of the tab within the CytoPanel for this component.
- * @return the title of the tab within the CytoPanel for this component.
- */
- public String getTitle() { return "Attribute Browser"; }
-
- /**
- * @return null
- */
- public Icon getIcon() { return null; }
-
- public void actionPerformed(final ActionEvent e) {
- final CyTable table = (CyTable)tableChooser.getSelectedItem();
-
- if (table == null && table != currentTable) {
- if (browserTableModel != null) {
- browserTableModel.cleanup();
-
serviceRegistrar.unregisterAllServices(browserTableModel);
- }
- currentTable = null;
- browserTableModel = null;
- browserTable.setModel(new DefaultTableModel());
- attributeBrowserToolBar.setBrowserTableModel(null);
- }
-
- if (table != null && table != currentTable) {
- if (browserTableModel != null) {
- final TableColumnModel columnModel =
-
browserTableModel.getTable().getColumnModel();
- tableToMetadataMap.put(currentTable,
- new
TableMetadata(columnModel,
-
browserTableModel));
- browserTableModel.cleanup();
-
serviceRegistrar.unregisterAllServices(browserTableModel);
- }
-
- currentTable = table;
- browserTableModel = new BrowserTableModel(browserTable,
table, compiler,
-
tableRowUpdateService);
- serviceRegistrar.registerAllServices(browserTableModel,
new Properties());
- browserTable.setModel(browserTableModel);
- browserTable.setRowSorter(new
TableRowSorter(browserTableModel));
-
attributeBrowserToolBar.setBrowserTableModel(browserTableModel);
- final TableMetadata tableMetadata =
tableToMetadataMap.get(currentTable);
- if (tableMetadata != null) {
- final JTable jTable =
browserTableModel.getTable();
- final TableColumnModel columnModel =
jTable.getColumnModel();
- final Iterator<ColumnDescriptor>
columnDescIter = tableMetadata.getColumnDescriptors();
- while (columnDescIter.hasNext()) {
- final ColumnDescriptor desc =
columnDescIter.next();
- final int savedColumnIndex =
desc.getColumnIndex();
- final TableColumn tableColumn =
columnModel.getColumn(savedColumnIndex);
-
tableColumn.setPreferredWidth(desc.getColumnWidth());
- final int currentColumnIndex =
- jTable.convertColumnIndexToView(
-
browserTableModel.mapColumnNameToColumnIndex(desc.getColumnName()));
- if (currentColumnIndex !=
savedColumnIndex)
-
jTable.moveColumn(currentColumnIndex, savedColumnIndex);
- }
- }
- }
- }
-
- public void handleEvent(final NetworkViewAddedEvent e) {
- final CyTable nodeTable =
e.getNetworkView().getModel().getDefaultNodeTable();
- final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
- comboBoxModel.addAndSetSelectedItem(nodeTable);
- }
-
- public void handleEvent(final TableAboutToBeDeletedEvent e) {
- final CyTable cyTable = e.getTable();
- final MyComboBoxModel comboBoxModel =
(MyComboBoxModel)tableChooser.getModel();
- comboBoxModel.removeItem(cyTable);
- tableToMetadataMap.remove(cyTable);
- }
-
- @Override
- public CyTable getCurrentTable() {
- return currentTable;
- }
-}
\ No newline at end of file
Modified:
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
---
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-04-29 20:28:52 UTC (rev 24857)
+++
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-04-29 22:03:10 UTC (rev 24858)
@@ -15,6 +15,7 @@
<osgi:reference id="deleteTableTaskFactoryService"
interface="org.cytoscape.task.TableTaskFactory" />
<osgi:reference id="guiTaskManagerServiceRef"
interface="org.cytoscape.work.swing.GUITaskManager" />
+ <osgi:reference id="cyApplicationManagerServiceRef"
interface="org.cytoscape.session.CyApplicationManager" />
<!-- listeners -->
<osgi:service id="tableBrowserCytoPanelComponentService"
ref="tableBrowser">
@@ -22,7 +23,6 @@
<value>org.cytoscape.application.swing.CytoPanelComponent</value>
<value>org.cytoscape.view.model.events.NetworkViewAddedListener</value>
<value>org.cytoscape.model.events.TableAboutToBeDeletedListener</value>
- <value>org.cytoscape.browser.TableBrowser</value>
</osgi:interfaces>
</osgi:service>
Modified:
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
---
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-04-29 20:28:52 UTC (rev 24857)
+++
core3/table-browser-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-04-29 22:03:10 UTC (rev 24858)
@@ -25,7 +25,7 @@
<context:annotation-config/>
- <bean id="tableBrowser"
class="org.cytoscape.browser.internal.TableBrowserImpl">
+ <bean id="tableBrowser"
class="org.cytoscape.browser.internal.TableBrowser">
<constructor-arg ref="cyTableManagerServiceRef" />
<constructor-arg ref="cyServiceRegistrarServiceRef" />
<constructor-arg ref="compilerServiceRef" />
@@ -35,6 +35,7 @@
<constructor-arg ref="deleteTableTaskFactoryService" />
<constructor-arg ref="guiTaskManagerServiceRef" />
<constructor-arg ref="popupMenuHelper" />
+ <constructor-arg ref="cyApplicationManagerServiceRef" />
</bean>
<bean id="popupMenuHelper"
class="org.cytoscape.browser.internal.PopupMenuHelper">
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.