--- /dev/null 2016-01-17 23:41:07.556005236 +0300 +++ new/src/java.desktop/share/classes/java/awt/AppEvent.java 2016-01-17 23:43:14.239518800 +0300 @@ -0,0 +1,282 @@ +/* + * 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}. + * + * @since 1.9 + */ + +public class AppEvent extends EventObject { + private static final long serialVersionUID = -5958503993556009432L; + + AppEvent() { + super(Desktop.getDesktop()); + } + + /** + * Contains a list of files. + */ + public static class FilesEvent extends AppEvent { + private static final long serialVersionUID = 5271763715462312871L; + + final List files; + + /** + * Constructs a FilesEvent + * @param files files + * @param searchTerm searchTerm + */ + FilesEvent(final List files) { + this.files = files; + } + + /** + * Gets the list of 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 + */ + public static class OpenFilesEvent extends FilesEvent { + private static final long serialVersionUID = -3982871005867718956L; + + final String searchTerm; + + /** + * Constructs an OpenFilesEvent + * @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) + */ + public static class PrintFilesEvent extends FilesEvent { + private static final long serialVersionUID = -5752560876153618618L; + + /** + * Constructs a PrintFilesEvent + * @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) + */ + public static class OpenURIEvent extends AppEvent { + private static final long serialVersionUID = 221209100935933476L; + + final URI uri; + + /** + * Constructs an OpenURIEvent + * @param uri URI + */ + public OpenURIEvent(final URI uri) { + this.uri = uri; + } + + /** + * Get the URI the app was asked to open + * @return the URI + */ + public URI getURI() { + return uri; + } + } + + /** + * Event sent when the application is asked to open its about window. + * + * @see AboutHandler#handleAbout + */ + public static class AboutEvent extends AppEvent { + private static final long serialVersionUID = -5987180734802756477L; + + /** + * Constructs an AboutEvent + */ + public AboutEvent() {} + } + + /** + * Event sent when the application is asked to open its preferences window. + * + * @see PreferencesHandler#handlePreferences + */ + public static class PreferencesEvent extends AppEvent { + private static final long serialVersionUID = -6398607097086476160L; + /** + * Constructs a PreferencesEvent + */ + public PreferencesEvent() {} + } + + /** + * Event sent when the application is asked to quit. + * + * @see QuitHandler#handleQuitRequestWith(AppEvent.QuitEvent, QuitResponse) + */ + public static class QuitEvent extends AppEvent { + private static final long serialVersionUID = -256100795532403146L; + + /** + * Constructs a QuitEvent + */ + public QuitEvent() {} + } + + /** + * Event sent when the application is asked to re-open itself. + * + * @see AppReopenedListener#appReopened(AppEvent.AppReopenedEvent) + */ + public static class AppReopenedEvent extends AppEvent { + private static final long serialVersionUID = 1503238361530407990L; + + /** + * Constructs an AppReopenedEvent + */ + 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) + */ + public static class AppForegroundEvent extends AppEvent { + private static final long serialVersionUID = -5513582555740533911L; + + /** + * Constructs an AppForegroundEvent + */ + public AppForegroundEvent() { } + } + + /** + * Event sent when the application has been hidden or shown. + * + * @see AppHiddenListener#appHidden(AppEvent.AppHiddenEvent) + * @see AppHiddenListener#appUnhidden(AppEvent.AppHiddenEvent) + */ + public static class AppHiddenEvent extends AppEvent { + private static final long serialVersionUID = 2637465279476429224L; + + /** + * Constructs an AppHiddenEvent + */ + 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) + */ + public static class UserSessionEvent extends AppEvent { + private static final long serialVersionUID = 6747138462796569055L; + + /** + * Constructs a UserSessionEvent + */ + 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) + */ + public static class ScreenSleepEvent extends AppEvent { + private static final long serialVersionUID = 7521606180376544150L; + + /** + * Constructs a ScreenSleepEvent + */ + public ScreenSleepEvent() { } + } + + /** + * Event sent when the system enters and exits power save sleep. + * + * @see SystemSleepListener#systemAboutToSleep(AppEvent.SystemSleepEvent) + * @see SystemSleepListener#systemAwoke(AppEvent.SystemSleepEvent) + */ + public static class SystemSleepEvent extends AppEvent { + private static final long serialVersionUID = 11372269824930549L; + + /** + * Constructs a SystemSleepEvent + */ + public SystemSleepEvent() { } + } + +}