diff options
Diffstat (limited to 'offapi/com/sun/star/awt/XExtendedToolkit.idl')
-rw-r--r-- | offapi/com/sun/star/awt/XExtendedToolkit.idl | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/offapi/com/sun/star/awt/XExtendedToolkit.idl b/offapi/com/sun/star/awt/XExtendedToolkit.idl new file mode 100644 index 000000000..56662975a --- /dev/null +++ b/offapi/com/sun/star/awt/XExtendedToolkit.idl @@ -0,0 +1,195 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * 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 . + */ + +#ifndef __com_sun_star_awt_XExtendedToolkit_idl__ +#define __com_sun_star_awt_XExtendedToolkit_idl__ + +#include <com/sun/star/uno/XInterface.idl> +#include <com/sun/star/awt/XTopWindow.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> +#include <com/sun/star/awt/XTopWindowListener.idl> +#include <com/sun/star/awt/XKeyHandler.idl> +#include <com/sun/star/awt/XFocusListener.idl> + + + +module com { module sun { module star { module awt { + + +/** The XExtendedToolkit is an extension of the + ::com::sun::star::awt::XToolkit interface. It basically + provides access to three event broadcasters which are used for instance + in the context of accessibility. It is, however, not restricted to + accessibility. + + <p>The first event broadcaster lets you keep track of the open top-level + windows (frames). To get the set of currently open top-level window use + the XExtendedToolkit::getTopWindowCount() and + XExtendedToolkit::getTopWindow() methods.</p> + + <p>The second event broadcaster informs its listeners of key events. + Its listeners can, unlike with most other broadcasters/listeners, + consume events, so that other listeners will not be called for consumed + events.</p> + + <p>The last event broadcaster sends events on focus changes of all + elements that can have the input focus.</p> + + @deprecated + This interface was only implemented in an intermediate developer + release anyway. + + @since OOo 1.1.2 +*/ +published interface XExtendedToolkit : ::com::sun::star::uno::XInterface +{ + + /** This function returns the number of currently existing top-level + windows. + @return + Returns the number of top-level windows. This includes all + top-level windows, regardless of whether they are iconized, + visible, or active. + */ + long getTopWindowCount (); + + + /** Return a reference to the specified top-level window. Note that the + number of top-level windows may change between a call to + getTopWindowCount() and successive calls to this + function. + @param nIndex + The index should be in the interval from 0 up to but not + including the number of top-level windows as returned by + getTopWindowCount(). + @return + The returned value is a valid reference to a top-level window. + @throws IndexOutOfBoundsException + when the specified index is outside the valid range. + */ + ::com::sun::star::awt::XTopWindow getTopWindow ([in] long nIndex) + raises (::com::sun::star::lang::IndexOutOfBoundsException); + + + /** Return the currently active top-level window, i.e. which has + currently the input focus. + @return + The returned reference may be empty when no top-level window is + active. + */ + ::com::sun::star::awt::XTopWindow getActiveTopWindow (); + + /** Add a new listener that is called for events that involve + ::com::sun::star::awt::XTopWindow. After having + obtained the current list of existing top-level windows you can + keep this list up-to-date by listening to opened or closed top-level + windows. Wait for activations or deactivations of top-level windows + to keep track of the currently active frame. + @param xListener + If this is a valid reference it is inserted into the list of + listeners. It is the task of the caller to not register the + same listener twice (otherwise that listener will be called + twice.) + */ + void addTopWindowListener ( + [in] ::com::sun::star::awt::XTopWindowListener xListener); + + + /** Remove the specified listener from the list of listeners. + @param xListener + If the reference is empty then nothing will be changed. If the + listener has been registered twice (or more) then all references + will be removed. + */ + void removeTopWindowListener ( + [in] ::com::sun::star::awt::XTopWindowListener xListener); + + + /** Add a new listener that is called on + ::com::sun::star::awt::KeyEvent. Every listener is + given the opportunity to consume the event, i.e. prevent the not yet + called listeners from being called. + @param xHandler + If this is a valid reference it is inserted into the list of + handlers. It is the task of the caller to not register the + same handler twice (otherwise that listener will be called + twice.) + */ + void addKeyHandler ( + [in] ::com::sun::star::awt::XKeyHandler xHandler); + + + /** Remove the specified listener from the list of listeners. + @param xHandler + If the reference is empty then nothing will be changed. If the + handler has been registered twice (or more) then all references + will be removed. + */ + void removeKeyHandler ( + [in] ::com::sun::star::awt::XKeyHandler xHandler); + + + /** Add a new listener that is called on + ::com::sun::star::awt::FocusEvent. Use this focus + broadcaster to keep track of the object that currently has the input + focus. + @param xListener + If this is a valid reference it is inserted into the list of + listeners. It is the task of the caller to not register the + same listener twice (otherwise that listener will be called + twice.) + */ + void addFocusListener ( + [in] ::com::sun::star::awt::XFocusListener xListener); + + + /** Remove the specified listener from the list of listeners. + @param xListener + If the reference is empty then nothing will be changed. If the + listener has been registered twice (or more) then all references + will be removed. + */ + void removeFocusListener ( + [in] ::com::sun::star::awt::XFocusListener xListener); + + + /** Broadcasts the a focusGained on all registered focus listeners + @param source + The object that has gained the input focus. It should implement + com::sun::star::accessibility::XAccessible. + */ + void fireFocusGained ( + [in] ::com::sun::star::uno::XInterface source); + + + /** Broadcasts the a focusGained on all registered focus listeners + @param source + The object that has lost the input focus. It should implement + com::sun::star::accessibility::XAccessible. + */ + void fireFocusLost ( + [in] ::com::sun::star::uno::XInterface source); + +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |