1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_inspection_ObjectInspector_idl__ 24#define __com_sun_star_inspection_ObjectInspector_idl__ 25 26#ifndef __com_sun_star_inspection_XObjectInspector_idl__ 27#include <com/sun/star/inspection/XObjectInspector.idl> 28#endif 29 30#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ 31#include <com/sun/star/lang/IllegalArgumentException.idl> 32#endif 33 34//============================================================================= 35module com { module sun { module star { module inspection { 36 37//----------------------------------------------------------------------------- 38/** describes an <type scope="com::sun::star::frame">Controller</type> which can be used to 39 browse and modify properties of components. 40 41 <p>The controller can be plugged into an <type scope="com::sun::star::frame">XFrame</type>, and will 42 provide a visual component for inspecting and modifying component properties.<br/> 43 Note that "property" here is a generic term - any aspect of a component can be considered a property, 44 as long as some property handler is able to describe this aspect in a property-like way.</p> 45 46 <p>The basic idea is that one facet of the inspected component is represented by a single line 47 of controls: A label, an input control, and optionally one or two buttons which, when pressed, 48 trigger additional user interaction (e.g. a more sophisticated dialog to enter a property value).</p> 49 50 <p>Additionally, property lines can be grouped into different categories. A usual implementation 51 of such categories would be tab pages, but other implementations are possible, too.</p> 52 53 <p>Even more, the inspector can optionally display a help section at the bottom of its 54 window, which can display arbitrary (context-sensitive) help texts.</p> 55 56 <p>An <type>ObjectInspector</type> needs one or more property handlers which describe 57 the facets of an inspected component - without such handlers, the inspector window will simply 58 stay empty.</p> 59 60 <p>The property handlers, as well as more information about the layout of the inspector, 61 are provided by a inspector model, which has to be implemented by the user of the inspector.</p> 62 <p/> 63 64 <p>Since property handlers might have the need to raise UI, they will be created with a context 65 value named "DialogParentWindow", which contains an XWindow which should be used as parent of 66 any windows to raise.<br/> 67 If the <type scope="com::sun::star::uno">XComponentContext</type> in which the <type>ObjectInspector</type> 68 was created already contains such a value, it is not overwritten. Only if it doesn't, the inspector 69 will add an own value - which contains the inspector's main window - to the context when creating 70 handlers.</p> 71 72 @see XPropertyHandler 73 @see LineDescriptor 74 @see PropertyControlType 75 @see ObjectInspectorModel 76 @see com::sun::star::uno::XComponentContext 77 @see com::sun::star::lang::XMultiComponentFactory 78 79 @since OpenOffice 2.0.3 80*/ 81published service ObjectInspector : XObjectInspector 82{ 83 /** creates a default instance of the ObjectInspector 84 85 @since OpenOffice 2.2 86 */ 87 createDefault(); 88 89 /** creates an instance of the ObjectInspector, using a given <type>ObjectInspectorModel</type> 90 91 @throws ::com::sun::star::lang::IllegalArgumentException 92 if <arg>Model</arg> is <NULL/>. 93 94 @since OpenOffice 2.2 95 */ 96 createWithModel( [in] XObjectInspectorModel Model ) 97 raises ( ::com::sun::star::lang::IllegalArgumentException ); 98}; 99 100//============================================================================= 101 102}; }; }; }; 103 104#endif 105 106 107 108