1d1766043SAndrew Rist/************************************************************** 2d1766043SAndrew Rist * 3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one 4d1766043SAndrew Rist * or more contributor license agreements. See the NOTICE file 5d1766043SAndrew Rist * distributed with this work for additional information 6d1766043SAndrew Rist * regarding copyright ownership. The ASF licenses this file 7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the 8d1766043SAndrew Rist * "License"); you may not use this file except in compliance 9d1766043SAndrew Rist * with the License. You may obtain a copy of the License at 10d1766043SAndrew Rist * 11d1766043SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0 12d1766043SAndrew Rist * 13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing, 14d1766043SAndrew Rist * software distributed under the License is distributed on an 15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16d1766043SAndrew Rist * KIND, either express or implied. See the License for the 17d1766043SAndrew Rist * specific language governing permissions and limitations 18d1766043SAndrew Rist * under the License. 19d1766043SAndrew Rist * 20d1766043SAndrew Rist *************************************************************/ 21d1766043SAndrew Rist 22d1766043SAndrew Rist 23cdf0e10cSrcweir 24cdf0e10cSrcweir#ifndef __com_sun_star_inspection_XObjectInspector_idl__ 25cdf0e10cSrcweir#define __com_sun_star_inspection_XObjectInspector_idl__ 26cdf0e10cSrcweir 27cdf0e10cSrcweir#ifndef __com_sun_star_frame_XController_idl__ 28cdf0e10cSrcweir#include <com/sun/star/frame/XController.idl> 29cdf0e10cSrcweir#endif 30cdf0e10cSrcweir#ifndef __com_sun_star_frame_XDispatchProvider_idl__ 31cdf0e10cSrcweir#include <com/sun/star/frame/XDispatchProvider.idl> 32cdf0e10cSrcweir#endif 33cdf0e10cSrcweir#ifndef __com_sun_star_util_VetoException_idl__ 34cdf0e10cSrcweir#include <com/sun/star/util/VetoException.idl> 35cdf0e10cSrcweir#endif 36cdf0e10cSrcweir 37cdf0e10cSrcweir//============================================================================= 38cdf0e10cSrcweirmodule com { module sun { module star { module inspection { 39cdf0e10cSrcweir 40cdf0e10cSrcweirpublished interface XObjectInspectorModel; 41cdf0e10cSrcweirpublished interface XObjectInspectorUI; 42cdf0e10cSrcweir 43cdf0e10cSrcweir//----------------------------------------------------------------------------- 44cdf0e10cSrcweir/** describes the main interface of an <type>ObjectInspector</type>. 45cdf0e10cSrcweir 46cdf0e10cSrcweir @see ObjectInspector 47cdf0e10cSrcweir 48*d695a2a0SJürgen Schmidt @since OpenOffice 2.0.3 49cdf0e10cSrcweir*/ 50cdf0e10cSrcweirpublished interface XObjectInspector 51cdf0e10cSrcweir{ 52cdf0e10cSrcweir /** allows to plug the inspector into an <type scope="com::sun::star::frame">XFrame</type> 53cdf0e10cSrcweir 54cdf0e10cSrcweir <p>The <member scope="com::sun::star::frame">XController::setModel</member> method 55cdf0e10cSrcweir accepts only <type>XObjectInspectorModel</type>s, and will return <FALSE/> if the 56cdf0e10cSrcweir to-be-attached model is not <NULL/>, but does not support this interface.</p> 57cdf0e10cSrcweir 58cdf0e10cSrcweir <p>If you do not want to support a full-blown <type scope="com::sun::star::frame">XModel</type>, 59cdf0e10cSrcweir use the <member>InspectorModel</member> attribute instead.</p> 60cdf0e10cSrcweir 61cdf0e10cSrcweir <p>The <member scope="com::sun::star::frame">XController::getViewData</member> and 62cdf0e10cSrcweir <member scope="com::sun::star::frame">XController::restoreViewData</member> exchange 63cdf0e10cSrcweir string values, which describes as much of the current view state as possible.</p> 64cdf0e10cSrcweir */ 65cdf0e10cSrcweir interface com::sun::star::frame::XController; 66cdf0e10cSrcweir 67cdf0e10cSrcweir /** allows to intercept functionality 68cdf0e10cSrcweir 69cdf0e10cSrcweir <p>This interface is inherited from the <type scope="com::sun::star::frame">Controller</type> 70cdf0e10cSrcweir service, currently, there is no functionality to intercept at an <type>XObjectInspector</type>.</p> 71cdf0e10cSrcweir */ 72cdf0e10cSrcweir interface com::sun::star::frame::XDispatchProvider; 73cdf0e10cSrcweir 74cdf0e10cSrcweir /** provides access to the current model of the inspector 75cdf0e10cSrcweir 76cdf0e10cSrcweir <p>The model is mainly responsible for providing the property handlers. Additionally, 77cdf0e10cSrcweir it can provide user interface names and help URLs for property categories.</p> 78cdf0e10cSrcweir 79cdf0e10cSrcweir <p>Note that there are two ways of setting or retrieving the current model: You can either 80cdf0e10cSrcweir use <member scope="com::sun::star::frame">XModel::setModel</member>, or, if you do not want 81cdf0e10cSrcweir or need to implement the full-blown <type scope="com::sun::star::frame">XModel</type> interface, 82cdf0e10cSrcweir you can use this property directly. Both approaches are semantically equivalent.</p> 83cdf0e10cSrcweir 84cdf0e10cSrcweir <p>If a new model is set at the inspector, the complete UI will be rebuilt to reflect 85cdf0e10cSrcweir the change, using the new property handlers provided by the new model.</p> 86cdf0e10cSrcweir */ 87cdf0e10cSrcweir [attribute] XObjectInspectorModel InspectorModel; 88cdf0e10cSrcweir 89cdf0e10cSrcweir /** provides access to the user interface of the object inspector. 90cdf0e10cSrcweir 91cdf0e10cSrcweir <p>This interface can be used to access and manipulate various aspects of 92cdf0e10cSrcweir the user interface. For instance, you can enable and disable certain 93cdf0e10cSrcweir property controls (or parts thereof), or register observers for all property 94cdf0e10cSrcweir controls.</p> 95cdf0e10cSrcweir 96*d695a2a0SJürgen Schmidt @since OpenOffice 2.2 97cdf0e10cSrcweir */ 98cdf0e10cSrcweir [attribute, readonly] XObjectInspectorUI InspectorUI; 99cdf0e10cSrcweir 100cdf0e10cSrcweir /** inspects a new collection of one or more objects. 101cdf0e10cSrcweir 102cdf0e10cSrcweir <p>If the sequence is empty, the UI of the <type>ObjectInspector</type> will be 103cdf0e10cSrcweir cleared.</p> 104cdf0e10cSrcweir 105cdf0e10cSrcweir <p>If the sequence contains more than one object, the <type>XObjectInspector</type> 106cdf0e10cSrcweir will create a complete set of property handlers (as indicated by 107cdf0e10cSrcweir <member>XObjectInspectorModel::HandlerFactories</member>) for <em>every</em> of 108cdf0e10cSrcweir the objects, and compose their output.</p> 109cdf0e10cSrcweir 110cdf0e10cSrcweir @throws com::sun::star::util::VetoException 111cdf0e10cSrcweir if the inspector cannot switch to another object set. This typically happens if 112cdf0e10cSrcweir one of the active <type>XPropertyHandler</type>'s raised a non-modal user interface, 113cdf0e10cSrcweir and vetoed suspension of this UI. 114cdf0e10cSrcweir 115cdf0e10cSrcweir @see XPropertyHandler::isComposable 116cdf0e10cSrcweir @see XPropertyHandler::onInteractivePropertySelection 117cdf0e10cSrcweir @see XPropertyHandler::suspend 118cdf0e10cSrcweir */ 119cdf0e10cSrcweir void inspect( [in] sequence< com::sun::star::uno::XInterface > Objects ) 120cdf0e10cSrcweir raises (com::sun::star::util::VetoException); 121cdf0e10cSrcweir}; 122cdf0e10cSrcweir 123cdf0e10cSrcweir//============================================================================= 124cdf0e10cSrcweir 125cdf0e10cSrcweir}; }; }; }; 126cdf0e10cSrcweir 127cdf0e10cSrcweir#endif 128cdf0e10cSrcweir 129cdf0e10cSrcweir 130