Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > fc480f9d5aabed8eeaffe8ad3401a94c > files > 3921

openoffice.org-devel-doc-3.2.1-0.3mdv2010.2.i586.rpm

<html>
<head>
<title>Interface XPropertyHandler</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../idl.css">
</head>
<body>
<div id="adc-idlref">

<a name="_top_"> </a><table class="navimain" border="0" cellpadding="3">
<tr>
<td class="navimain"><a href="../module-ix.html" class="navimain">Overview</a></td>
<td class="navimain"><a href="module-ix.html" class="navimain">Module</a></td>
<td class="navimain"><a href="XPropertyHandler-xref.html" class="navimain">Use</a></td>
<td class="navimainnone">Devguide</td>
<td class="navimain"><a href="../../../../index-files/index-1.html" class="navimain">Index</a></td>
</tr>
</table>
<table class="navisub" border="0" cellpadding="0">
<tr>
<td class="navisub"><a href="#MethodsSummary" class="navisub">Methods' Summary</a></td>
<td class="navisub">Attributes' Summary</td>
<td class="navisub"><a href="#MethodsDetails" class="navisub">Methods' Details</a></td>
<td class="navisub">Attributes' Details</td>
</tr>
</table>
<hr>
<table border="0" width="100%" cellpadding="5" cellspacing="3" class="title-table" style="margin-bottom:6pt;">
<tr>
<td><p class="namechain"><a href="../../../../module-ix.html" class="namechain">::</a> <a href="../../../module-ix.html" class="namechain">com</a> :: <a href="../../module-ix.html" class="namechain">sun</a> :: <a href="../module-ix.html" class="namechain">star</a> :: <a href="module-ix.html" class="namechain">inspection</a> :: </p>
</td>
</tr>
<tr>
<td class="title"><table class="title-table" width="99%">
<tr>
<td width="25%" class="title2">unpublished </td>
<td width="50%" class="title">interface XPropertyHandler</td>
<td width="*"/></tr>
</table>
</td>
</tr>
<tr>
<td><dl>
<dt><b>Base Interfaces</b></dt>
<dd><pre style="font-family:monospace;"><strong>XPropertyHandler</strong>
&#x2517 ::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a>

</pre></dd>
<dd><a name/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="crosstitle">
<tr>
<td class="imsum_left">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a></td>
<td class="imsum_right"><dl>
<dt><b>Description</b></dt>
<dd>used for controlling resources acquired by the handler

 </dd>
<dd><p>::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a>::<a href="../lang/XComponent.html#dispose">dispose</a> is invoked when the property handler is not
 needed by the object inspector anymore. Handler implementations should clean up any
 resources here.</p>
 </dd>
</dl>
</td>
</tr>
</table>
</dd>
</dl>
</td>
</tr>
<tr>
<td><dl>
<dt><b>Usage Restrictions</b></dt>
<dd><i>not published</i></dd>
<dt><b>Description</b></dt>
<dd>is the basic interface for object inspection.

 </dd>
<dd><p>The <a href="ObjectInspector.html">ObjectInspector</a> itself does not know anything about the object
 it is inspecting, all information is obtained via <a href="XPropertyHandler.html">XPropertyHandler</a>s.
 Also, property handlers are responsible for describing the user interface which should
 be used to interact with the user, with respect to a given aspect of the inspected
 component.</p>

 </dd>
<dt><b>Since </b></dt>
<dd>OpenOffice 2.0.3</dd>
<dt><b>See also</b></dt>
<dd><a href="ObjectInspector.html">ObjectInspector</a>, <a href="LineDescriptor.html">LineDescriptor</a></dd>
</dl>
</td>
</tr>
</table>
<hr>
<a name="MethodsSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle" colspan="2">Methods' Summary</td>
</tr>
<tr>
<td class="imsum_left"><a href="#inspect">inspect</a></td>
<td class="imsum_right">binds the property handler to a new component
 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#getPropertyValue">getPropertyValue</a></td>
<td class="imsum_right">retrieves the current value of a property
 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#setPropertyValue">setPropertyValue</a></td>
<td class="imsum_right">sets the value of a property

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#getPropertyState">getPropertyState</a></td>
<td class="imsum_right">returns the state of a property

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#describePropertyLine">describePropertyLine</a></td>
<td class="imsum_right">describes the UI to be used to represent the property
 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#convertToPropertyValue">convertToPropertyValue</a></td>
