| /************************************************************** |
| * |
| * 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_XDialogProvider2_idl__ |
| #define __com_sun_star_awt_XDialogProvider2_idl__ |
| |
| #ifndef __com_sun_star_awt_XDialogProvider_idl__ |
| #include <com/sun/star/awt/XDialogProvider.idl> |
| #endif |
| #ifndef __com_sun_star_beans_NamedValue_idl__ |
| #include <com/sun/star/beans/NamedValue.idl> |
| #endif |
| |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module awt { |
| |
| //============================================================================= |
| |
| /** provides dialogs implementing the |
| <type scope="com::sun::star::awt">XDialog</type> interface. |
| */ |
| published interface XDialogProvider2 : ::com::sun::star::awt::XDialogProvider { |
| |
| //------------------------------------------------------------------------- |
| |
| /** creates a dialog for the given URL accepting an Interface used |
| to handle dialog events. |
| |
| @param URL |
| is the URL. |
| |
| @param xHandler |
| is the interface that will be called to handle the Events that |
| are generated by the dialog (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">XDialogEventHandler</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 XDialogProvider2 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 XDialogEventHandler is supported XDialogEventHandler.callHandlerMethod() |
| is always called first to handle the event. Only if the event cannot be |
| handled by XDialogEventHandler (callHandlerMethod() then has to return |
| false) or if XDialogEventHandler 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::XDialog xDialog, [in] any aEvent ) |
| |
| will be searched. The signature is similar to XDialogEventHandler. |
| callHandlerMethod except for MethodName itself that isn't needed |
| here. For more information about these parameters, see |
| <type scope="com::sun::star::awt">XDialogEventHandler</type>. |
| |
| If this method is found, it will be called, otherwise a method |
| |
| void HandlerMethodName( void ) |
| |
| will be searched and called. |
| |
| @returns |
| a dialog implementing the <type scope="com::sun::star::awt">XDialog</type> interface. |
| |
| @throws com::sun::star::lang::IllegalArgumentException |
| if no dialog for the given URL is found or if the URL is invalid |
| or xHandler is null. |
| |
| @see <type scope="com::sun::star::awt">XDialogEventHandler</type> |
| |
| */ |
| XDialog createDialogWithHandler |
| ( [in] string URL, [in] com::sun::star::uno::XInterface xHandler ) |
| raises ( com::sun::star::lang::IllegalArgumentException ); |
| |
| /** creates a dialog for the given URL, accepting additional creation parameters |
| |
| <p>The arguments accepted so far are |
| <ul><li><em>ParentWindow</em> - must be a component supporting the <type>XWindowPeer</type> interface, |
| or a component supporting the <type>XControl</type> interfac, so an <code>XWindowPeer</code> can be |
| obtained from it. The given window will be used as parent window for the to-be-created dialog.</li> |
| <li><em>EventHandler</em> - specifies a component handling events in the dialog. See |
| <member>createDialogWithHandler</member> for a detailed specification of dialog event handling.</li> |
| </ul> |
| </p> |
| */ |
| |
| XDialog createDialogWithArguments |
| ( [in] string URL, |
| [in] sequence< ::com::sun::star::beans::NamedValue > Arguments ) |
| raises ( com::sun::star::lang::IllegalArgumentException ); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |