2a519912e8
2008/03/31 15:58:15 rt 1.2.210.1: #i87441# Change license header to LPGL v3.
133 lines
5.4 KiB
Text
133 lines
5.4 KiB
Text
/*************************************************************************
|
|
*
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
*
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: XContainerWindowProvider.idl,v $
|
|
* $Revision: 1.3 $
|
|
*
|
|
* This file is part of OpenOffice.org.
|
|
*
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
* only, as published by the Free Software Foundation.
|
|
*
|
|
* OpenOffice.org 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 Lesser General Public License version 3 for more details
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
* <http://www.openoffice.org/license.html>
|
|
* for a copy of the LGPLv3 License.
|
|
*
|
|
************************************************************************/
|
|
|
|
#ifndef __com_sun_star_awt_XContainerWindowProvider_idl__
|
|
#define __com_sun_star_awt_XContainerWindowProvider_idl__
|
|
|
|
#ifndef __com_sun_star_awt_XWindow_idl__
|
|
#include <com/sun/star/awt/XWindow.idl>
|
|
#endif
|
|
#ifndef __com_sun_star_awt_XWindowPeer_idl__
|
|
#include <com/sun/star/awt/XWindowPeer.idl>
|
|
#endif
|
|
#ifndef __com_sun_star_lang_IllegalArgumentException_idl__
|
|
#include <com/sun/star/lang/IllegalArgumentException.idl>
|
|
#endif
|
|
|
|
//=============================================================================
|
|
|
|
module com { module sun { module star { module awt {
|
|
|
|
//=============================================================================
|
|
|
|
/** provides container windows implementing the
|
|
<type scope="com::sun::star::awt">XWindow</type> interface.
|
|
*/
|
|
interface XContainerWindowProvider : ::com::sun::star::uno::XInterface {
|
|
|
|
//-------------------------------------------------------------------------
|
|
|
|
/** creates a window for the given URL
|
|
|
|
@param URL
|
|
is the URL.
|
|
|
|
@param WindowType
|
|
Type of Window to be created,
|
|
for future use, not supported yet
|
|
|
|
@param xParent
|
|
a valid XWindowPeer reference which is used as a parent.
|
|
This parameter must not be null.
|
|
|
|
@param xHandler
|
|
is the interface that will be called to handle the Events that
|
|
are generated by the window (and all controls placed on it) and
|
|
bound to the handler using a vnd.sun.star.UNO URL specifying a
|
|
handler method to be called. Usually this will be done directly
|
|
by the user.
|
|
|
|
xHandler can handle events in two different ways:
|
|
|
|
1. By supporting the <type scope="com::sun::star::awt">XContainerWindowEventHandler</type>
|
|
interface. This is a generic interface to accept event notifications.
|
|
|
|
2. By providing interfaces that directly implement the handler
|
|
methods to be called. The XContainerWindowProvider implementation then
|
|
will try to access these events using the
|
|
<type scope="com::sun::star::beans">Introspection</type>Introspection
|
|
service. To make this possible the handler implementation also has to
|
|
support <type scope="com::sun::star::lang">XTypeProvider</type>.
|
|
|
|
If XContainerWindowEventHandler is supported XContainerWindowEventHandler.callHandlerMethod()
|
|
is always called first to handle the event. Only if the event cannot be
|
|
handled by XContainerWindowEventHandler (callHandlerMethod() then has to return
|
|
false) or if XContainerWindowEventHandler is not supported at all the Introspection
|
|
based access will be used.
|
|
|
|
The Introspection based access tries to call a method named according to the
|
|
HandlerMethodName specified by a vnd.sun.star.UNO:<HandlerMethodName> URL.
|
|
First a method
|
|
|
|
void HandlerMethodName( [in] com::sun::star::awt::XWindow xWindow, [in] any aEvent )
|
|
|
|
will be searched. The signature is similar to XContainerWindowEventHandler.
|
|
callHandlerMethod except for MethodName itself that isn't needed
|
|
here. For more information about these parameters, see
|
|
<type scope="com::sun::star::awt">XContainerWindowEventHandler</type>.
|
|
|
|
If this method is found, it will be called, otherwise a method
|
|
|
|
void HandlerMethodName( void )
|
|
|
|
will be searched and called.
|
|
|
|
@returns
|
|
a window implementing the <type scope="com::sun::star::awt">XWindow</type> interface.
|
|
|
|
@throws com::sun::star::lang::IllegalArgumentException
|
|
if no window for the given URL is found or if the URL is invalid
|
|
or xParent is null.
|
|
|
|
@see <type scope="com::sun::star::awt">XContainerWindowEventHandler</type>
|
|
|
|
*/
|
|
com::sun::star::awt::XWindow createContainerWindow
|
|
( [in] string URL, [in] string WindowType,
|
|
[in] com::sun::star::awt::XWindowPeer xParent,
|
|
[in] com::sun::star::uno::XInterface xHandler )
|
|
raises ( com::sun::star::lang::IllegalArgumentException );
|
|
};
|
|
|
|
//=============================================================================
|
|
|
|
}; }; }; };
|
|
|
|
#endif
|