<td class="imsum_right">converts a given control-compatible value to a property value

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#convertToControlValue">convertToControlValue</a></td>
<td class="imsum_right">converts a given property value to a control-compatible value

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#addPropertyChangeListener">addPropertyChangeListener</a></td>
<td class="imsum_right">registers a listener for notification about property value changes

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#removePropertyChangeListener">removePropertyChangeListener</a></td>
<td class="imsum_right">revokes a listener for notification about property value changes
 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#getSupportedProperties">getSupportedProperties</a></td>
<td class="imsum_right">returns the properties which the handler can handle

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#getSupersededProperties">getSupersededProperties</a></td>
<td class="imsum_right">returns the properties which are to be superseded by this handler

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#getActuatingProperties">getActuatingProperties</a></td>
<td class="imsum_right">retrieve the actuating properties which this handler is interested in

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#isComposable">isComposable</a></td>
<td class="imsum_right">determines whether a given property, which the handler is responsible for, is composable.

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#onInteractivePropertySelection">onInteractivePropertySelection</a></td>
<td class="imsum_right">called when a browse button belonging to a property UI represenation has been clicked

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#actuatingPropertyChanged">actuatingPropertyChanged</a></td>
<td class="imsum_right">updates the UI of dependent properties when the value of a certain actuating property changed

 &nbsp;</td>
</tr>
<tr>
<td class="imsum_left"><a href="#suspend">suspend</a></td>
<td class="imsum_right">suspends the handler

 &nbsp;</td>
</tr>
</table>
<a name="MethodsDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle">Methods' Details</td>
</tr>
<tr>
<td class="imdetail"><a name="inspect" class="membertitle">inspect</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">void</td>
</tr>
<tr>
<td valign="top"><b>inspect</b>(</td>
<td valign="top">[in] ::com::sun::star::<a href="../uno/module-ix.html">uno</a>::<a href="../uno/XInterface.html">XInterface</a></td>
<td valign="bottom">&nbsp;Component )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/NullPointerException.html">NullPointerException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>binds the property handler to a new component
 </dd>
<dt><b>Parameter Component</b></dt>
<dd>the component to inspect. Must not be <b>NULL</b>
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::lang::NullPointerException
 if the component is <b>NULL</b>
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="getPropertyValue" class="membertitle">getPropertyValue</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">any</td>
</tr>
<tr>
<td valign="top"><b>getPropertyValue</b>(</td>
<td valign="top">[in] string</td>
<td valign="bottom">&nbsp;PropertyName )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/UnknownPropertyException.html">UnknownPropertyException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>retrieves the current value of a property
 </dd>
<dt><b>Parameter PropertyName</b></dt>
<dd>the name of the property whose value is to be retrieved
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::beans::UnknownPropertyException
 if the given property is not supported by the property handler
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="setPropertyValue" class="membertitle">setPropertyValue</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">void</td>
</tr>
<tr>
<td valign="top"><b>setPropertyValue</b>(</td>
<td valign="top">[in] string</td>
<td valign="bottom">&nbsp;PropertyName,</td>
</tr>
<tr>
<td/><td valign="top">[in] any</td>
<td valign="bottom">&nbsp;Value )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/UnknownPropertyException.html">UnknownPropertyException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>sets the value of a property

 </dd>
<dt><b>Parameter PropertyName</b></dt>
<dd>the name of the property whose value is to be set
 </dd>
<dt><b>Parameter Value</b></dt>
<dd>the property value to set
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::beans::UnknownPropertyException
 if the given property is not supported by the property handler
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="getPropertyState" class="membertitle">getPropertyState</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/PropertyState.html">PropertyState</a></td>
</tr>
<tr>
<td valign="top"><b>getPropertyState</b>(</td>
<td valign="top">[in] string</td>
<td valign="bottom">&nbsp;PropertyName )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/UnknownPropertyException.html">UnknownPropertyException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>returns the state of a property

 </dd>
<dt><b>Parameter PropertyName</b></dt>
<dd>the name of the property whose state is to be retrieved
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::beans::UnknownPropertyException
 if the given property is not supported by the property handler
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="describePropertyLine" class="membertitle">describePropertyLine</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3"><a href="LineDescriptor.html">LineDescriptor</a></td>
</tr>
<tr>
<td valign="top"><b>describePropertyLine</b>(</td>
<td valign="top">[in] string</td>
<td valign="bottom">&nbsp;PropertyName,</td>
</tr>
<tr>
<td/><td valign="top">[in] <a href="XPropertyControlFactory.html">XPropertyControlFactory</a></td>
<td valign="bottom">&nbsp;ControlFactory )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/UnknownPropertyException.html">UnknownPropertyException</a>,<br>
::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/NullPointerException.html">NullPointerException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>describes the UI to be used to represent the property
 </dd>
<dt><b>Parameter PropertyName</b></dt>
<dd>the name of the property whose user interface is to be described
 implementation
 </dd>
<dt><b>Parameter ControlFactory</b></dt>
<dd>a factory for creating <a href="XPropertyControl.html">XPropertyControl</a> instances. Must not be <b>NULL</b>.
 </dd>
<dt><b>Returns</b></dt>
<dd>the descriptor of the property line.
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::beans::UnknownPropertyException
 if the given property is not supported by this handler
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::lang::NullPointerException
 if <arg>ControlFactory</arg> is <b>NULL</b>.
 </dd>
<dt><b>See also</b></dt>
<dd><a href="PropertyControlType.html">PropertyControlType</a>, <a href="LineDescriptor.html">LineDescriptor</a></dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="convertToPropertyValue" class="membertitle">convertToPropertyValue</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">any</td>
</tr>
<tr>
<td valign="top"><b>convertToPropertyValue</b>(</td>
<td valign="top">[in] string</td>
<td valign="bottom">&nbsp;PropertyName,</td>
</tr>
<tr>
<td/><td valign="top">[in] any</td>
<td valign="bottom">&nbsp;ControlValue )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/UnknownPropertyException.html">UnknownPropertyException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>converts a given control-compatible value to a property value

 </dd>
<dd><p>In <a href="#describePropertyLine">describePropertyLine</a>, a property handler declared which type of control
 should be used to display the value of a certain property. To allow to use the same control
 type for different properties, and in particular, for properties of different type,
 conversions between controls values and property values are needed.</p>

 <p>This method converts a control value into a property value, which subsequently can be used
 in conjunction with <a href="#setPropertyValue">setPropertyValue</a>.</p>

 </dd>
<dt><b>Parameter PropertyName</b></dt>
<dd>The name of the conversion's target property.
 </dd>
<dt><b>Parameter ControlValue</b></dt>
<dd>The to-be-converted control value. This value has been obtained from an <a href="XPropertyControl.html">XPropertyControl</a>,
 using its <a href="#Value">Value</a> attribute.

 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::beans::UnknownPropertyException
 if the given property is not supported by the property handler

 </dd>
<dt><b>See also</b></dt>
<dd><a href="#convertToControlValue">convertToControlValue</a>, <a href="#describePropertyLine">describePropertyLine</a>, <a href="XPropertyControl.html">XPropertyControl</a>, <a href="#getPropertyValue">getPropertyValue</a></dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="convertToControlValue" class="membertitle">convertToControlValue</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">any</td>
</tr>
<tr>
<td valign="top"><b>convertToControlValue</b>(</td>
<td valign="top">[in] string</td>
<td valign="bottom">&nbsp;PropertyName,</td>
</tr>
<tr>
<td/><td valign="top">[in] any</td>
<td valign="bottom">&nbsp;PropertyValue,</td>
</tr>
<tr>
<td/><td valign="top">[in] type</td>
<td valign="bottom">&nbsp;ControlValueType )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/UnknownPropertyException.html">UnknownPropertyException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>converts a given property value to a control-compatible value

 </dd>
<dd><p>In <a href="#describePropertyLine">describePropertyLine</a>, a property handler declared which type of control
 should be used to display the value of a certain property. To allow to use the same control
 type for different properties, and in particular, for properties of different type,
 conversions between controls values and property values are needed.</p>

 <p>This method converts a property value, which has previously been obtained using
 <a href="#getPropertyValue">getPropertyValue</a>, into a control-compatible value, which can be used
 with <a href="XPropertyControl.html">XPropertyControl</a>'s <a href="XPropertyControl.html">XPropertyControl</a>::<a href="XPropertyControl.html#Value">Value</a> attribute.</p>

 <p>A usual application of this method are list boxes: There is a generic list box implementation,
 which is able to display a simple list of strings. Usually, every string represents one
 possible property value. To translate between those property values and the displayed strings,
 <a href="#convertToControlValue">convertToControlValue</a> and <a href="#convertToPropertyValue">convertToPropertyValue</a> are used.</p>

 <p>The method is not invoked if the control's value type (<a href="XPropertyControl.html">XPropertyControl</a>::<a href="XPropertyControl.html#ValueType">ValueType</a>
 equals the property's value type.</p>

 </dd>
<dt><b>Parameter PropertyName</b></dt>
<dd>The name of the property whose value is to be converted.
 </dd>
<dt><b>Parameter PropertyValue</b></dt>
<dd>The to-be-converted property value.
 </dd>
<dt><b>Parameter ControlValueType</b></dt>
<dd>The target type of the conversion. This type is determined by the control which
 is used to display the property, which in turn is determined by the handler itself
 in <a href="#describePropertyLine">describePropertyLine</a>.<br/>
 Speaking strictly, this is passed for convenience only, since every <a href="XPropertyHandler.html">XPropertyHandler</a>
 implementation should know exactly which type to expect, since it implicitly determined this type
 in <a href="#describePropertyLine">describePropertyLine</a> by creating an appropriate <a href="XPropertyControl.html">XPropertyControl</a>.

 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::beans::UnknownPropertyException
 if the given property is not supported by the property handler

 </dd>
<dt><b>See also</b></dt>
<dd><a href="#convertToPropertyValue">convertToPropertyValue</a>, <a href="#describePropertyLine">describePropertyLine</a>, <a href="XPropertyControl.html">XPropertyControl</a>, <a href="#getPropertyValue">getPropertyValue</a></dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="addPropertyChangeListener" class="membertitle">addPropertyChangeListener</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">void</td>
</tr>
<tr>
<td valign="top"><b>addPropertyChangeListener</b>(</td>
<td valign="top">[in] ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/XPropertyChangeListener.html">XPropertyChangeListener</a></td>
<td valign="bottom">&nbsp;Listener )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/NullPointerException.html">NullPointerException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>registers a listener for notification about property value changes

 </dd>
<dd><p>An <a href="XPropertyHandler.html">XPropertyHandler</a> implementation might decide to ignore this call.
 However, in this case property value changes made by third party components are not
 reflected in the object inspector.</p>

 <p>If a handler implementation supports property change listeners, it must be able to cope
 with a call to <a href="#addPropertyChangeListener">addPropertyChangeListener</a> even if currently no component is
 being inspected. In this case, the listener must become active as soon as a new introspectee
 is set in the next <a href="#inspect">inspect</a> call.</p>

 </dd>
<dt><b>Parameter Listener</b></dt>
<dd>the listener to notify about property changes
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::lang::NullPointerException
 if the listener is <b>NULL</b>
 </dd>
<dt><b>See also</b></dt>
<dd><a href="#removePropertyChangeListener">removePropertyChangeListener</a></dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="removePropertyChangeListener" class="membertitle">removePropertyChangeListener</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">void</td>
</tr>
<tr>
<td valign="top"><b>removePropertyChangeListener</b>(</td>
<td valign="top">[in] ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/XPropertyChangeListener.html">XPropertyChangeListener</a></td>
<td valign="bottom">&nbsp;Listener );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>revokes a listener for notification about property value changes
 </dd>
<dt><b>See also</b></dt>
<dd><a href="#addPropertyChangeListener">addPropertyChangeListener</a></dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="getSupportedProperties" class="membertitle">getSupportedProperties</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">sequence&lt; ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/Property.html">Property</a> &gt;</td>
</tr>
<tr>
<td valign="top"><b>getSupportedProperties</b>();</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>returns the properties which the handler can handle

 </dd>
<dd><p>A handler is allowed to return an empty sequence here, indicating that for
 the given introspectee, no properties handling can be provided. This might happen
 when a fixed set of property handlers is used for a variety of components to inspect,
 where not all handlers can really cope with all components.</p>

 <p>In the case of returning an empty sequence here, the property handler is ignored
 by all further processing in the object inspector.</p>
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="getSupersededProperties" class="membertitle">getSupersededProperties</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">sequence&lt; string &gt;</td>
</tr>
<tr>
<td valign="top"><b>getSupersededProperties</b>();</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>returns the properties which are to be superseded by this handler

 </dd>
<dd><p>Besides defining an own set of properties (see <a href="#getSupportedProperties">getSupportedProperties</a>),
 a property handler can also declare that foreign properties (which it is
 <em>not</em> responsible for) are superseded by its own properties.</p>

 <p>This is usually used if your handler is used with another, more generic one, which
 should continue to be responsible for all properties, except a few which your
 handler handles more elegantly.</p>

 <p>In such a case, simply return those properties here.</p>

 <p>There is a precedence in the property handlers used by an <a href="ObjectInspector.html">ObjectInspector</a>,
 which also is important for the superseded properties. This precendence is implied by the
 precendence of factories to create the property handlers, as denoted in the
 <a href="XObjectInspectorModel.html">XObjectInspectorModel</a>::<a href="XObjectInspectorModel.html#HandlerFactories">HandlerFactories</a> attribute.</p>

 <p>With this in mind, property handlers can only supersede properties which are supported
 by a handler preceding them, but not properties of handlers succeeding them.</p>

 <p>For instance, imaging an <a href="XObjectInspectorModel.html">XObjectInspectorModel</a> which provides three
 factories, for handler <code>A</code>, <code>B</code>, and <code>C</code> - in this order.
 Now if <code>A</code> supports the property <code>Foo</code>, <code>C</code> supports
 <code>Bar</code>, and <code>B</code> supersedes both <code>Foo</code> and <code>Bar</code>,
 them the result is <code>Bar</code> is still present. This is because <code>B</code> precedes
 <code>C</code>, so it cannot, by definition, supersede properties which are supported by
 <code>C</code>.</p>

 <p>If <a href="#getSupportedProperties">getSupportedProperties</a> returned an empty sequence, this method will
 not be called.</p>

 </dd>
<dt><b>See also</b></dt>
<dd><a href="XObjectInspectorModel.html">XObjectInspectorModel</a>::<a href="XObjectInspectorModel.html#HandlerFactories">HandlerFactories</a></dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="getActuatingProperties" class="membertitle">getActuatingProperties</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">sequence&lt; string &gt;</td>
</tr>
<tr>
<td valign="top"><b>getActuatingProperties</b>();</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>retrieve the actuating properties which this handler is interested in

 </dd>
<dd><p>In general, properties can be declared as "actuating", that is, when their value
 changes, the UI for other properties needs to be updated (e.g. enabled or disabled).</p>

 <p>With this method, a handler can declare that it feels responsible for some/all
 of the depending properties of certain actuating properties.</p>

 <p>Whenever the value of an actuating property changes, all handlers which expressed
 their interest in this particular actuating properties are called with their
 <a href="#actuatingPropertyChanged">actuatingPropertyChanged</a> method.</p>

 <p>If <a href="#getSupportedProperties">getSupportedProperties</a> returned an empty sequence, this method will
 not be called</p>
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="isComposable" class="membertitle">isComposable</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">boolean</td>
</tr>
<tr>
<td valign="top"><b>isComposable</b>(</td>
<td valign="top">[in] string</td>
<td valign="bottom">&nbsp;PropertyName )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/UnknownPropertyException.html">UnknownPropertyException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>determines whether a given property, which the handler is responsible for, is composable.

 </dd>
<dd><p>An object inspector can inspect multiple components at once, displaying the <em>intersection</em>
 of their properties. For this, all components are examined for their properties, and all properties
 which exist for all components, <em>and</em> are declared to be composable by their respective handler,
 are displayed in the inspector UI.</p>

 </dd>
<dt><b>Parameter PropertyName</b></dt>
<dd>the name of the property whose composability is to be determined
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::beans::UnknownPropertyException
 if the given property is not supported by the property handler
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="onInteractivePropertySelection" class="membertitle">onInteractivePropertySelection</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3"><a href="InteractiveSelectionResult.html">InteractiveSelectionResult</a></td>
</tr>
<tr>
<td valign="top"><b>onInteractivePropertySelection</b>(</td>
<td valign="top">[in] string</td>
<td valign="bottom">&nbsp;PropertyName,</td>
</tr>
<tr>
<td/><td valign="top">[in] boolean</td>
<td valign="bottom">&nbsp;Primary,</td>
</tr>
<tr>
<td/><td valign="top">[out] any</td>
<td valign="bottom">&nbsp;out_Data,</td>
</tr>
<tr>
<td/><td valign="top">[in] <a href="XObjectInspectorUI.html">XObjectInspectorUI</a></td>
<td valign="bottom">&nbsp;InspectorUI )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/UnknownPropertyException.html">UnknownPropertyException</a>,<br>
::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/NullPointerException.html">NullPointerException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>called when a browse button belonging to a property UI represenation has been clicked

 </dd>
