The controller can be plugged into an ::com::sun::star::frame::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.
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 ::com::sun::star::uno::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.