summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/awt/XExtendedToolkit.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/awt/XExtendedToolkit.idl')
-rwxr-xr-xoffapi/com/sun/star/awt/XExtendedToolkit.idl230
1 files changed, 230 insertions, 0 deletions
diff --git a/offapi/com/sun/star/awt/XExtendedToolkit.idl b/offapi/com/sun/star/awt/XExtendedToolkit.idl
new file mode 100755
index 000000000000..0cb4cff2c800
--- /dev/null
+++ b/offapi/com/sun/star/awt/XExtendedToolkit.idl
@@ -0,0 +1,230 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * 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_XExtendedToolkit_idl__
+#define __com_sun_star_awt_XExtendedToolkit_idl__
+
+#ifndef __com_sun_star_uno_XInterface_idl__
+#include <com/sun/star/uno/XInterface.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTopWindow_idl__
+#include <com/sun/star/awt/XTopWindow.idl>
+#endif
+
+#ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XTopWindowListener_idl__
+#include <com/sun/star/awt/XTopWindowListener.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XKeyHandler_idl__
+#include <com/sun/star/awt/XKeyHandler.idl>
+#endif
+
+#ifndef __com_sun_star_awt_XFocusListener_idl__
+#include <com/sun/star/awt/XFocusListener.idl>
+#endif
+
+
+//=============================================================================
+
+module com { module sun { module star { module awt {
+
+//=============================================================================
+
+/** The <type>XExtendedToolkit</type> is an extension of the <type
+ scope="::com::sun::star::awt">XToolkit</type> 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 <member>XExtendedToolkit::getTopWindowCount</member> and
+ <member>XExtendedToolkit::getTopWindow</member> 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
+ <member>getTopWindowCount()</member> and successive calls to this
+ function.
+ @param nIndex
+ The index should be in the intervall from 0 up to but not
+ including the number of top-level windows as returned by
+ <member>getTopWindowCount()</member>.
+ @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 <type
+ scope="::com::sun::star::awt">XTopWindow</type>s. After having
+ obtained the current list of exisiting 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.)
+ */
+ [oneway] 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 refrences
+ will be removed.
+ */
+ [oneway] void removeTopWindowListener (
+ [in] ::com::sun::star::awt::XTopWindowListener xListener);
+
+ //-------------------------------------------------------------------------
+
+ /** Add a new listener that is called on <type
+ scope="::com::sun::star::awt">KeyEvent</type>s. 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.)
+ */
+ [oneway] 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 refrences
+ will be removed.
+ */
+ [oneway] void removeKeyHandler (
+ [in] ::com::sun::star::awt::XKeyHandler xHandler);
+
+ //-------------------------------------------------------------------------
+
+ /** Add a new listener that is called on <type
+ scope="::com::sun::star::awt">FocusEvent</type>s. 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.)
+ */
+ [oneway] 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 refrences
+ will be removed.
+ */
+ [oneway] 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
+ <type scope="com::sun::star::accessibility">XAccessible</type>.
+ */
+ [oneway] 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
+ <type scope="com::sun::star::accessibility">XAccessible</type>.
+ */
+ [oneway] void fireFocusLost (
+ [in] ::com::sun::star::uno::XInterface source);
+
+};
+
+}; }; }; };
+
+#endif