Author: jm
Date: 2012-01-10 09:06:11 -0800 (Tue, 10 Jan 2012)
New Revision: 27963
Added:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/MacCyActivator.java
Modified:
core3/impl/trunk/swing-application-impl/pom.xml
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
Log:
Fixes #559: Worked around OS X initialization issues by moving references to
com.apple.eawt to a class outside of CyActivator.
Modified: core3/impl/trunk/swing-application-impl/pom.xml
===================================================================
--- core3/impl/trunk/swing-application-impl/pom.xml 2012-01-10 17:02:07 UTC
(rev 27962)
+++ core3/impl/trunk/swing-application-impl/pom.xml 2012-01-10 17:06:11 UTC
(rev 27963)
@@ -128,14 +128,11 @@
<version>1.0</version>
</dependency>
- <!-- Temporarily disabled: See ticket #559 -->
- <!--
<dependency>
<groupId>com.apple.developer</groupId>
<artifactId>AppleJavaExtensions</artifactId>
<version>1.6</version>
<scope>compile</scope>
</dependency>
- -->
</dependencies>
</project>
Modified:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
2012-01-10 17:02:07 UTC (rev 27962)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
2012-01-10 17:06:11 UTC (rev 27963)
@@ -50,7 +50,6 @@
import org.cytoscape.application.CyApplicationConfiguration;
import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.application.CyShutdown;
-import org.cytoscape.application.CyVersion;
import org.cytoscape.application.events.CyShutdownListener;
import org.cytoscape.application.events.SetCurrentNetworkViewListener;
import org.cytoscape.application.swing.CyAction;
@@ -65,7 +64,6 @@
import org.cytoscape.internal.actions.PrintAction;
import org.cytoscape.internal.actions.RecentSessionManager;
import org.cytoscape.internal.actions.WelcomeScreenAction;
-import org.cytoscape.internal.dialogs.AboutDialogFactoryImpl;
import org.cytoscape.internal.dialogs.BookmarkDialogFactoryImpl;
import org.cytoscape.internal.dialogs.PreferencesDialogFactoryImpl;
import org.cytoscape.internal.layout.ui.LayoutMenuPopulator;
@@ -119,7 +117,6 @@
import org.cytoscape.view.presentation.RenderingEngineFactory;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.TaskFactory;
-import org.cytoscape.work.TaskManager;
import org.cytoscape.work.swing.DialogTaskManager;
import org.cytoscape.work.swing.PanelTaskManager;
import org.cytoscape.work.swing.SubmenuTaskManager;
@@ -138,7 +135,7 @@
}
@Override
- public void start(BundleContext bc) {
+ public void start(BundleContext bc) throws Exception {
ImportNetworksTaskFactory importNetworkTF = getService(bc,
ImportNetworksTaskFactory.class, "(id=loadNetworkURLTaskFactory)");
TaskFactory importNetworkFileTF = getService(bc,
TaskFactory.class, "(id=loadNetworkFileTaskFactory)");
@@ -274,9 +271,6 @@
sessionReaderManagerServiceRef,
cyApplicationManagerServiceRef);
- CyVersion version = getService(bc, CyVersion.class);
- AboutDialogFactoryImpl aboutDialogFactory = new
AboutDialogFactoryImpl(version);
-
// Show Welcome Screen
final WelcomeScreenAction welcomeScreenAction = new
WelcomeScreenAction(bc,cytoscapeDesktop, openBrowserServiceRef,
recentlyOpenedTrackerServiceRef, openSessionTaskFactory,
submenuTaskManagerServiceRef, importNetworkFileTF, importNetworkTF,
createNetworkViewTaskFactory, cyApplicationConfigurationServiceRef,
dsManagerServiceRef, cytoscapePropertiesServiceRef);
registerAllServices(bc, welcomeScreenAction, new Properties());
@@ -292,12 +286,11 @@
registerService(bc, cytoPanelEastAction, CyAction.class, new
Properties());
registerService(bc, cytoPanelSouthWestAction, CyAction.class,
new Properties());
- // Temporarily disabled: See ticket #559
-// if (isMac()) {
-// registerMacMenuHandlers(cytoscapeShutdownServiceRef,
submenuTaskManagerServiceRef, aboutDialogFactory);
-// } else {
+ if (isMac()) {
+ new MacCyActivator().start(bc);
+ } else {
registerService(bc, exitAction, CyAction.class, new
Properties());
-// }
+ }
Properties helpContentsTaskFactoryProps = new Properties();
helpContentsTaskFactoryProps.setProperty("preferredMenu",
"Help");
@@ -405,25 +398,6 @@
CyLayoutAlgorithm.class);
}
- private void registerMacMenuHandlers(final CyShutdown shutdown, final
TaskManager<?, ?> taskManager, final TaskFactory aboutTaskFactory) {
- // Temporarily disabled: See ticket #559
- /*
- Application application = Application.getApplication();
- application.setQuitHandler(new QuitHandler() {
- @Override
- public void handleQuitRequestWith(QuitEvent event,
QuitResponse response) {
- shutdown.exit(0);
- }
- });
- application.setAboutHandler(new AboutHandler() {
- @Override
- public void handleAbout(AboutEvent event) {
- taskManager.execute(aboutTaskFactory);
- }
- });
- */
- }
-
private boolean isMac() {
return System.getProperty("os.name").startsWith("Mac OS X");
}
Added:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/MacCyActivator.java
===================================================================
---
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/MacCyActivator.java
(rev 0)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/MacCyActivator.java
2012-01-10 17:06:11 UTC (rev 27963)
@@ -0,0 +1,39 @@
+package org.cytoscape.internal;
+
+import org.cytoscape.application.CyShutdown;
+import org.cytoscape.application.CyVersion;
+import org.cytoscape.internal.dialogs.AboutDialogFactoryImpl;
+import org.cytoscape.service.util.AbstractCyActivator;
+import org.cytoscape.work.swing.SubmenuTaskManager;
+import org.osgi.framework.BundleContext;
+
+import com.apple.eawt.AboutHandler;
+import com.apple.eawt.AppEvent.AboutEvent;
+import com.apple.eawt.AppEvent.QuitEvent;
+import com.apple.eawt.Application;
+import com.apple.eawt.QuitHandler;
+import com.apple.eawt.QuitResponse;
+
+public class MacCyActivator extends AbstractCyActivator {
+ @Override
+ public void start(BundleContext context) throws Exception {
+ final CyShutdown shutdown = getService(context,
CyShutdown.class);
+ final SubmenuTaskManager taskManager = getService(context,
SubmenuTaskManager.class);
+ final CyVersion version = getService(context, CyVersion.class);
+ final AboutDialogFactoryImpl aboutDialogFactory = new
AboutDialogFactoryImpl(version);
+
+ Application application = Application.getApplication();
+ application.setQuitHandler(new QuitHandler() {
+ @Override
+ public void handleQuitRequestWith(QuitEvent event,
QuitResponse response) {
+ shutdown.exit(0);
+ }
+ });
+ application.setAboutHandler(new AboutHandler() {
+ @Override
+ public void handleAbout(AboutEvent event) {
+ taskManager.execute(aboutDialogFactory);
+ }
+ });
+ }
+}
--
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.