253067c782
Also, implemented some basic modlist logic, to be wired up.
177 lines
5.7 KiB
Java
177 lines
5.7 KiB
Java
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();
|
|
|
|
|
|
}
|