summaryrefslogtreecommitdiff
path: root/offapi
diff options
context:
space:
mode:
authorFrank Schönheit <frank.schoenheit@sun.com>2009-10-23 16:03:52 +0200
committerFrank Schönheit <frank.schoenheit@sun.com>2009-10-23 16:03:52 +0200
commitee4945697ac3b2b4f65105f5eb3fb7a108850c28 (patch)
tree6073c57536007fceb6ba01f9413bd02e019b9a64 /offapi
parenta829048a41fa7f0923d9360eb948ff398e33b586 (diff)
step 1 of the FormController UNOization: base the outgoing calls in the FormController implementation on (new) UNO API, instead of using implementation classes
Diffstat (limited to 'offapi')
-rw-r--r--offapi/com/sun/star/form/runtime/XFormController.idl10
-rw-r--r--offapi/com/sun/star/form/runtime/XFormControllerContext.idl57
-rw-r--r--offapi/com/sun/star/form/runtime/makefile.mk1
3 files changed, 68 insertions, 0 deletions
diff --git a/offapi/com/sun/star/form/runtime/XFormController.idl b/offapi/com/sun/star/form/runtime/XFormController.idl
index 76081bc82fe2..9c306eeb7857 100644
--- a/offapi/com/sun/star/form/runtime/XFormController.idl
+++ b/offapi/com/sun/star/form/runtime/XFormController.idl
@@ -38,12 +38,14 @@
#include <com/sun/star/sdb/XRowSetApproveBroadcaster.idl>
#include <com/sun/star/form/XDatabaseParameterBroadcaster2.idl>
#include <com/sun/star/form/XFormControllerListener.idl>
+#include <com/sun/star/task/XInteractionHandler.idl>
//=============================================================================
module com { module sun { module star { module form { module runtime {
interface XFormOperations;
+interface XFormControllerContext;
//=============================================================================
@@ -322,6 +324,14 @@ interface XFormController
*/
[attribute, readonly] ::com::sun::star::awt::XControl CurrentControl;
+ /** allows to delegate certain tasks to the context of the form controller
+ */
+ [attribute] XFormControllerContext Context;
+
+ /** used (if not <NULL/>) for user interactions triggered by the form controller.
+ */
+ [attribute] ::com::sun::star::task::XInteractionHandler InteractionHandler;
+
/** adds the specified listener to receive notifications whenever the activation state of
the controller changes.
*/
diff --git a/offapi/com/sun/star/form/runtime/XFormControllerContext.idl b/offapi/com/sun/star/form/runtime/XFormControllerContext.idl
new file mode 100644
index 000000000000..da0999ee17a7
--- /dev/null
+++ b/offapi/com/sun/star/form/runtime/XFormControllerContext.idl
@@ -0,0 +1,57 @@
+/*************************************************************************
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2009 by Sun Microsystems, Inc.
+*
+* 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 __offapi_com_sun_star_form_runtime_XFormControllerContext_idl__
+#define __offapi_com_sun_star_form_runtime_XFormControllerContext_idl__
+
+#include <com/sun/star/awt/XControl.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module form { module runtime {
+
+//=============================================================================
+
+/** provides a context for a <type>FormController</type>
+
+<p>A <type>FormController</type> knows about the controls it is responsible
+ for, and about the control container which those controls live in. However, it doesn't know
+ about a possible larger context, like a scrollable view which the controls are embedded into.
+ To compensate this, it can be provided a <code>XFormControllerContext</code>.</p>
+ */
+interface XFormControllerContext
+{
+ /** ensures the given control is visible, by scrolling the view if necessary.
+ */
+ void makeVisible( [in] ::com::sun::star::awt::XControl _Control );
+};
+
+//=============================================================================
+
+}; }; }; }; };
+
+//=============================================================================
+
+#endif
diff --git a/offapi/com/sun/star/form/runtime/makefile.mk b/offapi/com/sun/star/form/runtime/makefile.mk
index 18d59244ddda..b13879e1f65a 100644
--- a/offapi/com/sun/star/form/runtime/makefile.mk
+++ b/offapi/com/sun/star/form/runtime/makefile.mk
@@ -48,6 +48,7 @@ IDLFILES=\
FormController.idl \
XFeatureInvalidation.idl \
XFormController.idl \
+ XFormControllerContext.idl \
XFormOperations.idl \
# ------------------------------------------------------------------