| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef __com_sun_star_inspection_XObjectInspector_idl__ |
| #define __com_sun_star_inspection_XObjectInspector_idl__ |
| |
| #ifndef __com_sun_star_frame_XController_idl__ |
| #include <com/sun/star/frame/XController.idl> |
| #endif |
| #ifndef __com_sun_star_frame_XDispatchProvider_idl__ |
| #include <com/sun/star/frame/XDispatchProvider.idl> |
| #endif |
| #ifndef __com_sun_star_util_VetoException_idl__ |
| #include <com/sun/star/util/VetoException.idl> |
| #endif |
| |
| //============================================================================= |
| module com { module sun { module star { module inspection { |
| |
| published interface XObjectInspectorModel; |
| published interface XObjectInspectorUI; |
| |
| //----------------------------------------------------------------------------- |
| /** describes the main interface of an <type>ObjectInspector</type>. |
| |
| @see ObjectInspector |
| |
| @since OpenOffice 2.0.3 |
| */ |
| published interface XObjectInspector |
| { |
| /** allows to plug the inspector into an <type scope="com::sun::star::frame">XFrame</type> |
| |
| <p>The <member scope="com::sun::star::frame">XController::setModel</member> method |
| accepts only <type>XObjectInspectorModel</type>s, and will return <FALSE/> if the |
| to-be-attached model is not <NULL/>, but does not support this interface.</p> |
| |
| <p>If you do not want to support a full-blown <type scope="com::sun::star::frame">XModel</type>, |
| use the <member>InspectorModel</member> attribute instead.</p> |
| |
| <p>The <member scope="com::sun::star::frame">XController::getViewData</member> and |
| <member scope="com::sun::star::frame">XController::restoreViewData</member> exchange |
| string values, which describes as much of the current view state as possible.</p> |
| */ |
| interface com::sun::star::frame::XController; |
| |
| /** allows to intercept functionality |
| |
| <p>This interface is inherited from the <type scope="com::sun::star::frame">Controller</type> |
| service, currently, there is no functionality to intercept at an <type>XObjectInspector</type>.</p> |
| */ |
| interface com::sun::star::frame::XDispatchProvider; |
| |
| /** provides access to the current model of the inspector |
| |
| <p>The model is mainly responsible for providing the property handlers. Additionally, |
| it can provide user interface names and help URLs for property categories.</p> |
| |
| <p>Note that there are two ways of setting or retrieving the current model: You can either |
| use <member scope="com::sun::star::frame">XModel::setModel</member>, or, if you do not want |
| or need to implement the full-blown <type scope="com::sun::star::frame">XModel</type> interface, |
| you can use this property directly. Both approaches are semantically equivalent.</p> |
| |
| <p>If a new model is set at the inspector, the complete UI will be rebuilt to reflect |
| the change, using the new property handlers provided by the new model.</p> |
| */ |
| [attribute] XObjectInspectorModel InspectorModel; |
| |
| /** provides access to the user interface of the object inspector. |
| |
| <p>This interface can be used to access and manipulate various aspects of |
| the user interface. For instance, you can enable and disable certain |
| property controls (or parts thereof), or register observers for all property |
| controls.</p> |
| |
| @since OpenOffice 2.2 |
| */ |
| [attribute, readonly] XObjectInspectorUI InspectorUI; |
| |
| /** inspects a new collection of one or more objects. |
| |
| <p>If the sequence is empty, the UI of the <type>ObjectInspector</type> will be |
| cleared.</p> |
| |
| <p>If the sequence contains more than one object, the <type>XObjectInspector</type> |
| will create a complete set of property handlers (as indicated by |
| <member>XObjectInspectorModel::HandlerFactories</member>) for <em>every</em> of |
| the objects, and compose their output.</p> |
| |
| @throws com::sun::star::util::VetoException |
| if the inspector cannot switch to another object set. This typically happens if |
| one of the active <type>XPropertyHandler</type>'s raised a non-modal user interface, |
| and vetoed suspension of this UI. |
| |
| @see XPropertyHandler::isComposable |
| @see XPropertyHandler::onInteractivePropertySelection |
| @see XPropertyHandler::suspend |
| */ |
| void inspect( [in] sequence< com::sun::star::uno::XInterface > Objects ) |
| raises (com::sun::star::util::VetoException); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |
| |
| |