Author: jm
Date: 2012-08-24 08:40:24 -0700 (Fri, 24 Aug 2012)
New Revision: 30265
Added:
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUI.java
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/WebServiceGUIImpl.java
Modified:
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/AbstractWebServiceGUIClient.java
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUIClient.java
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/CyActivator.java
Log:
Fixes #1083: Added API for getting the Window of a particular web service
import dialog
Modified:
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/AbstractWebServiceGUIClient.java
===================================================================
---
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/AbstractWebServiceGUIClient.java
2012-08-24 01:39:35 UTC (rev 30264)
+++
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/AbstractWebServiceGUIClient.java
2012-08-24 15:40:24 UTC (rev 30265)
@@ -6,6 +6,8 @@
/**
* Abstract base class for web service clients with Swing GUI.
+ *
+ * @CyAPI.Abstract.Class
*/
public abstract class AbstractWebServiceGUIClient extends
AbstractWebServiceClient implements WebServiceGUIClient {
Added:
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUI.java
===================================================================
---
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUI.java
(rev 0)
+++
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUI.java
2012-08-24 15:40:24 UTC (rev 30265)
@@ -0,0 +1,19 @@
+package org.cytoscape.io.webservice.swing;
+
+import java.awt.Window;
+
+/**
+ * Cytoscape's unified UI for accessing web services. This interface provides
+ * access to the Swing components used to display the UI.
+ *
+ * @CyAPI.Api.Interface
+ */
+public interface WebServiceGUI {
+ /**
+ * Returns the Window that contains the unified web service UI.
+ * @param webServiceClientType either NetworkImportWebServiceClient or
+ * TableImportWebServiceClient.
+ * @return the Window that contains the unified web service UI.
+ */
+ Window getWindow(Class<?> webServiceClientType);
+}
Modified:
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUIClient.java
===================================================================
---
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUIClient.java
2012-08-24 01:39:35 UTC (rev 30264)
+++
core3/api/trunk/webservice-swing-api/src/main/java/org/cytoscape/io/webservice/swing/WebServiceGUIClient.java
2012-08-24 15:40:24 UTC (rev 30265)
@@ -5,6 +5,8 @@
/**
* An interface that allows web service clients to provide
* their own GUI component.
+ *
+ * @CyAPI.Spi.Interface
*/
public interface WebServiceGUIClient {
Modified:
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/CyActivator.java
2012-08-24 01:39:35 UTC (rev 30264)
+++
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/CyActivator.java
2012-08-24 15:40:24 UTC (rev 30265)
@@ -11,9 +11,11 @@
import org.cytoscape.io.webservice.NetworkImportWebServiceClient;
import org.cytoscape.io.webservice.TableImportWebServiceClient;
import org.cytoscape.io.webservice.WebServiceClient;
+import org.cytoscape.io.webservice.swing.WebServiceGUI;
import org.cytoscape.service.util.AbstractCyActivator;
import org.cytoscape.util.swing.OpenBrowser;
import org.cytoscape.webservice.internal.task.ShowImportDialogAction;
+import org.cytoscape.webservice.internal.ui.WebServiceGUIImpl;
import org.cytoscape.webservice.internal.ui.WebServiceImportDialog;
import org.cytoscape.work.swing.DialogTaskManager;
import org.osgi.framework.BundleContext;
@@ -38,6 +40,10 @@
WebServiceImportDialog<TableImportWebServiceClient>
unifiedTableImportDialog = new
WebServiceImportDialog<TableImportWebServiceClient>(
TableImportWebServiceClient.class, "Import Data
Table from Web Service", taskManagerServiceRef, openBrowser);
+ WebServiceGUIImpl webServiceGui = new WebServiceGUIImpl();
+ webServiceGui.addClient(NetworkImportWebServiceClient.class,
unifiedNetworkImportDialog);
+ webServiceGui.addClient(TableImportWebServiceClient.class,
unifiedTableImportDialog);
+
// ALT (for Mac, it's Option)
final KeyStroke networkImportShortcut =
KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.ALT_DOWN_MASK);
final KeyStroke tableImportShortcut =
KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.ALT_DOWN_MASK);
@@ -54,6 +60,7 @@
showImportNetworkFromWebServiceDialogActionProps);
registerService(bc, showImportTableFromWebServiceDialogAction,
CyAction.class,
new Properties());
+ registerService(bc, webServiceGui, WebServiceGUI.class, new
Properties());
registerServiceListener(bc, unifiedNetworkImportDialog,
"addClient", "removeClient",
WebServiceClient.class);
Added:
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/WebServiceGUIImpl.java
===================================================================
---
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/WebServiceGUIImpl.java
(rev 0)
+++
core3/impl/trunk/webservice-impl/src/main/java/org/cytoscape/webservice/internal/ui/WebServiceGUIImpl.java
2012-08-24 15:40:24 UTC (rev 30265)
@@ -0,0 +1,24 @@
+package org.cytoscape.webservice.internal.ui;
+
+import java.awt.Window;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.cytoscape.io.webservice.swing.WebServiceGUI;
+
+public class WebServiceGUIImpl implements WebServiceGUI {
+ Map<Class<?>, Window> clientWindowsByType;
+
+ public WebServiceGUIImpl() {
+ clientWindowsByType = new HashMap<Class<?>, Window>();
+ }
+
+ public void addClient(Class<?> webServiceClientType, Window window) {
+ clientWindowsByType.put(webServiceClientType, window);
+ }
+
+ @Override
+ public Window getWindow(Class<?> webServiceClientType) {
+ return clientWindowsByType.get(webServiceClientType);
+ }
+}
--
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.