diff options
Diffstat (limited to 'offapi/com/sun/star/form/FormControllerDispatcher.idl')
-rw-r--r-- | offapi/com/sun/star/form/FormControllerDispatcher.idl | 170 |
1 files changed, 3 insertions, 167 deletions
diff --git a/offapi/com/sun/star/form/FormControllerDispatcher.idl b/offapi/com/sun/star/form/FormControllerDispatcher.idl index 96cab9ee73f1..8e2513b62102 100644 --- a/offapi/com/sun/star/form/FormControllerDispatcher.idl +++ b/offapi/com/sun/star/form/FormControllerDispatcher.idl @@ -40,177 +40,13 @@ module com { module sun { module star { module form { //============================================================================= -/** specifies a component which can be used to dispatch form controller functionality. +/** is not used anymore, and superseded by <type scope="com::sun::star::form::runtime">FormController</type> and + <type scope="com::sun::star::form::runtime">FormOperations</type>. - <p>A form controller dispatcher is an instance which provides access to dispatchers - (<type scope="com::sun::star::frame">XDispatch</type>) for certain form controller - functionality.</p> - - <p>The way how access to these dispatchers is provided is not defined. It may either - be directly via an <type scope="com::sun::star::frame">XDispatchProvider</type> interface, - or indirectly, e.g. by registering dispatch interceptors (<type scope="com::sun::star::frame">XDispatchProviderInterceptor</type>) - at another instance which supports this (by exposing the <type scope="com::sun::star::frame">XDispatchProviderInterception</type> - interface).</p> - - <p>In any scenario, foreign components have a (implicit or explicit) possibility to request a dispatcher - for a given URL.</p> - - <p>Below, there's a list of URLs which have a defined meaning - if a <type>FormControllerDispatcher</type> - implementation supports one of them, there must be a guaranteed semantices. However, concrete implementations - may support an arbitrary sub or super set of these URLs.</p> - - <p>In general, all URLs start with the same prefix, namely <em>.uno:FormController/</em>. To this, a suffix is - appended which describes the requested functionality.<br/> - Example: The URL suffix for deleting the current record is <em>deleteRecord</em>, so the complete URL for - requesting a dispatcher for this functionality is <em>.uno:FormController/deleteRecord</em>.</p> - - <p>Some URLs may require parameters. For this, the sequence of <type scope="com::sun::star::beans">PropertyValue</type>s - passed to the <member scope="com::sun::star::frame">XDispatch::dispatch</member> call is used - every property value is - used as one named parameter.</p> - - <p>For all URLs, interested parties can register as status listeners (<type scope="com::sun::star::frame">XStatusListener</type>) - at the dispatchers, and be notified whenever the functionality associated with the URL becomes enabled or - disabled.<br/> - For instance, the URL with the suffix <em>moveToFirst</em> is associated with moving the form to the first - record, and it will be disabled in case the form is already positioned on the first record.</p> - - <p>Nearly all of the functionality offered by a <type>FormControllerDispatcher</type> can also be - reached by other means. E.g., moving a form to its first record can be achieved by calling the - method <member scope="com::sun::star::sdbc">XResultSet::first</member> of the form.<br/> - However, the advantage of using a <type>FormControllerDispatcher</type> is that it's usually implemented - by a component which has additional knowledge about the form. For instance, in a document which - displays a form, there might be a control which contains uncommitted changes, plus a control - whose changes were already committed to the current record, but <em>not</em> to the database. Simply - calling <member scope="com::sun::star::sdbc">XResultSet::first</member> on the form would lose - both the content in the uncommitted control, and the changes in the current record.<br/> - An <type>FormControllerDispatcher</type> is expected to care for both of these.</p> - - <table style="width:100%;" border="0" cellpadding="2" cellspacing="2"><tbody> - - <tr style="vertical-align: top;"> - <td><b>URL suffix</b></td> - <td><b>functionality</b></td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>positionForm</em></td> - <td>positions the form on a record given by absolute number.<br/> - There's one parameter for this functionality, named <em>Position</em>, which must be a long - value specifying the absolute position to which the form should be moved</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>RecordCount</em></td> - <td>This is a passive functionality: It cannot be dispatched, instead, interested parties may - use the dispatcher to add as <type scope="com::sun::star::frame">XStatusListener</type>, and be - notified when the record count changes.<br/> - The status value which is being notified (<member scope="com::sun::star::frame">FeatureStateEvent::State</member>) - is a string which can be used to display the record count. In particular, if the record count is not yet known - (<member scope="com::sun::star::sdb">RowSet::IsRowCountFinal</member> is <FALSE/>), this is indicated in the - string, too.</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>moveToFirst</em></td> - <td>moves the form to the first record</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>moveToPrev</em></td> - <td>moves the form to the record preceding the current one</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>moveToNext</em></td> - <td>moves the form to the record after the current one</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>moveToLast</em></td> - <td>moves the form to the last record</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>moveToNew</em></td> - <td>moves the form to the virtual "insert row", where new records can be inserted</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>saveRecord</em></td> - <td>Commits any potentially pending changes in the current control, and saves the current record to - the database, or inserts a new record if the form is currently positioned on the virtual insertion row.</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>undoRecord</em></td> - <td>reverts the changes done to the current record. Basically, this means refreshing the - current row from the database, and updating all controls with the new content.</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>deleteRecord</em></td> - <td>deletes the current record, after asking the user for confirmation.</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>refreshForm</em></td> - <td>reloads the complete form. After this, the form is positioned on the first record</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>sortUp</em></td> - <td>Adds an order clause to the form, to sort it ascending by the field which the current control is bound to, - and then reloads the form.</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>sortDown</em></td> - <td>Adds an order clause to the form, to sort it descending by the field which the current control is bound to, - and then reloads the form.</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>sort</em></td> - <td>opens an dialog, which allows the user to manipulate the current sorting order of the form. If the dialog - is closed with OK, the form is reloaded after setting the new sorting order.</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>autoFilter</em></td> - <td>creates, from the current control, a filter for the form. This is, if the current control is bound to - the field, say, "customer", and contains the value "Furs, Inc.", then a filter "customer = 'Furs, Inc.'" - is created and set at the form. After this, the form is reloaded.</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>filter</em></td> - <td>opens an dialog, which allows the user to manipulate the current filter of the form. If the dialog - is closed with OK, the form is reloaded after setting the new filter.</td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>applyFilter</em></td> - <td><p>Toggles the <member scope="com::sun::star::sdb">RowSet::ApplyFilter</member> property - of the form.</p> - <p>Additionally, status listeners will be provided with the current (boolean) state of this property - in the <member scope="com::sun::star::frame">FeatureStateEvent::State</member> member of the event - notified by the dispatcher.</p></td> - </tr> - - <tr style="vertical-align: top;"> - <td><em>removeFilterOrder</em></td> - <td>completely removes any filter and sorting order from the form, and reloads it.</td> - </tr> - - </tbody></table> - - @see FormController + @deprecated */ published service FormControllerDispatcher { - //------------------------------------------------------------------------- - /** allows direct access to the dispatchers provided by the component. - */ [optional] interface com::sun::star::frame::XDispatchProvider; }; |