--- /dev/null 2015-11-20 07:55:43.488004899 +0300 +++ new/src/java.desktop/share/classes/java/awt/AppEvent.java 2015-11-20 08:17:47.311845465 +0300 @@ -0,0 +1,291 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package java.awt; + +import java.awt.desktop.*; +import java.io.File; +import java.net.URI; +import java.util.EventObject; +import java.util.List; + +/** + * AppEvents are sent to listeners and handlers installed on the {@link Desktop}. + * + */ +@SuppressWarnings("serial") // JDK implementation class +public class AppEvent extends EventObject { + + AppEvent() { + super(Desktop.getDesktop()); + } + + /** + * Contains a list of files. + */ + @SuppressWarnings("serial") // JDK implementation class + public static class FilesEvent extends AppEvent { + final List files; + + FilesEvent(final List files) { + this.files = files; + } + + /** + * @return the list of files + */ + public List getFiles() { + return files; + } + } + + /** + * Event sent when the app is asked to open a list of files. + * + * @see OpenFilesHandler#openFiles + */ + @SuppressWarnings("serial") // JDK implementation class + public static class OpenFilesEvent extends FilesEvent { + final String searchTerm; + + /** + * @param files files + * @param searchTerm searchTerm + */ + public OpenFilesEvent(final List files, final String searchTerm) { + super(files); + this.searchTerm = searchTerm; + } + + /** + * Gets the search term. The platform may additionally provide the search + * term that was used to find the files. This is for example the case + * on Mac OS X, when the files were opened using the Spotlight search + * menu or a Finder search window. + * + * This is useful for highlighting the search term in the documents when + * they are opened. + * @return the search term used to find the files + */ + public String getSearchTerm() { + return searchTerm; + } + } + + /** + * Event sent when the app is asked to print a list of files. + * + * @see PrintFilesHandler#printFiles(AppEvent.PrintFilesEvent) + */ + @SuppressWarnings("serial") // JDK implementation class + public static class PrintFilesEvent extends FilesEvent { + + /** + * @param files files + */ + public PrintFilesEvent(final List files) { + super(files); + } + } + + /** + * Event sent when the app is asked to open a URI. + * + * @see OpenURIHandler#openURI(AppEvent.OpenURIEvent) + */ + @SuppressWarnings("serial") // JDK implementation class + public static class OpenURIEvent extends AppEvent { + final URI uri; + + /** + * @param uri uri + */ + public OpenURIEvent(final URI uri) { + this.uri = uri; + } + + /** + * @return the URI the app was asked to open + */ + public URI getURI() { + return uri; + } + } + + /** + * Event sent when the application is asked to open its about window. + * + * @see AboutHandler#handleAbout + */ + @SuppressWarnings("serial") // JDK implementation class + public static class AboutEvent extends AppEvent { + + /** + * + */ + public AboutEvent() {} + } + + /** + * Event sent when the application is asked to open its preferences window. + * + * @see PreferencesHandler#handlePreferences + */ + @SuppressWarnings("serial") // JDK implementation class + public static class PreferencesEvent extends AppEvent { + + /** + * + */ + public PreferencesEvent() {} + } + + /** + * Event sent when the application is asked to quit. + * + * @see QuitHandler#handleQuitRequestWith(AppEvent.QuitEvent, QuitResponse) + */ + @SuppressWarnings("serial") // JDK implementation class + public static class QuitEvent extends AppEvent { + + /** + * + */ + public QuitEvent() {} + } + + /** + * Event sent when the application is asked to re-open itself. + * + * @see AppReopenedListener#appReOpened(AppEvent.AppReopenedEvent) + */ + @SuppressWarnings("serial") // JDK implementation class + public static class AppReopenedEvent extends AppEvent { + + /** + * + */ + public AppReopenedEvent() { } + } + + /** + * Event sent when the application has become the foreground app, and when it has resigned being the foreground app. + * + * @see AppForegroundListener#appRaisedToForeground(AppEvent.AppForegroundEvent) + * @see AppForegroundListener#appMovedToBackground(AppEvent.AppForegroundEvent) + */ + @SuppressWarnings("serial") // JDK implementation class + public static class AppForegroundEvent extends AppEvent { + + /** + * + */ + public AppForegroundEvent() { } + } + + /** + * Event sent when the application has been hidden or shown. + * + * @see AppHiddenListener#appHidden(AppEvent.AppHiddenEvent) + * @see AppHiddenListener#appUnhidden(AppEvent.AppHiddenEvent) + */ + @SuppressWarnings("serial") // JDK implementation class + public static class AppHiddenEvent extends AppEvent { + + /** + * + */ + public AppHiddenEvent() { } + } + + /** + * Event sent when the user session has been changed via Fast User Switching. + * + * @see UserSessionListener#userSessionActivated(AppEvent.UserSessionEvent) + * @see UserSessionListener#userSessionDeactivated(AppEvent.UserSessionEvent) + */ + @SuppressWarnings("serial") // JDK implementation class + public static class UserSessionEvent extends AppEvent { + + /** + * + */ + public UserSessionEvent() { } + } + + /** + * Event sent when the displays attached to the system enter and exit power save sleep. + * + * @see ScreenSleepListener#screenAboutToSleep(AppEvent.ScreenSleepEvent) + * @see ScreenSleepListener#screenAwoke(AppEvent.ScreenSleepEvent) + */ + @SuppressWarnings("serial") // JDK implementation class + public static class ScreenSleepEvent extends AppEvent { + + /** + * + */ + public ScreenSleepEvent() { } + } + + /** + * Event sent when the system enters and exits power save sleep. + * + * @see SystemSleepListener#systemAboutToSleep(AppEvent.SystemSleepEvent) + * @see SystemSleepListener#systemAwoke(AppEvent.SystemSleepEvent) + */ + @SuppressWarnings("serial") // JDK implementation class + public static class SystemSleepEvent extends AppEvent { + + /** + * + */ + public SystemSleepEvent() { } + } + + /** + * Event sent when a window is entering/exiting or has entered/exited full screen state. + * + * @see FullScreenUtilities + */ + @SuppressWarnings("serial") // JDK implementation class + public static class FullScreenEvent extends AppEvent { + final Window window; + + /** + * @param window window + */ + public FullScreenEvent(final Window window) { + this.window = window; + } + + /** + * @return window transitioning between full screen states + */ + public Window getWindow() { + return window; + } + } +}