org.eclipse.swt.browser.OpenWindowListener Maven / Gradle / Ivy
/*******************************************************************************
* Copyright (c) 2003, 2016 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.swt.browser;
import org.eclipse.swt.internal.*;
/**
* This listener interface may be implemented in order to receive
* a {@link WindowEvent} notification when a new {@link Browser}
* needs to be provided by the application.
*
* @see Browser#addOpenWindowListener(OpenWindowListener)
* @see Browser#removeOpenWindowListener(OpenWindowListener)
* @see CloseWindowListener
* @see VisibilityWindowListener
*
* @since 3.0
*/
@FunctionalInterface
public interface OpenWindowListener extends SWTEventListener {
/**
* This method is called when a new window needs to be created.
*
* A particular Browser
can be passed to the event.browser
* field to host the content of a new window.
*
* A standalone system browser is used to host the new window
* if the event.required field value is false
and if the event.browser
* field is left null
. The event.required field
* is true
on platforms that don't support a standalone system browser for
* new window requests.
*
* The navigation is cancelled if the event.required field is set to
* true
and the event.browser field is left null
.
*
*
The following fields in the WindowEvent
apply:
*
* - (in/out) {@link WindowEvent#required}: true if the platform requires the user to provide a
*
Browser
to handle the new window or false otherwise.
* - (out) {@link WindowEvent#browser}: the new (unique)
Browser
that will host the
* content of the new window.
* - (in) widget the
Browser
that is requesting to open a
* new window
*
*
* @param event the WindowEvent
that needs to be passed a new
* Browser
to handle the new window request
*
* @since 3.0
*/
public void open(WindowEvent event);
}