summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/form/PropertyBrowserController.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/form/PropertyBrowserController.idl')
-rw-r--r--offapi/com/sun/star/form/PropertyBrowserController.idl126
1 files changed, 126 insertions, 0 deletions
diff --git a/offapi/com/sun/star/form/PropertyBrowserController.idl b/offapi/com/sun/star/form/PropertyBrowserController.idl
new file mode 100644
index 000000000..4e9c3d894
--- /dev/null
+++ b/offapi/com/sun/star/form/PropertyBrowserController.idl
@@ -0,0 +1,126 @@
+/* -*- 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_form_PropertyBrowserController_idl__
+#define __com_sun_star_form_PropertyBrowserController_idl__
+
+#include <com/sun/star/frame/XController.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XFastPropertySet.idl>
+#include <com/sun/star/beans/XMultiPropertySet.idl>
+
+
+ module com { module sun { module star { module form {
+
+
+/** describes a controller which can be used to browse and modify properties of form controls.
+
+ <p>The controller can be plugged into a com::sun::star::frame::XFrame, and will
+ provide a visual component for inspecting control properties. This means it allows to interactively control
+ several aspects of a FormControlModel or DataAwareControlModel, such as it's
+ data binding, it's layout, and it's event binding</p>
+
+ <p>For using a PropertyBrowserController, you need to
+ <ul><li>instantiate it at a service factory of your choice</li>
+ <li>attach it to an empty frame of your choice</li>
+ <li>set the IntrospectedObject property to the control model which you wish to analyze</li>
+ </ul>
+ </p>
+
+ @code{.java}
+ XFrame xFrame = getNewEmptyFrame();
+ XMultiServiceFactory xORB = getORB();
+ XPropertySet xControlModel = getMyControlModel();
+
+ // instantiate the controller
+ XController xController = (XController)UnoRuntime.queryInterface( XController.class,
+ xORB.createInstance( "com.sun.star.form.PropertyBrowserController" ) );
+
+ // marry the controller and the frame. This will cause the controller
+ // to create a visual component within the frame to inspect our object
+ xController.attachFrame( xFrame )
+
+ // tell the controller which object to inspect
+ XPropertySet xControllerProps = (XPropertySet)UnoRuntime.queryInterface(
+ XPropertySet.class, xController );
+
+ xControllerProps.setPropertyValue( "IntrospectedObject", xControlModel );
+ @endcode
+
+ @see com::sun::star::frame::XController
+
+ @deprecated
+ <p>Note that nowadays, this service is only a legacy wrapper using the
+ com::sun::star::inspection::ObjectInspector and the
+ com::sun::star::form::inspection::DefaultFormComponentInspectorModel services, and knitting them together.</p>
+
+*/
+published service PropertyBrowserController
+{
+ /** contains the object to inspect.
+
+ <p>Changing this property from outside causes the controller to update its view
+ with the data of the new object</p>
+ */
+ [property] com::sun::star::beans::XPropertySet IntrospectedObject;
+
+ /** controls the actually visible page.
+
+ <p>The aspects of a DataAwareControlModel which can be browsed and modified
+ using this controller can be separated into 3 groups: common aspects, data-awareness
+ related aspects, and bound events.<br>
+ The appearance of the visual component created by the controller is that 3 tab pages, one for
+ each group, are displayed (of course if the control does not support any aspects of a given group,
+ the group is omitted).<br/>
+ With this property, it can be controller which page is currently active.</p>
+
+ <p>Valid values are (this list may be extended in the future):
+ <ul><li>Generic</li>
+ <li>Data</li>
+ <li>Events</li>
+ </ul></p>
+ */
+ [property] string CurrentPage;
+
+ /** ensures the basic functionality for a controller.
+
+ <p>With supporting this interface, the component is able to operate in (and provide content
+ for) a com::sun::star::frame::XFrame.</p>
+ */
+ interface com::sun::star::frame::XController;
+
+ /** allows to access the properties of the object
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+ /** allows to access the properties via indices
+ */
+ interface com::sun::star::beans::XFastPropertySet;
+
+ /** allows to access more than one property of the object at the same time
+ */
+ interface com::sun::star::beans::XMultiPropertySet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */