Sophie

Sophie

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

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

<html>
<head>
<title>Service FormController</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="FormController-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="#ServicesSummary" class="navisub">Services' Summary</a></td>
<td class="navisub"><a href="#InterfacesSummary" class="navisub">Interfaces' Summary</a></td>
<td class="navisub"><a href="#PropertiesSummary" class="navisub">Properties' Summary</a></td>
<td class="navisub"><a href="#ServicesDetails" class="navisub">Services' Details</a></td>
<td class="navisub"><a href="#InterfacesDetails" class="navisub">Interfaces' Details</a></td>
<td class="navisub"><a href="#PropertiesDetails" class="navisub">Properties' Details</a></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">form</a> :: </p>
</td>
</tr>
<tr>
<td class="title">service FormController</td>
</tr>
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>specifies a component controlling the interaction between the user and form functionality.

 </dd>
<dd><p>As soon as a form (containing controls) is to be presented to the user,
 there is a need for an instance controlling the user interaction.<br/>
 Such a <a href="FormController.html">FormController</a> is responsible for dialog processing,
 like controlling the tab order and the grouping of controls.</p>

 <p>As a form may contain one or many subforms, a <a href="FormController.html">FormController</a> may
 contain one or more other <a href="FormController.html">FormController</a>s, so the form model structure or hierarchy
 is reflected in the structure of <a href="FormController.html">FormController</a>s.</p>

 <h3>Responsibilities</h3>
 <p>A <a href="FormController.html">FormController</a> is responsible for a ::com::sun::star::<a href="../awt/module-ix.html">awt</a>::<a href="../awt/UnoControlContainer.html">UnoControlContainer</a>,
 and all controls therein.</p>

 <p>Furthermore, a form controller is responsible for preventing invalid user input. That is, if the form
 contains controls bound to a database, or to an external validator, then the form controller will
 check their current value when the current record is to be saved to the database.</p>

 <p>First, it will check whether any controls with an external validator exist. If so, those validators
 will be asked to validate the current control content. If this fails, the message provided by the validator
 is displayed to the user, the control is focused, and the update of the record is vetoed.</p>

 <p>Second, the controls are examined for NULL values. If a control is bound to a database field which
 is declared to be <code>NOT NULL</code>, no auto-increment field, but still <b>NULL</b>, then an error
 message is shown to the user saying that input is required, the respective control is focused, and
 the update of the record is vetoed.</p>

 <p>Note that you can precent the second check - for database fields containing <b>NULL</b> values - on
 a per-form and a per-database basis.<br/>
 For the former, you need to add a boolean property <code>FormsCheckRequiredFields</code> to the form
 (aka the <code>FormController</code>'s model), using its
 ::com::sun::star::<a href="../beans/module-ix.html">beans</a>::<a href="../beans/XPropertyContainer.html">XPropertyContainer</a>::<a href="../beans/XPropertyContainer.html#addProperty">addProperty</a> method, with a value
 of <b>false</b>.<br/>
 For the latter, you need to set the respective property of the data source's <code>Settings</code>
 (also named <code>FormsCheckRequiredFields</code>) to <b>false</b>.</p>

 <p>Alternatively, you can prevent the check on a per-control basis, using the
 <a href="DataAwareControlModel.html">DataAwareControlModel</a>::<a href="DataAwareControlModel.html#InputRequired">InputRequired</a> property of a single control model.</p>

 </dd>
<dt><b>See also</b></dt>
<dd>::com::sun::star::form::<a href="component/module-ix.html">component</a>, ::com::sun::star::<a href="../awt/module-ix.html">awt</a>::<a href="../awt/XTabController.html">XTabController</a>, ::com::sun::star::form::<a href="binding/module-ix.html">binding</a>::<a href="binding/BindableControlModel.html">BindableControlModel</a>, ::com::sun::star::<a href="../sdb/module-ix.html">sdb</a>::<a href="../sdb/DataSource.html">DataSource</a>::<a href="../sdb/DataSource.html#Settings">Settings</a></dd>
</dl>
</td>
</tr>
</table>
<hr>
<a name="ServicesSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle" colspan="2">Included Services - Summary</td>
</tr>
<tr>
<td class="imsum_left"><a href="FormControllerDispatcher.html">FormControllerDispatcher</a></td>
<td class="imsum_right"><p>allows delegating form controller functionality to the component

 (<a href="#FormControllerDispatcher">details</a>)</p>
</td>
</tr>
</table>
<a name="InterfacesSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle" colspan="2">Exported Interfaces - Summary</td>
</tr>
<tr>
<td class="imsum_left"><a href="XFormController.html">XFormController</a></td>
<td class="imsum_right"><p>is used for notifying the (de)activation of the controller.
 </p>
</td>
</tr>
<tr>
<td class="imsum_left">::com::sun::star::<a href="../awt/module-ix.html">awt</a>::<a href="../awt/XTabController.html">XTabController</a></td>
<td class="imsum_right"><p>is used for tab controlling and grouping of the controls.
 </p>
</td>
</tr>
<tr>
<td class="imsum_left">::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/XChild.html">XChild</a></td>
<td class="imsum_right"><p>A FormController may have a parent controller, such as when the related form is a subform.
 </p>
</td>
</tr>
<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"><p>A FormController must be disposable.
 </p>
</td>
</tr>
<tr>
<td class="imsum_left">::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/XEnumerationAccess.html">XEnumerationAccess</a></td>
<td class="imsum_right"><p>A FormController must provide access to its sub controllers.
 </p>
</td>
</tr>
<tr>
<td class="imsum_left">::com::sun::star::<a href="../util/module-ix.html">util</a>::<a href="../util/XModifyBroadcaster.html">XModifyBroadcaster</a></td>
<td class="imsum_right"><p>A FormController must communicate if any of its children (means sub controllers) or contained
 controls have been modified.
 </p>
</td>
</tr>
<tr>
<td class="imsum_left"><a href="XConfirmDeleteBroadcaster.html">XConfirmDeleteBroadcaster</a></td>
<td class="imsum_right"><p>used to notify deletions of data in the form before they happen.

 (<a href="#XConfirmDeleteBroadcaster">details</a>)</p>
</td>
</tr>
<tr>
<td class="imsum_left">::com::sun::star::<a href="../sdb/module-ix.html">sdb</a>::<a href="../sdb/XSQLErrorBroadcaster.html">XSQLErrorBroadcaster</a></td>
<td class="imsum_right"><p>used to notify errors which happen in the form the controller is responsible for.

 (<a href="#XSQLErrorBroadcaster">details</a>)</p>
</td>
</tr>
<tr>
<td class="imsum_left">::com::sun::star::<a href="../sdb/module-ix.html">sdb</a>::<a href="../sdb/XRowSetApproveBroadcaster.html">XRowSetApproveBroadcaster</a></td>
<td class="imsum_right"><p>is used for multiplexing row set events happening on the form which the controller is responsible for.
 </p>
</td>
</tr>
<tr>
<td class="imsum_left"><a href="XDatabaseParameterBroadcaster.html">XDatabaseParameterBroadcaster</a></td>
<td class="imsum_right"><p>is used broadcasting parameter events in the form.

 (<a href="#XDatabaseParameterBroadcaster">details</a>)</p>
</td>
</tr>
</table>
<a name="PropertiesSummary"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle" colspan="2">Properties' Summary</td>
</tr>
<tr>
<td class="imsum_left">::com::sun::star::form::<a href="runtime/module-ix.html">runtime</a>::<a href="runtime/XFormOperations.html">XFormOperations</a><br>
<a href="#FormOperations">FormOperations</a></td>
<td class="imsum_right"><b>[ OPTIONAL ]<br>
</b>denotes the instance which is used to implement operations on the form which the controller
 works for.

 &nbsp;</td>
</tr>
</table>
<a name="ServicesDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle" colspan="2">Included Services - Details</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="FormControllerDispatcher" class="membertitle"><a href="FormControllerDispatcher.html">FormControllerDispatcher</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Usage Restrictions</b></dt>
<dd><i>optional</i></dd>
<dt><b>Description</b></dt>
<dd>allows delegating form controller functionality to the component

 </dd>
<dd><p>If a control which the controller is responsible for supports the ::com::sun::star::<a href="../frame/module-ix.html">frame</a>::<a href="../frame/XDispatchProviderInterception.html">XDispatchProviderInterception</a>
 interface, the controller registers a dispatch interceptor. Then, the control can try to delegate part of its
 functionality to the controller by querying the dispatch interceptor for it.</p>
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
</table>
<a name="InterfacesDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle" colspan="2">Exported Interfaces - Details</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XFormController" class="membertitle"><a href="XFormController.html">XFormController</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>is used for notifying the (de)activation of the controller.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XTabController" class="membertitle">::com::sun::star::<a href="../awt/module-ix.html">awt</a>::<a href="../awt/XTabController.html">XTabController</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>is used for tab controlling and grouping of the controls.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XChild" class="membertitle">::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/XChild.html">XChild</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>A FormController may have a parent controller, such as when the related form is a subform.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XComponent" class="membertitle">::com::sun::star::<a href="../lang/module-ix.html">lang</a>::<a href="../lang/XComponent.html">XComponent</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>A FormController must be disposable.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XEnumerationAccess" class="membertitle">::com::sun::star::<a href="../container/module-ix.html">container</a>::<a href="../container/XEnumerationAccess.html">XEnumerationAccess</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>A FormController must provide access to its sub controllers.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XModifyBroadcaster" class="membertitle">::com::sun::star::<a href="../util/module-ix.html">util</a>::<a href="../util/XModifyBroadcaster.html">XModifyBroadcaster</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>A FormController must communicate if any of its children (means sub controllers) or contained
 controls have been modified.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XConfirmDeleteBroadcaster" class="membertitle"><a href="XConfirmDeleteBroadcaster.html">XConfirmDeleteBroadcaster</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>used to notify deletions of data in the form before they happen.

 </dd>
<dd><p>A form controller listens for deletion events at the form it is responsible for.<br/>
 If and only if no <a href="XConfirmDeleteListener.html">XConfirmDeleteListener</a> is registered at
 the controller, it uses an own dialog to ask the user for confirmation.</p>

 <p>You may use this interface to integrate your own confirmation dialogs.</p>
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XSQLErrorBroadcaster" class="membertitle">::com::sun::star::<a href="../sdb/module-ix.html">sdb</a>::<a href="../sdb/XSQLErrorBroadcaster.html">XSQLErrorBroadcaster</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>used to notify errors which happen in the form the controller is responsible for.

 </dd>
<dd><p>A form controller listens for error events at the form it is responsible for.<br/>
 If and only if no ::com::sun::star::<a href="../sdb/module-ix.html">sdb</a>::<a href="../sdb/XSQLErrorListener.html">XSQLErrorListener</a> is registered at the controller, it
 uses an own dialog to notify the user of the error.</p>

 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XRowSetApproveBroadcaster" class="membertitle">::com::sun::star::<a href="../sdb/module-ix.html">sdb</a>::<a href="../sdb/XRowSetApproveBroadcaster.html">XRowSetApproveBroadcaster</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>is used for multiplexing row set events happening on the form which the controller is responsible for.
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
<tr/>
<tr>
<td class="imdetail"><a name="XDatabaseParameterBroadcaster" class="membertitle"><a href="XDatabaseParameterBroadcaster.html">XDatabaseParameterBroadcaster</a></a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td><dl>
<dt><b>Description</b></dt>
<dd>is used broadcasting parameter events in the form.

 </dd>
<dd><p>A form controller listens for parameter events at the form it is responsible for.<br/>
 If and only if no <a href="XDatabaseParameterListener.html">XDatabaseParameterListener</a> is registered at the controller, it
 uses an own dialog to ask the user for parameter values.</p>
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
</table>
<a name="PropertiesDetails"/><table border="1" width="100%" cellpadding="5" cellspacing="0" class="subtitle">
<tr>
<td class="subtitle">Properties' Details</td>
</tr>
<tr>
<td class="imdetail"><a name="FormOperations" class="membertitle">FormOperations</a><table border="0" width="96%" cellpadding="5" cellspacing="0" class="table-in-data" bgcolor="#ffffff" align="center">
<tr>
<td>::com::sun::star::form::<a href="runtime/module-ix.html">runtime</a>::<a href="runtime/XFormOperations.html">XFormOperations</a> <b>FormOperations</b>;<hr>
<dl>
<dt><b>Usage Restrictions</b></dt>
<dd><i>optional</i></dd>
<dt><b>Description</b></dt>
<dd>denotes the instance which is used to implement operations on the form which the controller
 works for.

 </dd>
<dd><p>This instance can be used, for instance, to determine the current state of certain form features.</p>
 </dd>
</dl>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>&nbsp;<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>