summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/awt/XExtendedToolkit.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/awt/XExtendedToolkit.idl')
-rw-r--r--offapi/com/sun/star/awt/XExtendedToolkit.idl195
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: */