Differences between revisions 1 and 2
Revision 1 as of 2007-10-04 19:04:43
Size: 25
Editor: malbec
Comment:
Revision 2 as of 2007-10-04 19:28:33
Size: 1262
Editor: malbec
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== Discuss OSGi here == == Cytoscape APIs ==
 * CyNetwork
 * CyNetworkView
 * CyNode
 * CyNodeView
 * CyEdge
 * CyEdgeView
 * CyAttributes
== Cytoscape Provided Services ==
 
== Plugin Implemented Services ==
The APIs for these services are defined as interfaces in Cytoscape. The interfaces are as follows:
 * GraphFileFilter
 * CyLayoutAlgorithm

=== UI Services ===
Interactive - provide an option to bring up before or after action has run
Action to create panel
Action to be triggered by the panel

 * Control Tab
 * Results Tab
 * Dialog
{{{

// the service interface
interface UIPanel {
  JPanel getJPanel();
}

// meta data defining where/how to use the panel
Hashtable dict = new HashTable();
dict.put("panel.location","control");
dict.put("panel.name","hello world");
dict.put("service.pid","whatever");

bundleContext.registerService(UIPanel.class.getName(), new MyUIPanel(), dict);

 }}}

Single Action
 * Menu Item
 * Button On Toolbar
 
Or

 * Specify tunables.
 * Provide suggestions on where to put it (Tab, menu item).
 
=== Action Services ===
 An action gets current context (network, view, etc.). Then the action does "something". '''The action should be independent of the UI.''' Make the actions chainable.

Cytoscape APIs

Cytoscape Provided Services

Plugin Implemented Services

The APIs for these services are defined as interfaces in Cytoscape. The interfaces are as follows:

UI Services

Interactive - provide an option to bring up before or after action has run Action to create panel Action to be triggered by the panel

  • Control Tab
  • Results Tab
  • Dialog

// the service interface
interface UIPanel {
  JPanel getJPanel();
}

// meta data defining where/how to use the panel
Hashtable dict = new HashTable();
dict.put("panel.location","control");
dict.put("panel.name","hello world");
dict.put("service.pid","whatever");

bundleContext.registerService(UIPanel.class.getName(), new MyUIPanel(), dict);

Single Action

  • Menu Item
  • Button On Toolbar

Or

  • Specify tunables.
  • Provide suggestions on where to put it (Tab, menu item).

Action Services

  • An action gets current context (network, view, etc.). Then the action does "something". The action should be independent of the UI. Make the actions chainable.

OSGI_Refactoring_Possibilities (last edited 2009-02-12 01:03:49 by localhost)

Funding for Cytoscape is provided by a federal grant from the U.S. National Institute of General Medical Sciences (NIGMS) of the Na tional Institutes of Health (NIH) under award number GM070743-01. Corporate funding is provided through a contract from Unilever PLC.

MoinMoin Appliance - Powered by TurnKey Linux