summaryrefslogtreecommitdiffstats
path: root/libraries/launcher/org/simplericity/macify/eawt/Application.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/launcher/org/simplericity/macify/eawt/Application.java')
-rw-r--r--libraries/launcher/org/simplericity/macify/eawt/Application.java176
1 files changed, 176 insertions, 0 deletions
diff --git a/libraries/launcher/org/simplericity/macify/eawt/Application.java b/libraries/launcher/org/simplericity/macify/eawt/Application.java
new file mode 100644
index 00000000..153bb9ee
--- /dev/null
+++ b/libraries/launcher/org/simplericity/macify/eawt/Application.java
@@ -0,0 +1,176 @@
+package org.simplericity.macify.eawt;
+
+/*
+ * Copyright 2007 Eirik Bjorsnos.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import java.awt.*;
+import java.awt.image.BufferedImage;
+
+/**
+ * The Macify Library API interface provides integration with the OS X platform for Java Applications.
+ * The API includes a facade to the
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/index.html">
+ * Apple Java Extensions API
+ * </a>.
+ * Additionally, it provides access to several useful methods in the Cocoa NSApplication API.
+ *
+ * The default implementation of this interface is {@link org.simplericity.macify.eawt.DefaultApplication}.
+ */
+public interface Application {
+
+ static int REQUEST_USER_ATTENTION_TYPE_CRITICAL = 1 ;
+ static int REQUEST_USER_ATTENTION_TYPE_INFORMATIONAL = 2 ;
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#addAboutMenuItem()">
+ * Apple's API
+ * </a>.
+ */
+ void addAboutMenuItem();
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#addApplicationListener(com.apple.eawt.ApplicationListener)">
+ * Apple's API
+ * </a>.
+ */
+ void addApplicationListener(ApplicationListener applicationListener);
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#addPreferencesMenuItem()">
+ * Apple's API
+ * </a>.
+ */
+ void addPreferencesMenuItem();
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#getEnabledAboutMenu()">
+ * Apple's API
+ * </a>.
+ */
+ boolean getEnabledAboutMenu();
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#getEnabledPreferencesMenu()">
+ * Apple's API
+ * </a>.
+ */
+ boolean getEnabledPreferencesMenu();
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#isAboutMenuItemPresent()">
+ * Apple's API
+ * </a>.
+ */
+ boolean isAboutMenuItemPresent();
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#isPreferencesMenuItemPresent()">
+ * Apple's API
+ * </a>.
+ */
+ boolean isPreferencesMenuItemPresent();
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#removeAboutMenuItem()">
+ * Apple's API
+ * </a>.
+ */
+ void removeAboutMenuItem();
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#removeApplicationListener(com.apple.eawt.ApplicationListener)">
+ * Apple's API
+ * </a>.
+ */
+ void removeApplicationListener(ApplicationListener applicationListener);
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#removePreferencesMenuItem()">
+ * Apple's API
+ * </a>.
+ */
+ void removePreferencesMenuItem();
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#getEnabledAboutMenu()">
+ * Apple's API
+ * </a>.
+ */
+ void setEnabledAboutMenu(boolean enabled);
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#getEnabledPreferencesMenu()">
+ * Apple's API
+ * </a>.
+ */
+ void setEnabledPreferencesMenu(boolean enabled);
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Java/Reference/1.5.0/appledoc/api/com/apple/eawt/Application.html#getMouseLocationOnScreen()">
+ * Apple's API
+ * </a>.
+ */
+ Point getMouseLocationOnScreen();
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSApplication_Class/index.html#//apple_ref/doc/uid/TP40004004">
+ * Apple's NSApplication Class Reference
+ * </a>.
+ * @param type on of {@link #REQUEST_USER_ATTENTION_TYPE_CRITICAL} or {@link #REQUEST_USER_ATTENTION_TYPE_INFORMATIONAL}.
+ */
+ int requestUserAttention(int type);
+
+ /**
+ * See
+ * <a href="http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSApplication_Class/index.html#//apple_ref/doc/uid/TP40004004">
+ * Apple's NSApplication Class Reference
+ * </a>
+ */
+ void cancelUserAttentionRequest(int request);
+
+ /**
+ * Update the application's icon image
+ * @param image
+ */
+ void setApplicationIconImage(BufferedImage image);
+
+ /**
+ * Get the application's icon image.
+ */
+ BufferedImage getApplicationIconImage();
+
+ /**
+ * Determines whether the application is running on a Mac AND the Apple Extensions API classes are available.
+ * @return
+ */
+ boolean isMac();
+
+
+}