<dd><p>Property handlers can raise a dedicated UI for entering or somehow changing a property value.
 Usually, this will be a modal dialog, but it can also be a non-modal user interface component.</p>

 <p>Availability of this feature is indicated by the <a href="LineDescriptor.html">LineDescriptor</a>::<a href="LineDescriptor.html#HasPrimaryButton">HasPrimaryButton</a>
 and <a href="LineDescriptor.html">LineDescriptor</a>::<a href="LineDescriptor.html#HasSecondaryButton">HasSecondaryButton</a> members of a <a href="LineDescriptor.html">LineDescriptor</a>,
 which the <a href="XPropertyHandler.html">XPropertyHandler</a> fills in its <a href="#describePropertyLine">describePropertyLine</a> method.</p>

 <p>When this method is called, the property handler should raise the UI needed to enter the
 property value, and return the result of this (see <a href="InteractiveSelectionResult.html">InteractiveSelectionResult</a>).</p>

 <p>It is recommended that property handlers do not directly set the property value which has
 been obatined from the user, but store it in the output-parameter Data, and return
 <a href="InteractiveSelectionResult.html">InteractiveSelectionResult</a>::<a href="InteractiveSelectionResult.html#ObtainedValue">ObtainedValue</a>.</p>

 <p>If a handler sets the new property value directly, and returns
 <a href="InteractiveSelectionResult.html">InteractiveSelectionResult</a>::<a href="InteractiveSelectionResult.html#ObtainedValue">ObtainedValue</a>, this implies that the property
 cannot properly be handled in case the object inspector is inspecting an intersection of
 multiple components, since in this case <a href="#onInteractivePropertySelection">onInteractivePropertySelection</a>
 will be called at one handler only, however the new property would have to be forwarded to
 all handlers.</p>

 <p>If a property is not composeable, directly setting the new property value does not yield any problem,
 as long as property listeners are properly notified of the change.</p>

 </dd>
<dt><b>Parameter PropertyName</b></dt>
<dd>The name of the property whose browse button has been clicked

 </dd>
<dt><b>Parameter Primary</b></dt>
<dd><b>true</b> if and only if the primary button has been clicked, <b>false</b> otherwise

 </dd>
<dt><b>Parameter out_Data</b></dt>
<dd>If the method returns <a href="InteractiveSelectionResult.html">InteractiveSelectionResult</a>::<a href="InteractiveSelectionResult.html#ObtainedValue">ObtainedValue</a>,
 then <arg>out_Data</arg> contains the value which has been interactively obtained
 from the user, and which still needs to be set at the inspected component.

 </dd>
<dt><b>Parameter InspectorUI</b></dt>
<dd>provides access to the object inspector UI. Implementations should use this if
 the property selection requires non-modal user input. In those cases,
 <a href="#onInteractivePropertySelection">onInteractivePropertySelection</a> should return <a href="InteractiveSelectionResult.html">InteractiveSelectionResult</a>::<a href="InteractiveSelectionResult.html#Pending">Pending</a>,
 and the UI for (at least) the property whose input is still pending should be disabled.

 </dd>
<dt><b>Returns</b></dt>
<dd>the result of the interactive property value selection.

 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::beans::UnknownPropertyException
 if the given property is not supported by the property handler
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::lang::NullPointerException
 if <arg>InspectorUI</arg> is <b>NULL</b>

 </dd>
