/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2008 by Sun Microsystems, Inc. * * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile: ObjectInspector.idl,v $ * $Revision: 1.5 $ * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_inspection_ObjectInspector_idl__ #define __com_sun_star_inspection_ObjectInspector_idl__ #ifndef __com_sun_star_inspection_XObjectInspector_idl__ #include #endif #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ #include #endif //============================================================================= module com { module sun { module star { module inspection { //----------------------------------------------------------------------------- /** describes an Controller which can be used to browse and modify properties of components.

The controller can be plugged into an XFrame, and will provide a visual component for inspecting and modifying component properties.
Note that "property" here is a generic term - any aspect of a component can be considered a property, as long as some property handler is able to describe this aspect in a property-like way.

The basic idea is that one facet of the inspected component is represented by a single line of controls: A label, an input control, and optionally one or two buttons which, when pressed, trigger additional user interaction (e.g. a more sophisticated dialog to enter a property value).

Additionally, property lines can be grouped into different categories. A usual implementation of such categories would be tab pages, but other implementations are possible, too.

Even more, the inspector can optionally display a help section at the bottom of its window, which can display arbitrary (context-sensitive) help texts.

An ObjectInspector needs one or more property handlers which describe the facets of an inspected component - without such handlers, the inspector window will simply stay empty.

The property handlers, as well as more information about the layout of the inspector, are provided by a inspector model, which has to be implemented by the user of the inspector.

Since property handlers might have the need to raise UI, they will be created with a context value named "DialogParentWindow", which contains an XWindow which should be used as parent of any windows to raise.
If the XComponentContext in which the ObjectInspector was created already contains such a value, it is not overwritten. Only if it doesn't, the inspector will add an own value - which contains the inspector's main window - to the context when creating handlers.

@see XPropertyHandler @see LineDescriptor @see PropertyControlType @see ObjectInspectorModel @see com::sun::star::uno::XComponentContext @see com::sun::star::lang::XMultiComponentFactory @since OOo 2.0.3 */ service ObjectInspector : XObjectInspector { /** creates a default instance of the ObjectInspector @since OOo 2.2 */ createDefault(); /** creates an instance of the ObjectInspector, using a given ObjectInspectorModel @throws ::com::sun::star::lang::IllegalArgumentException if Model is . @since OOo 2.2 */ createWithModel( [in] XObjectInspectorModel Model ) raises ( ::com::sun::star::lang::IllegalArgumentException ); }; //============================================================================= }; }; }; }; #endif