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#ifndef __com_sun_star_inspection_ObjectInspector_idl__ 24cdf0e10cSrcweir#define __com_sun_star_inspection_ObjectInspector_idl__ 25cdf0e10cSrcweir 26cdf0e10cSrcweir#ifndef __com_sun_star_inspection_XObjectInspector_idl__ 27cdf0e10cSrcweir#include <com/sun/star/inspection/XObjectInspector.idl> 28cdf0e10cSrcweir#endif 29cdf0e10cSrcweir 30cdf0e10cSrcweir#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ 31cdf0e10cSrcweir#include <com/sun/star/lang/IllegalArgumentException.idl> 32cdf0e10cSrcweir#endif 33cdf0e10cSrcweir 34cdf0e10cSrcweir//============================================================================= 35cdf0e10cSrcweirmodule com { module sun { module star { module inspection { 36cdf0e10cSrcweir 37cdf0e10cSrcweir//----------------------------------------------------------------------------- 38cdf0e10cSrcweir/** describes an <type scope="com::sun::star::frame">Controller</type> which can be used to 39cdf0e10cSrcweir browse and modify properties of components. 40cdf0e10cSrcweir 41cdf0e10cSrcweir <p>The controller can be plugged into an <type scope="com::sun::star::frame">XFrame</type>, and will 42cdf0e10cSrcweir provide a visual component for inspecting and modifying component properties.<br/> 43cdf0e10cSrcweir Note that "property" here is a generic term - any aspect of a component can be considered a property, 44cdf0e10cSrcweir as long as some property handler is able to describe this aspect in a property-like way.</p> 45cdf0e10cSrcweir 46cdf0e10cSrcweir <p>The basic idea is that one facet of the inspected component is represented by a single line 47cdf0e10cSrcweir of controls: A label, an input control, and optionally one or two buttons which, when pressed, 48cdf0e10cSrcweir trigger additional user interaction (e.g. a more sophisticated dialog to enter a property value).</p> 49cdf0e10cSrcweir 50cdf0e10cSrcweir <p>Additionally, property lines can be grouped into different categories. A usual implementation 51cdf0e10cSrcweir of such categories would be tab pages, but other implementations are possible, too.</p> 52cdf0e10cSrcweir 53cdf0e10cSrcweir <p>Even more, the inspector can optionally display a help section at the bottom of its 54cdf0e10cSrcweir window, which can display arbitrary (context-sensitive) help texts.</p> 55cdf0e10cSrcweir 56cdf0e10cSrcweir <p>An <type>ObjectInspector</type> needs one or more property handlers which describe 57cdf0e10cSrcweir the facets of an inspected component - without such handlers, the inspector window will simply 58cdf0e10cSrcweir stay empty.</p> 59cdf0e10cSrcweir 60cdf0e10cSrcweir <p>The property handlers, as well as more information about the layout of the inspector, 61cdf0e10cSrcweir are provided by a inspector model, which has to be implemented by the user of the inspector.</p> 62cdf0e10cSrcweir <p/> 63cdf0e10cSrcweir 64cdf0e10cSrcweir <p>Since property handlers might have the need to raise UI, they will be created with a context 65cdf0e10cSrcweir value named "DialogParentWindow", which contains an XWindow which should be used as parent of 66cdf0e10cSrcweir any windows to raise.<br/> 67cdf0e10cSrcweir If the <type scope="com::sun::star::uno">XComponentContext</type> in which the <type>ObjectInspector</type> 68cdf0e10cSrcweir was created already contains such a value, it is not overwritten. Only if it doesn't, the inspector 69cdf0e10cSrcweir will add an own value - which contains the inspector's main window - to the context when creating 70cdf0e10cSrcweir handlers.</p> 71cdf0e10cSrcweir 72cdf0e10cSrcweir @see XPropertyHandler 73cdf0e10cSrcweir @see LineDescriptor 74cdf0e10cSrcweir @see PropertyControlType 75cdf0e10cSrcweir @see ObjectInspectorModel 76cdf0e10cSrcweir @see com::sun::star::uno::XComponentContext 77cdf0e10cSrcweir @see com::sun::star::lang::XMultiComponentFactory 78cdf0e10cSrcweir 79*d695a2a0SJürgen Schmidt @since OpenOffice 2.0.3 80cdf0e10cSrcweir*/ 81cdf0e10cSrcweirpublished service ObjectInspector : XObjectInspector 82cdf0e10cSrcweir{ 83cdf0e10cSrcweir /** creates a default instance of the ObjectInspector 84cdf0e10cSrcweir 85*d695a2a0SJürgen Schmidt @since OpenOffice 2.2 86cdf0e10cSrcweir */ 87cdf0e10cSrcweir createDefault(); 88cdf0e10cSrcweir 89cdf0e10cSrcweir /** creates an instance of the ObjectInspector, using a given <type>ObjectInspectorModel</type> 90cdf0e10cSrcweir 91cdf0e10cSrcweir @throws ::com::sun::star::lang::IllegalArgumentException 92cdf0e10cSrcweir if <arg>Model</arg> is <NULL/>. 93cdf0e10cSrcweir 94*d695a2a0SJürgen Schmidt @since OpenOffice 2.2 95cdf0e10cSrcweir */ 96cdf0e10cSrcweir createWithModel( [in] XObjectInspectorModel Model ) 97cdf0e10cSrcweir raises ( ::com::sun::star::lang::IllegalArgumentException ); 98cdf0e10cSrcweir}; 99cdf0e10cSrcweir 100cdf0e10cSrcweir//============================================================================= 101cdf0e10cSrcweir 102cdf0e10cSrcweir}; }; }; }; 103cdf0e10cSrcweir 104cdf0e10cSrcweir#endif 105cdf0e10cSrcweir 106cdf0e10cSrcweir 107cdf0e10cSrcweir 108