<dt><b>See also</b></dt>
<dd><a href="#describePropertyLine">describePropertyLine</a>, <a href="#addPropertyChangeListener">addPropertyChangeListener</a>, <a href="#isComposable">isComposable</a></dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="actuatingPropertyChanged" class="membertitle">actuatingPropertyChanged</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">void</td>
</tr>
<tr>
<td valign="top"><b>actuatingPropertyChanged</b>(</td>
<td valign="top">[in] string</td>
<td valign="bottom">&nbsp;ActuatingPropertyName,</td>
</tr>
<tr>
<td/><td valign="top">[in] any</td>
<td valign="bottom">&nbsp;NewValue,</td>
</tr>
<tr>
<td/><td valign="top">[in] any</td>
<td valign="bottom">&nbsp;OldValue,</td>
</tr>
<tr>
<td/><td valign="top">[in] <a href="XObjectInspectorUI.html">XObjectInspectorUI</a></td>
<td valign="bottom">&nbsp;InspectorUI,</td>
</tr>
<tr>
<td/><td valign="top">[in] boolean</td>
<td valign="bottom">&nbsp;FirstTimeInit )</td>
</tr>
<tr>
<td valign="top" align="right">raises( </td>
<td valign="top" colspan="2">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/NullPointerException.html">NullPointerException</a> );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>updates the UI of dependent properties when the value of a certain actuating property changed

 </dd>
<dd><p>This method is called whenever a property value changes, limited to those properties
 whose changes the handler expressed interest in (see <a href="#getActuatingProperties">getActuatingProperties</a>).</p>

 </dd>
<dt><b>Parameter ActuatingPropertyName</b></dt>
<dd>the id of the actuating property.
 </dd>
<dt><b>Parameter NewValue</b></dt>
<dd>the new value of the property
 </dd>
<dt><b>Parameter OldValue</b></dt>
<dd>the old value of the property
 </dd>
<dt><b>Parameter InspectorUI</b></dt>
<dd>a callback for updating the object inspector UI
 </dd>
<dt><b>Parameter FirstTimeInit</b></dt>
<dd>If <b>true</b>, the method is called for the first-time update of the respective property, that
 is, when the property browser is just initializing with the properties of the introspected
 object.<br/>
 If <b>false</b>, there was a real ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/XPropertyChangeListener.html">XPropertyChangeListener</a>::<a href="../beans/XPropertyChangeListener.html#propertyChange">propertyChange</a>
 event which triggered the call.<br/>
 <br/>
 In some cases it may be necessary to differentiate between both situations. For instance,
 if you want to set the value of another property when an actuating property's value changed,
 you should definately not do this when <arg>FirstTimeInit</arg> is <b>true</b>.
 </dd>
<dt><b>Throws</b></dt>
<dd>com::sun::star::lang::NullPointerException
 if <arg>InspectorUI</arg> is <b>NULL</b>
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="imdetail"><a name="suspend" class="membertitle">suspend</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-method" bgcolor="#ffffff" align="center">
<tr>
<td><table class="table-in-method" border="0">
<tr>
<td valign="top" colspan="3">boolean</td>
</tr>
<tr>
<td valign="top"><b>suspend</b>(</td>
<td valign="top">[in] boolean</td>
<td valign="bottom">&nbsp;Suspend );</td>
</tr>
</table>
<hr>
<dl>
<dt><b>Description</b></dt>
<dd>suspends the handler

 </dd>
<dd><p>A <a href="XPropertyHandler.html">XPropertyHandler</a> is used by a <a href="XObjectInspector.html">XObjectInspector</a> instance,
 which implements the XController interface. By definition, a XObjectInspector always forwards
 all suspend requests (::com::sun::star::<a href="../frame/module-ix.html">frame</a>::<a href="../frame/XController.html">XController</a>::<a href="../frame/XController.html#suspend">suspend</a>) to
 all it's handlers.</p>

 <p>The usual use case for this method are non-modal user interface components used
 for property value input. Such a component might have been opened during
 <a href="#onInteractivePropertySelection">onInteractivePropertySelection</a>. If a property handler receives a
 <a href="#suspend">suspend</a> call, it should forward the suspension request to the UI
 component, and veto suspension of the <a href="XObjectInspector.html">XObjectInspector</a> as appropriate.</p>

 <p>If suspension is not to be vetoed, then all non-modal UI components opened
 by the handler should have been closed when it returns from the <a href="#suspend">suspend</a> call.</p>

 </dd>
<dt><b>Parameter Suspend</b></dt>
<dd>Whether the handler is to be suspended <b>true</b> or reactivated (<b>false</b>). The
 latter happens if a handler was successfully suspended, but an external instance
 vetoed the whole suspension process.

 </dd>
<dt><b>Returns</b></dt>
<dd><b>true</b> if the handler does allow suspension, <b>false</b> if it vetoes it.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
</table>
<a href="#_top_">Top of Page</a><hr size="3"><p class="copyright" align="center">Copyright &copy; 2011, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.</p>

</div> <!-- id="adc-idlref" -->
</body>

</html>