| /************************************************************** |
| * |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you 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. |
| * |
| *************************************************************/ |
| |
| |
| |
| #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. |
| */ |
| published 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 |