diff options
Diffstat (limited to 'offapi')
50 files changed, 1844 insertions, 491 deletions
diff --git a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl index 65da33c2f..f7af92972 100644 --- a/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlCurrencyFieldModel.idl @@ -42,6 +42,9 @@ #include <com/sun/star/util/Color.idl> #endif +#ifndef __com_sun_star_style_VerticalAlignment_idl__ +#include <com/sun/star/style/VerticalAlignment.idl> +#endif //============================================================================= @@ -262,6 +265,14 @@ published service UnoControlCurrencyFieldModel this is possible.</p> */ [optional, property] short MouseWheelBehavior; + + //------------------------------------------------------------------------- + + /** specifies the vertical alignment of the text in the control. + + @since OpenOffice.org 3.3 + */ + [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl index a70adc8b0..f9ead37a4 100644 --- a/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlDateFieldModel.idl @@ -42,6 +42,9 @@ #include <com/sun/star/util/Color.idl> #endif +#ifndef __com_sun_star_style_VerticalAlignment_idl__ +#include <com/sun/star/style/VerticalAlignment.idl> +#endif //============================================================================= @@ -274,6 +277,14 @@ published service UnoControlDateFieldModel this is possible.</p> */ [optional, property] short MouseWheelBehavior; + + //------------------------------------------------------------------------- + + /** specifies the vertical alignment of the text in the control. + + @since OpenOffice.org 3.3 + */ + [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlEditModel.idl b/offapi/com/sun/star/awt/UnoControlEditModel.idl index 6d92a8f6b..8e56761f8 100644 --- a/offapi/com/sun/star/awt/UnoControlEditModel.idl +++ b/offapi/com/sun/star/awt/UnoControlEditModel.idl @@ -42,6 +42,9 @@ #include <com/sun/star/util/Color.idl> #endif +#ifndef __com_sun_star_style_VerticalAlignment_idl__ +#include <com/sun/star/style/VerticalAlignment.idl> +#endif //============================================================================= @@ -274,6 +277,14 @@ published service UnoControlEditModel @since OOo 3.1 */ [optional, property] short WritingMode; + + //------------------------------------------------------------------------- + + /** specifies the vertical alignment of the text in the control. + + @since OpenOffice.org 3.3 + */ + [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlFileControlModel.idl b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl index 8997919d9..7150a6429 100644 --- a/offapi/com/sun/star/awt/UnoControlFileControlModel.idl +++ b/offapi/com/sun/star/awt/UnoControlFileControlModel.idl @@ -42,6 +42,9 @@ #include <com/sun/star/util/Color.idl> #endif +#ifndef __com_sun_star_style_VerticalAlignment_idl__ +#include <com/sun/star/style/VerticalAlignment.idl> +#endif //============================================================================= @@ -169,6 +172,13 @@ published service UnoControlFileControlModel */ [property] com::sun::star::util::Color TextLineColor; + //------------------------------------------------------------------------- + + /** specifies the vertical alignment of the text in the control. + + @since OpenOffice.org 3.3 + */ + [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl index 7aff33a7c..2bcd16d8b 100644 --- a/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlFormattedFieldModel.idl @@ -46,6 +46,9 @@ #include <com/sun/star/util/XNumberFormatsSupplier.idl> #endif +#ifndef __com_sun_star_style_VerticalAlignment_idl__ +#include <com/sun/star/style/VerticalAlignment.idl> +#endif //============================================================================= @@ -307,6 +310,14 @@ published service UnoControlFormattedFieldModel this is possible.</p> */ [optional, property] short MouseWheelBehavior; + + //------------------------------------------------------------------------- + + /** specifies the vertical alignment of the text in the control. + + @since OpenOffice.org 3.3 + */ + [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl index c291bef4b..562314f51 100644 --- a/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlNumericFieldModel.idl @@ -42,6 +42,9 @@ #include <com/sun/star/util/Color.idl> #endif +#ifndef __com_sun_star_style_VerticalAlignment_idl__ +#include <com/sun/star/style/VerticalAlignment.idl> +#endif //============================================================================= @@ -250,6 +253,14 @@ published service UnoControlNumericFieldModel this is possible.</p> */ [optional, property] short MouseWheelBehavior; + + //------------------------------------------------------------------------- + + /** specifies the vertical alignment of the text in the control. + + @since OpenOffice.org 3.3 + */ + [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl index 3066a30c0..8dd2165ac 100644 --- a/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlPatternFieldModel.idl @@ -42,6 +42,9 @@ #include <com/sun/star/util/Color.idl> #endif +#ifndef __com_sun_star_style_VerticalAlignment_idl__ +#include <com/sun/star/style/VerticalAlignment.idl> +#endif //============================================================================= @@ -209,6 +212,14 @@ published service UnoControlPatternFieldModel this is possible.</p> */ [optional, property] short MouseWheelBehavior; + + //------------------------------------------------------------------------- + + /** specifies the vertical alignment of the text in the control. + + @since OpenOffice.org 3.3 + */ + [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; //============================================================================= diff --git a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl index 07dc85a79..2d8286ca5 100644 --- a/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl +++ b/offapi/com/sun/star/awt/UnoControlTimeFieldModel.idl @@ -42,6 +42,9 @@ #include <com/sun/star/util/Color.idl> #endif +#ifndef __com_sun_star_style_VerticalAlignment_idl__ +#include <com/sun/star/style/VerticalAlignment.idl> +#endif //============================================================================= @@ -254,6 +257,14 @@ published service UnoControlTimeFieldModel this is possible.</p> */ [optional, property] short MouseWheelBehavior; + + //------------------------------------------------------------------------- + + /** specifies the vertical alignment of the text in the control. + + @since OpenOffice.org 3.3 + */ + [optional, property] com::sun::star::style::VerticalAlignment VerticalAlign; }; //============================================================================= diff --git a/offapi/com/sun/star/form/FormController.idl b/offapi/com/sun/star/form/FormController.idl index 66cb1b5a2..1c9d588a7 100644 --- a/offapi/com/sun/star/form/FormController.idl +++ b/offapi/com/sun/star/form/FormController.idl @@ -83,128 +83,27 @@ module runtime { }; //============================================================================= - -/** specifies a component controlling the interaction between the user and form functionality. - - <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 <type>FormController</type> 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 <type>FormController</type> may - contain one or more other <type>FormController</type>s, so the form model structure or hierarchy - is reflected in the structure of <type>FormController</type>s.</p> - - <h3>Responsibilities</h3> - <p>A <type>FormController</type> is responsible for a <type scope="com::sun::star::awt">UnoControlContainer</type>, - 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 <NULL/>, 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 <NULL/> 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 - <member scope="com::sun::star::beans">XPropertyContainer::addProperty</member> method, with a value - of <FALSE/>.<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 <FALSE/>.</p> - <p>Alternatively, you can prevent the check on a per-control basis, using the - <member>DataAwareControlModel::InputRequired</member> property of a single control model.</p> - - @see com::sun::star::form::component:Form - @see com::sun::star::awt::XTabController - @see com::sun::star::form::binding::BindableControlModel - @see com::sun::star::sdb::DataSource::Settings +/** is superseded by <type scope="com::sun::star::form::runtime">FormController</type>. + @deprecated */ published service FormController { - /** allows delegating form controller functionality to the component - - <p>If a control which the controller is responsible for supports the <type scope="com::sun::star::frame">XDispatchProviderInterception</type> - 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> - */ [optional] service FormControllerDispatcher; - - /** denotes the instance which is used to implement operations on the form which the controller - works for. - - <p>This instance can be used, for instance, to determine the current state of certain form features.</p> - */ [optional, property] ::com::sun::star::form::runtime::XFormOperations FormOperations; /** is used for notifying the (de)activation of the controller. */ interface com::sun::star::form::XFormController; - - /** is used for tab controlling and grouping of the controls. - */ interface com::sun::star::awt::XTabController; - - - /** A FormController may have a parent controller, such as when the related form is a subform. - */ interface com::sun::star::container::XChild; - - - /** A FormController must be disposable. - */ interface com::sun::star::lang::XComponent; - - - /** A FormController must provide access to its sub controllers. - */ interface com::sun::star::container::XEnumerationAccess; - - - /** A FormController must communicate if any of its children (means sub controllers) or contained - controls have been modified. - */ interface com::sun::star::util::XModifyBroadcaster; - - /** used to notify deletions of data in the form before they happen. - - <p>A form controller listens for deletion events at the form it is responsible for.<br/> - If and only if no <type>XConfirmDeleteListener</type> 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> - */ interface com::sun::star::form::XConfirmDeleteBroadcaster; - - /** used to notify errors which happen in the form the controller is responsible for. - - <p>A form controller listens for error events at the form it is responsible for.<br/> - If and only if no <type scope="com::sun::star::sdb">XSQLErrorListener</type> is registered at the controller, it - uses an own dialog to notify the user of the error.</p> - - */ interface com::sun::star::sdb::XSQLErrorBroadcaster; - - /** is used for multiplexing row set events happening on the form which the controller is responsible for. - */ interface com::sun::star::sdb::XRowSetApproveBroadcaster; - - /** is used broadcasting parameter events in the form. - - <p>A form controller listens for parameter events at the form it is responsible for.<br/> - If and only if no <type>XDatabaseParameterListener</type> is registered at the controller, it - uses an own dialog to ask the user for parameter values.</p> - */ interface com::sun::star::form::XDatabaseParameterBroadcaster; }; diff --git a/offapi/com/sun/star/form/FormControllerDispatcher.idl b/offapi/com/sun/star/form/FormControllerDispatcher.idl index e1f3a5585..9f2f249b5 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; }; diff --git a/offapi/com/sun/star/form/XFormController.idl b/offapi/com/sun/star/form/XFormController.idl index b8ced8e3d..da1cbc5ab 100644 --- a/offapi/com/sun/star/form/XFormController.idl +++ b/offapi/com/sun/star/form/XFormController.idl @@ -49,57 +49,14 @@ //============================================================================= -/** provides functionality to control the activation of forms controls. - - <p>There is a duality of forms (<type scope="com::sun::star::form::component">DataForm</type>) - and form controllers. In a document view, for every loaded form there is a form controller which is - responsible for exactly the controls which's models are direct children of the form.<br/> - - In some sense, a form controller is the view representation of a form, like a <em>form control</em> is the - view representation of a <em>form control model</em>.<br/> - - This is also reflected in this interface: If you call - <method scope="com::sun::star::awt">XTabController::getModel</method> on a form controller, the form which - the controller is responsible for will be returned.<br/> - - As always in the model-view-paradigm, there is no way from a model to its controller, mostly, because for - <em>one</em> given form, there is one controller for <em>every</em> view of the document.</p> - - <p>A controller is called <em>active</em> if one of the controls it is responsible for has the focus, - else inactive. To be notified whenever this activation state of a given controller changes, you can - add listeners.</p> - - @see com::sun::star::form::component::Form +/** is superseded by <type scope="com::sun::star::form::runtime">XFormController</type>. + @deprecated */ published interface XFormController: com::sun::star::awt::XTabController { - //------------------------------------------------------------------------- - - /** access to the currently active control - - @returns - the currently active control, or <NULL/> if there is no such control - */ - com::sun::star::awt::XControl getCurrentControl(); - - //------------------------------------------------------------------------- - - /** adds the specified listener to receive notifications whenever the activation state of - the controller changes. - - @param l - the listener to add. - */ - [oneway] void addActivateListener( [in] com::sun::star::form::XFormControllerListener l ); - - //------------------------------------------------------------------------- - - /** removes the specified listener - - @param l - the listener to remove. - */ - [oneway] void removeActivateListener( [in] com::sun::star::form::XFormControllerListener l ); + ::com::sun::star::awt::XControl getCurrentControl(); + [oneway] void addActivateListener( [in] ::com::sun::star::form::XFormControllerListener l ); + [oneway] void removeActivateListener( [in] ::com::sun::star::form::XFormControllerListener l ); }; diff --git a/offapi/com/sun/star/form/runtime/FilterEvent.idl b/offapi/com/sun/star/form/runtime/FilterEvent.idl new file mode 100644 index 000000000..b19ce262d --- /dev/null +++ b/offapi/com/sun/star/form/runtime/FilterEvent.idl @@ -0,0 +1,64 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __com_sun_star_form_runtime_FilterEvent_idl__ +#define __com_sun_star_form_runtime_FilterEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +//============================================================================= + +module com { module sun { module star { module form { module runtime { + +//============================================================================= + +/** is an event fired by a filter controller, when the filter managed by the controller changes. + + @see XFilterController + + @since OpenOffice.org 3.3 + */ +struct FilterEvent : ::com::sun::star::lang::EventObject +{ + /** denotes the index of the <em>disjunctive term</em> to which the event applies, if any. + */ + long DisjunctiveTerm; + + /** denotes the index of the <em>filter component</em> to which the event applies, if any. + */ + long FilterComponent; + + /** denotes the <em>predicate expression</em> associated with the event. + */ + string PredicateExpression; +}; + +//============================================================================= + +}; }; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/form/runtime/FormController.idl b/offapi/com/sun/star/form/runtime/FormController.idl new file mode 100644 index 000000000..35f9a8fb6 --- /dev/null +++ b/offapi/com/sun/star/form/runtime/FormController.idl @@ -0,0 +1,51 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ +
+#ifndef __offapi_com_sun_star_form_runtime_FormController_idl__ +#define __offapi_com_sun_star_form_runtime_FormController_idl__ + +#include <com/sun/star/form/runtime/XFormController.idl> + +//============================================================================= + +module com { module sun { module star { module form { module runtime { + +//============================================================================= + +/** specifies a component controlling the interaction between the user and multiple + form controls belonging to a single form. + */ +service FormController +{ + interface XFormController; +}; + +//============================================================================= + +}; }; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/form/runtime/FormOperations.idl b/offapi/com/sun/star/form/runtime/FormOperations.idl index 50da9a5b0..ac07e5001 100644 --- a/offapi/com/sun/star/form/runtime/FormOperations.idl +++ b/offapi/com/sun/star/form/runtime/FormOperations.idl @@ -34,8 +34,8 @@ #ifndef __com_sun_star_form_runtime_XFormOperations_idl__ #include <com/sun/star/form/runtime/XFormOperations.idl> #endif -#ifndef __com_sun_star_form_XFormController_idl__ -#include <com/sun/star/form/XFormController.idl> +#ifndef __com_sun_star_form_runtime_XFormController_idl__ +#include <com/sun/star/form/runtime/XFormController.idl> #endif #ifndef __com_sun_star_form_XForm_idl__ #include <com/sun/star/form/XForm.idl> diff --git a/offapi/com/sun/star/form/runtime/XFilterController.idl b/offapi/com/sun/star/form/runtime/XFilterController.idl new file mode 100644 index 000000000..74bb6a1ad --- /dev/null +++ b/offapi/com/sun/star/form/runtime/XFilterController.idl @@ -0,0 +1,180 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __offapi_com_sun_star_form_runtime_XFilterController_idl__ +#define __offapi_com_sun_star_form_runtime_XFilterController_idl__ + +#include <com/sun/star/awt/XControl.idl> +#include <com/sun/star/lang/IndexOutOfBoundsException.idl> + +//============================================================================= + +module com { module sun { module star { module form { module runtime { + +//============================================================================= + +interface XFilterControllerListener; + +/** provides access to a form based filter for a database form + + <p>In a form based filter, form controls bound to a searchable database field are replaced with a control + which allows entering a search expression. This so-called <em>predicate expression</em> is basically a part of an + SQL <code>WHERE</code> clause, but without the the part denoting the database column. For instance, if you + have a form control bound to a table column named <code>Name</code>, then entering the string + <q>LIKE '%Smith%'</q> effectively consitutes a SQL <code>WHERE</code> clause <code>"Name" LIKE '%Smith%'</code>.</p> + + <p>In the actual document view, there are usually some relaxations to this. For instance, keywords such as + <code>LIKE</code> might be localized, according to OpenOffice.org's UI locale. Also, for an equality criterion, + the equality sign <code>=</code> is usually omitted. However, this interface here provides programmatic access + to the form based filter, so those relaxations are not considered here.</p> + + <p>The filter maintained by a filter controller is, logically, a disjunctive normal form of an SQL <code>WHERE</code> + class. That is, it is a disjunction of <em>m</em> terms, where each term is a conjunction of <em>n</em> clauses + of the form <code><column> <predicate> <literal></code> or of the form <code><em><column> + IS [NOT] NULL</em></code>.</p> + + <p><em>n</em> equals the number of filter controls which the filter controller is responsible for. This number + doesn't change during one session of the form based filter. On the other hand, <em>m</em>, the number of disjunctive + terms, is dynamic.</p> + + <a name="active_term"></a> + <p>With the above, there are potentially <em>m * n</em> <em>predicate expressions</em> (though usually only a fraction + of those will actually exist). Since in a form based filter, there are only <em>n</em> filter controls, and each + filter control displays exactly one <em>predicate expression</em>, this means that only a part of the complete + filter can be displayed, in particular, only one <em>disjunctive term</em> can be displayed at a time. Thus, + the filter controller knows the concept of an <em>active term</em>, denoted by the <member>ActiveTerm</member> + attribute, controls which of the terms is currently displayed in the form controls.</p> + + @see XFormController + @see com::sun::star::sdbc::XResultSetMetaData::isSearchable + @see com::sun::star::sdb::XSingleSelectQueryAnalyzer::getStructuredFilter + @see com::sun::star::sdb::SQLFilterOperator + + @since OpenOffice.org 3.3 + */ +interface XFilterController +{ + /** registers a listener to be notified of certain changes in the form based filter. + + <p>Registering the same listener multiple times results in multiple notifications of the same event, + and also requires multiple revocations of the listener. + */ + void addFilterControllerListener( [in] XFilterControllerListener _Listener ); + + /** revokes a listener which was previously registered to be notified of certain changes in the form based filter. + */ + void removeFilterControllerListener( [in] XFilterControllerListener _Listener ); + + /** is the number of <em>filter components</em>, or filter controls, which the filter controller is responsible + for. + + <p>This number is constant during one session of the form based filter.</p> + */ + [attribute, readonly] long FilterComponents; + + /** is the number of <em>disjunctive terms</em> of the filter expression represented by the form based filter. + */ + [attribute, readonly] long DisjunctiveTerms; + + /** denotes the <a href="#active_term"><em>active term</em></a> of the filter controller. + */ + [attribute] long ActiveTerm + { + set raises ( ::com::sun::star::lang::IndexOutOfBoundsException ); + }; + + /** sets a given <em>predicate expression</em> + + @param _Component + denotes the filter component whose expression is to be set. Must be greater than or equal to 0, and smaller than + <member>FilterComponents</member>. + + @param _Term + denotes the <em>disjunctive term</em> in which the expression is to be set. Must be greater than or equal to 0, + and smaller than <member>DisjunctiveTerms</member>. + + @param _PredicateExpression + denotes the <em>predicate expression</em> to set for the given filter component in the given term. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if one of the indexes is out of the allowed range + */ + void + setPredicateExpression( [in] long _Component, [in] long _Term, [in] string _PredicateExpression ) + raises( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** retrieves the filter component with the given index. + + <p>The filter control has the same control model as the control which it stands in for. Consequently, you can use this method + to obtain the database column which the filter control works on, by examining the control model's <code>BoundField</code> + property.</p> + + @param _Component + denotes the index of the filter component whose control should be obtained. Must be greater than or equal to 0, + and smaller than <member>FilterComponents</member>. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if <arg>_Component</arg> is out of the allowed range. + + @see ::com::sun::star::form::component::DataAwareControlModel::BoundField + */ + ::com::sun::star::awt::XControl + getFilterComponent( [in] long _Component ) + raises( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** retrieves the entirety of the <em>predicate expressions</em> represented by the filter controller. + + <p>Each element of the returned sequence is a <em>disjunctive term</em>, having exactly <member>FilterComponents</member> + elements, which denote the single <em>predicate expressions</em> of this term.</p> + */ + sequence< sequence< string > > + getPredicateExpressions(); + + /** removes a given <em>disjunctive term</em> + + @param _Term + the index of the term to remove. Must be greater than or equal to 0, and smaller than + <member>DisjunctiveTerms</member>. + + @throws ::com::sun::star::lang::IndexOutOfBoundsException + if <arg>_Term</arg> is out of the allowed range. + */ + void + removeDisjunctiveTerm( [in] long _Term ) + raises( ::com::sun::star::lang::IndexOutOfBoundsException ); + + /** appends an empty disjunctive term to the list of terms. + */ + void + appendEmptyDisjunctiveTerm(); +}; + +//============================================================================= + +}; }; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl b/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl new file mode 100644 index 000000000..e07fc3f52 --- /dev/null +++ b/offapi/com/sun/star/form/runtime/XFilterControllerListener.idl @@ -0,0 +1,84 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __com_sun_star_form_runtime_XFilterControllerListener_idl__ +#define __com_sun_star_form_runtime_XFilterControllerListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/form/runtime/FilterEvent.idl> + +//============================================================================= + +module com { module sun { module star { module form { module runtime { + +//============================================================================= + +/** is implemented by components listening for events fired by an <type>XFilterController</type>. + + @since OpenOffice.org 3.3 +*/ +interface XFilterControllerListener : ::com::sun::star::lang::XEventListener +{ + /** is fired when a single <em>predicate expression</em> of the filter represented by the filter + controller changed. + + <p><member>FilterEvent::DisjunctiveTerm</member> is the index of the <em>disjunctive term</em> in which the + expression changed. This usually equals <member>XFilterController::ActiveTerm</member>.</p> + + <p><member>FilterEvent::FilterComponent</member> denotes the index of the filter component whose + <em>predicate expression</em> changed.</p> + + <p><member>FilterEvent::PredicateExpression</member> is the new <em>predicate expressions</em>.</p> + */ + void predicateExpressionChanged( [in] FilterEvent _Event ); + + /** is fired when a <em>disjunctive term</em> was removed from the filter of the filter controller. + + <p><member>FilterEvent::DisjunctiveTerm</member> is the index of the <em>disjunctive term</em> which was + removed.</p> + + <p><member>FilterEvent::FilterComponent</member> and <member>FilterEvent::PredicateExpression</member> are not + used for this event type.</p> + */ + void disjunctiveTermRemoved( [in] FilterEvent _Event ); + + /** is fired when a <em>disjunctive term</em> was added to the filter of the filter controller. + + <p><member>FilterEvent::DisjunctiveTerm</member> is the index of the <em>disjunctive term</em> which was + added.</p> + + <p><member>FilterEvent::FilterComponent</member> and <member>FilterEvent::PredicateExpression</member> are not + used for this event type.</p> + */ + void disjunctiveTermAdded( [in] FilterEvent _Event ); +}; + +//============================================================================= + +}; }; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/form/runtime/XFormController.idl b/offapi/com/sun/star/form/runtime/XFormController.idl new file mode 100644 index 000000000..f05733838 --- /dev/null +++ b/offapi/com/sun/star/form/runtime/XFormController.idl @@ -0,0 +1,373 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __offapi_com_sun_star_form_runtime_XFormController_idl__ +#define __offapi_com_sun_star_form_runtime_XFormController_idl__ + +#include <com/sun/star/awt/XTabController.idl> +#include <com/sun/star/container/XChild.idl> +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/container/XIndexAccess.idl> +#include <com/sun/star/container/XEnumerationAccess.idl> +#include <com/sun/star/util/XModifyBroadcaster.idl> +#include <com/sun/star/util/XModeSelector.idl> +#include <com/sun/star/form/XConfirmDeleteBroadcaster.idl> +#include <com/sun/star/sdb/XSQLErrorBroadcaster.idl> +#include <com/sun/star/sdb/XRowSetApproveBroadcaster.idl> +#include <com/sun/star/form/XDatabaseParameterBroadcaster2.idl> +#include <com/sun/star/form/XFormControllerListener.idl> +#include <com/sun/star/task/XInteractionHandler.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/form/runtime/XFilterController.idl> + +//============================================================================= + +module com { module sun { module star { module form { module runtime { + +interface XFormOperations; +interface XFormControllerContext; + +//============================================================================= + +/** specifies a component controlling the interaction between the user and form functionality. + + <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 <code>FormController</code> 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 <type>FormController</type> may + contain one or more other <type>FormController</type>s, so the form model structure or hierarchy + is reflected in the structure of <type>FormController</type>s. That is, retrieving the parent of + the model of a controller will give you the same object as retrieving the model of the parent of + the controller. Similarly, retrieving the model of the <code>n</code><sup>th</sup> child of + a controller gives you the same object as retrieving the <code>n</code><sup>th</sup> child of + the model of the controller.</p> + + <p>A controller is called <em>active</em> if one of the controls it is responsible for has the focus, + else inactive. To be notified whenever this activation state of a given controller changes, you can + add listeners.</p> + + <p>This interface supersedes the <type scope="com::sun::star::form">FormController</type>.</p> + + <h3>Responsibilities</h3> + <p>A <type>FormController</type> is responsible for a <type scope="com::sun::star::awt">UnoControlContainer</type>, + 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 <NULL/>, 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 <NULL/> 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 + <member scope="com::sun::star::beans">XPropertyContainer::addProperty</member> method, with a value + of <FALSE/>.<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 <FALSE/>.</p> + + <p>Alternatively, you can prevent the check on a per-control basis, using the + <member>DataAwareControlModel::InputRequired</member> property of a single control model.</p> + + <p>If a control which the controller is responsible for supports the <type scope="com::sun::star::frame">XDispatchProviderInterception</type> + 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> + + <p>Below, there's a list of URLs which have a defined meaning - if an 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> + + <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 ::com::sun::star::form::component:Form + @see ::com::sun::star::form::binding::BindableControlModel + @see ::com::sun::star::sdb::DataSource::Settings + + @since OpenOffice.org 3.3 + */ +interface XFormController +{ + /** is used for tab controlling and grouping of the controls. + + <p>The model obtained via <member scope="com::sun::star::awt">XTabController::getModel</member> is the form for which the + controller is responsible.</p> + */ + interface ::com::sun::star::awt::XTabController; + + /** allows access to the parent controller. + */ + interface ::com::sun::star::container::XChild; + + /** allows access to the sub controllers. + */ + interface ::com::sun::star::container::XIndexAccess; + + /** allows enumerating sub controllers + */ + interface ::com::sun::star::container::XEnumerationAccess; + + /** allows life time control of the controller. + */ + interface ::com::sun::star::lang::XComponent; + + /** allows to register as listener for modifications in the controls which the controller is responsible + for. + */ + interface ::com::sun::star::util::XModifyBroadcaster; + + /** used to notify deletions of data in the form before they happen. + + <p>A form controller listens for deletion events at the form it is responsible for. If and only if no + <type scope="com::sun::star::form">XConfirmDeleteListener</type> is registered at + the controller, it uses an own dialog to ask the user for confirmation.</p> + */ + interface ::com::sun::star::form::XConfirmDeleteBroadcaster; + + /** is used to notify errors which happen in the form the controller is responsible for. + + <p>A form controller listens for error events at the form it is responsible for. If and only if no + <type scope="com::sun::star::sdb">XSQLErrorListener</type> is registered at the controller, it + uses an own dialog to notify the user of the error.</p> + + */ + interface ::com::sun::star::sdb::XSQLErrorBroadcaster; + + /** is used for multiplexing row set events happening on the form which the controller is responsible for. + */ + interface ::com::sun::star::sdb::XRowSetApproveBroadcaster; + + /** is used broadcasting parameter events in the form. + + <p>A form controller listens for parameter events at the form it is responsible for. If and only if no + <type scope="com::sun::star::form">XDatabaseParameterListener</type> is registered at the controller, it + uses an own dialog to ask the user for parameter values.</p> + */ + interface ::com::sun::star::form::XDatabaseParameterBroadcaster2; + + /** allows switching the form controller to different operation modes. + + <a name="mode_selector"></a> + <p>The two modes usually (but not necessarily) supported by a form controller are the <code>DataMode</code> + and the <code>FilterMode</code>, where the former is the usual modus operandi for displaying and modifying + data, and the latter is a special mode to enter a filter for the database form which the controller is + responsible for.</p> + */ + interface ::com::sun::star::util::XModeSelector; + + /** allows controlling the filter mode. + + <p>If the form controller supports a <a href="#mode_selector">form based filter mode</a>, then it shall also + support the <type>XFilterController</type> interface, which allows controlling this mode.</p> + */ + [optional] interface XFilterController; + + /** denotes the instance which is used to implement operations on the form which the controller + works for. + + <p>This instance can be used, for instance, to determine the current state of certain form features.</p> + */ + [attribute, readonly] XFormOperations FormOperations; + + /** provicdes access to the currently active control + */ + [attribute, readonly] ::com::sun::star::awt::XControl CurrentControl; + + /** allows to delegate certain tasks to the context of the form controller + */ + [attribute] XFormControllerContext Context; + + /** used (if not <NULL/>) for user interactions triggered by the form controller. + */ + [attribute] ::com::sun::star::task::XInteractionHandler InteractionHandler; + + /** adds the specified listener to receive notifications whenever the activation state of + the controller changes. + */ + void addActivateListener( [in] ::com::sun::star::form::XFormControllerListener _Listener ); + + /** removes the specified listener from the list of components to receive notifications whenever the activation + state of the controller changes. + */ + void removeActivateListener( [in] ::com::sun::star::form::XFormControllerListener _Listener ); + + /** adds a controller to the list of child controllers + @throws ::com::sun::star::lang::IllegalArgumentException + if the given controller is <NULL/>, or cannot rightfully be a child controller. Since controllers + mirror the hierarchy of the forms the are responsible for, this means that the form of the given + child controller must be a child of the controller at which the method is invoked. + */ + void addChildController( [in] XFormController _ChildController ) + raises ( ::com::sun::star::lang::IllegalArgumentException ); +}; + +//============================================================================= + +}; }; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/form/runtime/XFormControllerContext.idl b/offapi/com/sun/star/form/runtime/XFormControllerContext.idl new file mode 100644 index 000000000..5adc86e0d --- /dev/null +++ b/offapi/com/sun/star/form/runtime/XFormControllerContext.idl @@ -0,0 +1,57 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __offapi_com_sun_star_form_runtime_XFormControllerContext_idl__ +#define __offapi_com_sun_star_form_runtime_XFormControllerContext_idl__ + +#include <com/sun/star/awt/XControl.idl> + +//============================================================================= + +module com { module sun { module star { module form { module runtime { + +//============================================================================= + +/** provides a context for a <type>FormController</type> + +<p>A <type>FormController</type> knows about the controls it is responsible + for, and about the control container which those controls live in. However, it doesn't know + about a possible larger context, like a scrollable view which the controls are embedded into. + To compensate this, it can be provided a <code>XFormControllerContext</code>.</p> + */ +interface XFormControllerContext +{ + /** ensures the given control is visible, by scrolling the view if necessary. + */ + void makeVisible( [in] ::com::sun::star::awt::XControl _Control ); +}; + +//============================================================================= + +}; }; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/form/runtime/XFormOperations.idl b/offapi/com/sun/star/form/runtime/XFormOperations.idl index 1b453dfa6..453f60529 100644 --- a/offapi/com/sun/star/form/runtime/XFormOperations.idl +++ b/offapi/com/sun/star/form/runtime/XFormOperations.idl @@ -44,8 +44,8 @@ #ifndef __com_sun_star_sdbc_XResultSetUpdate_idl__ #include <com/sun/star/sdbc/XResultSetUpdate.idl> #endif -#ifndef __com_sun_star_form_XFormController_idl__ -#include <com/sun/star/form/XFormController.idl> +#ifndef __com_sun_star_form_runtime_XFormController_idl__ +#include <com/sun/star/form/runtime/XFormController.idl> #endif #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ #include <com/sun/star/lang/IllegalArgumentException.idl> @@ -115,7 +115,7 @@ interface XFormOperations : ::com::sun::star::lang::XComponent case some functionality will not be available. In particular, every feature which relies on the active control of the controller might be of limited use.</p> */ - [attribute, readonly] ::com::sun::star::form::XFormController Controller; + [attribute, readonly] ::com::sun::star::form::runtime::XFormController Controller; /** retrieves the current state of the given feature diff --git a/offapi/com/sun/star/form/runtime/makefile.mk b/offapi/com/sun/star/form/runtime/makefile.mk index 81c668267..97c4451ed 100644 --- a/offapi/com/sun/star/form/runtime/makefile.mk +++ b/offapi/com/sun/star/form/runtime/makefile.mk @@ -42,10 +42,16 @@ PACKAGE=com$/sun$/star$/form$/runtime # ------------------------------------------------------------------------ IDLFILES=\ - FeatureState.idl\ + FeatureState.idl \ + FilterEvent.idl \ FormFeature.idl \ FormOperations.idl \ + FormController.idl \ XFeatureInvalidation.idl \ + XFilterController.idl \ + XFilterControllerListener.idl \ + XFormController.idl \ + XFormControllerContext.idl \ XFormOperations.idl \ # ------------------------------------------------------------------ diff --git a/offapi/com/sun/star/presentation/XSlideShow.idl b/offapi/com/sun/star/presentation/XSlideShow.idl index e0715d2ff..e01a64564 100644 --- a/offapi/com/sun/star/presentation/XSlideShow.idl +++ b/offapi/com/sun/star/presentation/XSlideShow.idl @@ -46,9 +46,15 @@ #ifndef __com_sun_star_animations_XAnimationNode_idl__ #include <com/sun/star/animations/XAnimationNode.idl> #endif +#endif +#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__ +#include <com/sun/star/lang/XMultiServiceFactory.idl> #ifndef __com_sun_star_drawing_XDrawPage_idl__ #include <com/sun/star/drawing/XDrawPage.idl> #endif +#ifndef __com_sun_star_drawing_XDrawPagesSupplier_idl__ +#include <com/sun/star/drawing/XDrawPagesSupplier.idl> +#endif #ifndef __com_sun_star_drawing_XShape_idl__ #include <com/sun/star/drawing/XShape.idl> #endif @@ -149,6 +155,10 @@ interface XSlideShow : ::com::sun::star::uno::XInterface @param xPage The slide to display. + @param xDrawPages + For future use. + This parameter can be NULL when the ENABLE_PRESENTER_EXTRA_UI feature is disabled. + @param xAnimationNode The animation node determine the animations to display. @@ -185,6 +195,7 @@ interface XSlideShow : ::com::sun::star::uno::XInterface */ void displaySlide( [in] ::com::sun::star::drawing::XDrawPage xSlide, + [in] ::com::sun::star::drawing::XDrawPagesSupplier xDrawPages, [in] ::com::sun::star::animations::XAnimationNode aAnimationNode, [in] sequence< ::com::sun::star::beans::PropertyValue > aProperties ); @@ -211,6 +222,14 @@ interface XSlideShow : ::com::sun::star::uno::XInterface */ ::com::sun::star::drawing::XDrawPage getCurrentSlide(); + /** Register drawn polygons in presentation mode + + @param xDocFactory + + */ + + void registerUserPaintPolygons([in] ::com::sun::star::lang::XMultiServiceFactory xDocFactory); + /** Change a property of the slideshow.<p> @param aShowProperty diff --git a/offapi/com/sun/star/sdb/DataSourceBrowser.idl b/offapi/com/sun/star/sdb/DataSourceBrowser.idl index fcd1cbe2f..77018fba4 100644 --- a/offapi/com/sun/star/sdb/DataSourceBrowser.idl +++ b/offapi/com/sun/star/sdb/DataSourceBrowser.idl @@ -168,13 +168,11 @@ published service DataSourceBrowser <p> With a data source browser implementing this interface, external components have access to <ul><li>the grid control which is used to display the currently selected table/query - (see - <method scope="com.sun.star.form">XFormController::getControls()</method> - ) + (see <method scope="com::sun::star::awt">XTabController::getControls</method>) </li> <li>the data form used for displaying objects. As always for components implementing this service, the object returned by - <method scope="com.sun.star.awt">XTabController::getModel()</method>isadataform. + <method scope="com::sun::star::awt">XTabController::getModel</method>is a dataform. </li> </ul> </p> diff --git a/offapi/com/sun/star/sdb/DatabaseContext.idl b/offapi/com/sun/star/sdb/DatabaseContext.idl index 36cd6450b..274d46c7f 100644 --- a/offapi/com/sun/star/sdb/DatabaseContext.idl +++ b/offapi/com/sun/star/sdb/DatabaseContext.idl @@ -51,7 +51,9 @@ #endif module com { module sun { module star { module sdb { - + +published interface XDatabaseRegistrations; + /** is the context for accessing datasource. <p> @@ -65,12 +67,10 @@ */ published service DatabaseContext { - /** Enumeration on all registered data sources. */ interface com::sun::star::container::XEnumerationAccess; - /** NameAccess on all registered data sources. <p>One exception is the <method "com.sun.star.container.XNameAccess">getByName</method>, this method also allows to ask for a <member "DataAccessDescriptor">DatabaseLocation</member>. @@ -89,6 +89,19 @@ published service DatabaseContext /** Interface for creation of new datasources. */ interface com::sun::star::lang::XSingleServiceFactory; + + /** allows to access and modify the configuration data for registered data source. + + <p>The main purpose of this interface is to allow you to register data sources which you know + by URL only, and have not yet loaded.</p> + + <p>Also, it hides the details of the configuration data where the data source registrations + are maintained, so if possible at all, you should use this interface, instead of modifying or + querying the configuration data directly.</p> + + @since OpenOffice.org 3.3 + */ + [optional] interface XDatabaseRegistrations; }; //============================================================================= diff --git a/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl b/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl new file mode 100644 index 000000000..22c63fa5a --- /dev/null +++ b/offapi/com/sun/star/sdb/DatabaseRegistrationEvent.idl @@ -0,0 +1,60 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __com_sun_star_sdb_DatabaseRegistrationEvent_idl__ +#define __com_sun_star_sdb_DatabaseRegistrationEvent_idl__ + +#include <com/sun/star/lang/EventObject.idl> + +//============================================================================= + +module com { module sun { module star { module sdb { + +//============================================================================= + +/** describes a change in a database registration + + @see XDatabaseRegistrations + @see XDatabaseRegistrationsListener + + @since OpenOffice.org 3.3 + */ +struct DatabaseRegistrationEvent : ::com::sun::star::lang::EventObject +{ + /// is the name of the database registration affected by the event + string Name; + /// is the old location of the database which is affected by the event + string OldLocation; + /// is the new location of the database which is affected by the event + string NewLocation; +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/sdb/XDatabaseAccess.idl b/offapi/com/sun/star/sdb/XDatabaseAccess.idl index 3aa80df7d..3d63e7f97 100644 --- a/offapi/com/sun/star/sdb/XDatabaseAccess.idl +++ b/offapi/com/sun/star/sdb/XDatabaseAccess.idl @@ -54,60 +54,17 @@ //============================================================================= -/** is used to connect to a data access bean. A data access bean represents a - database connection and provides additional information related to the connection - such as forms, reports, or queries. +/** is not to be used anymore + @deprecated */ published interface XDatabaseAccess: com::sun::star::sdbc::XDataSource { - - /** indicates that connections already exist. - @returns - <TRUE/> if so - */ boolean hasConnections(); - //------------------------------------------------------------------------- - - /** attempts to establish a database connection, that can not be shared with - other components. This should be used for transaction processing. - @param user - the user name - @param password - the password - @returns - an isolated connection object - @throws com::sun::star::sdbc::SQLException - if a database access error occurs. - @see com::sun::star::sdbc::XConnection - */ com::sun::star::sdbc::XConnection getIsolatedConnection([in]string user, [in]string password) raises (com::sun::star::sdbc::SQLException); - //------------------------------------------------------------------------- - - /** closes the all connections to database. This request could be aborted by - listeners of the component. - @throws com::sun::star::sdbc::SQLException - if a database access error occurs. - */ boolean suspendConnections() raises (com::sun::star::sdbc::SQLException); - //------------------------------------------------------------------------- - - /** adds the specified listener to receive the events "connectionChanged", - "approveConnectionClose", and "connectionClosing". - @param listener - the listener to append - @see com::sun::star::sdb::XDatabaseAccessListener - */ [oneway] void addDatabaseAccessListener([in]XDatabaseAccessListener listener); - //------------------------------------------------------------------------- - - /** removes the specified listener. - @param listener - the listener to append - @see com::sun::star::sdb::XDatabaseAccessListener - */ - [oneway] void removeDatabaseAccessListener( - [in]XDatabaseAccessListener listener); + [oneway] void removeDatabaseAccessListener([in]XDatabaseAccessListener listener); }; //============================================================================= diff --git a/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl b/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl index c381d7239..d460cd452 100644 --- a/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl +++ b/offapi/com/sun/star/sdb/XDatabaseAccessListener.idl @@ -37,44 +37,13 @@ module com { module sun { module star { module sdb { -/** is used for receiving "connectionChanged", "approveConnectionClose", and - "connectionClosing" events posted by a database access bean. - - - <p> - A database access bean setting may be changed to connect to a different database. - In that case, the connection of the bean must be closed and a new connection must - be established. The could affect the current data processing on the bean, as it - could be shared by a number of components. To prevent the bean from closing it's - connection, a DatabaseAccessListener could abort the closing. - </p> +/** is not to be used anymore + @deprecated */ published interface XDatabaseAccessListener: com::sun::star::lang::XEventListener { - - /** indicates that a new connection for the bean has been established. - @param evenet - the event happend - */ [oneway] void connectionChanged([in]com::sun::star::lang::EventObject event); - //------------------------------------------------------------------------- - - /** indicates that the connection of the bean will be closed. If there are pending - actions on the connection of the bean, "approveConnectionClosing" should return - <FALSE/>. - - @param evenet - the event happend - @returns - <TRUE/> when approved, otherwise <FALSE/> - */ boolean approveConnectionClosing([in]com::sun::star::lang::EventObject event); - //------------------------------------------------------------------------- - - /** indicates that the connection will definitely be closed. - @param evenet - the event happend - */ [oneway] void connectionClosing([in]com::sun::star::lang::EventObject event); }; diff --git a/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl b/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl index 9f384833e..75a0d4dc6 100644 --- a/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl +++ b/offapi/com/sun/star/sdb/XDatabaseEnvironment.idl @@ -54,39 +54,14 @@ //============================================================================= -/** specifies the root of the data access beans. It provides the possiblity - to open a data access bean, which contains tables, queries, forms, and - report documents, or to open a connection to a database. +/** is not to be used anymore. @deprecated */ published interface XDatabaseEnvironment: com::sun::star::sdbc::XDriverManager { - //------------------------------------------------------------------------- - - /** returns an existing DatabaseAccess bean specified by it's URL. - - - <p>Database Access beans are always shared, so if there's a second request - for the same bean, the same instance of the bean will be returned, if it is still alive. - </p> - @param URL - a database url of the form sdbc:subprotocol:subname - @returns - the database access object for this url - */ XDatabaseAccess getDatabaseAccess([in]string URL) raises (com::sun::star::sdbc::SQLException); - //------------------------------------------------------------------------- - - /** creates a new DatabaseAccess bean specified by it's URL. - @param URL - a database url of the form sdbc:subprotocol:subname - @param title - the title of the database access - @returns - the new created database access object for this url - */ XDatabaseAccess createDatabaseAccess([in]string URL, [in]string title) raises (com::sun::star::sdbc::SQLException); }; diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl new file mode 100644 index 000000000..ce8e54b8d --- /dev/null +++ b/offapi/com/sun/star/sdb/XDatabaseRegistrations.idl @@ -0,0 +1,158 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __com_sun_star_sdb_XDatabaseRegistrations_idl__ +#define __com_sun_star_sdb_XDatabaseRegistrations_idl__ + +#include <com/sun/star/container/NoSuchElementException.idl> +#include <com/sun/star/container/ElementExistException.idl> +#include <com/sun/star/lang/IllegalArgumentException.idl> +#include <com/sun/star/lang/IllegalAccessException.idl> + +//============================================================================= + +module com { module sun { module star { module sdb { + +interface XDatabaseRegistrationsListener; + +//============================================================================= + +/** provides access to the application-wide registered databases. + + <p>This interface provides a mere wrapper around the respective configuration data, + this way hiding the concrete configuration structure from its clients. You should, + if possible at all, use this interface, instead of modifying or querying the configuration + data directly.</p> + + @since OpenOffice.org 3.3 + */ +interface XDatabaseRegistrations +{ + /** determines whether a database is registered under the given name. + + @throws ::com::sun::star::lang::IllegalArgumentException + if the given name is empty + */ + boolean hasRegisteredDatabase( [in] string Name ) + raises ( ::com::sun::star::lang::IllegalArgumentException + ); + + /** returns the names of all registered databases + */ + sequence< string > + getRegistrationNames(); + + /** returns the location of the database registered under the given name + + @throws ::com::sun::star::lang::IllegalArgumentException + if the given name is empty + + @throws ::com::sun::star::container::NoSuchElementException + if there is no database registered under this name + */ + string getDatabaseLocation( [in] string Name ) + raises ( ::com::sun::star::lang::IllegalArgumentException + , ::com::sun::star::container::NoSuchElementException + ); + + /** registers a database, given by location, under a given name + + @throws ::com::sun::star::lang::IllegalArgumentException + if the given name is empty, or the given location is invalid. + + @throws ::com::sun::star::container::ElementExistException + if there already is a databases registered under the given name. + */ + void registerDatabaseLocation( [in] string Name, [in] string Location ) + raises ( ::com::sun::star::lang::IllegalArgumentException + , ::com::sun::star::container::ElementExistException + ); + + /** revokes the registration of a database, given by name + + @throws ::com::sun::star::lang::IllegalArgumentException + if the given name is empty + + @throws ::com::sun::star::container::NoSuchElementException + if there is no database registered under this name + + @throws ::com::sun::star::lang::IllegalAccessException + if the registration data for this database is read-only + */ + void revokeDatabaseLocation( [in] string Name ) + raises ( ::com::sun::star::lang::IllegalArgumentException + , ::com::sun::star::container::NoSuchElementException + , ::com::sun::star::lang::IllegalAccessException + ); + + /** changes the location of a given database registration + + @throws ::com::sun::star::lang::IllegalArgumentException + if the given name is empty, or the given location is invalid. + + @throws ::com::sun::star::container::NoSuchElementException + if there is no database registered under this name + + @throws ::com::sun::star::lang::IllegalAccessException + if the registration data for this database is read-only + */ + void changeDatabaseLocation( [in] string Name, [in] string NewLocation ) + raises ( ::com::sun::star::lang::IllegalArgumentException + , ::com::sun::star::container::NoSuchElementException + , ::com::sun::star::lang::IllegalAccessException + ); + + /** determines whether the registration data for a database given by name is + read-only. + + <p>In this case, attempts to revoke this registration will fail.</p> + + @throws ::com::sun::star::lang::IllegalArgumentException + if the given name is empty + + @throws ::com::sun::star::container::NoSuchElementException + if there is no database registered under this name + */ + boolean isDatabaseRegistrationReadOnly( [in] string Name ) + raises ( ::com::sun::star::lang::IllegalArgumentException + , ::com::sun::star::container::NoSuchElementException + ); + + /** registers a listener which is notified of changes in the registered databases + */ + void addDatabaseRegistrationsListener( [in] XDatabaseRegistrationsListener Listener ); + + /** revokes a previously registered listener + */ + void removeDatabaseRegistrationsListener( [in] XDatabaseRegistrationsListener Listener ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl new file mode 100644 index 000000000..f5fc65513 --- /dev/null +++ b/offapi/com/sun/star/sdb/XDatabaseRegistrationsListener.idl @@ -0,0 +1,70 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2009 by Sun Microsystems, Inc. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* 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 +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +#ifndef __com_sun_star_sdb_XDatabaseRegistrationsListener_idl__ +#define __com_sun_star_sdb_XDatabaseRegistrationsListener_idl__ + +#include <com/sun/star/lang/XEventListener.idl> +#include <com/sun/star/sdb/DatabaseRegistrationEvent.idl> + +//============================================================================= + +module com { module sun { module star { module sdb { + +//============================================================================= + +/** implemented by components which want to be notified of changes in the application-wide registered + databases. + + @see XDatabaseRegistrations + + @since OpenOffice.org 3.3 + */ +interface XDatabaseRegistrationsListener : ::com::sun::star::lang::XEventListener +{ + /** called when a database has been registered + */ + void registeredDatabaseLocation( [in] DatabaseRegistrationEvent Event ); + + /** called when a database registration has been revoked + */ + void revokedDatabaseLocation( [in] DatabaseRegistrationEvent Event ); + + /** called when a the location of a registered database changed + + <p>Note that this talks about registration data only. That is, if the actual file denoted by the database + registration is moved, this is in no way monitored or reported. Only (successful) calls to + <member>XDatabaseRegistrations::changeDatabaseLocation</member> are reported here.</p> + */ + void changedDatabaseLocation( [in] DatabaseRegistrationEvent Event ); +}; + +//============================================================================= + +}; }; }; }; + +//============================================================================= + +#endif diff --git a/offapi/com/sun/star/sdb/makefile.mk b/offapi/com/sun/star/sdb/makefile.mk index b535584fc..3e76283ec 100644 --- a/offapi/com/sun/star/sdb/makefile.mk +++ b/offapi/com/sun/star/sdb/makefile.mk @@ -62,6 +62,7 @@ IDLFILES=\ DatabaseContext.idl \ DatabaseDocument.idl \ DatabaseEnvironment.idl \ + DatabaseRegistrationEvent.idl \ DataColumn.idl \ DataSettings.idl \ DataSource.idl \ @@ -113,6 +114,8 @@ IDLFILES=\ XDataAccessDescriptorFactory.idl \ XDatabaseAccess.idl \ XDatabaseAccessListener.idl \ + XDatabaseRegistrations.idl \ + XDatabaseRegistrationsListener.idl \ XDatabaseEnvironment.idl \ XDocumentDataSource.idl \ XFormDocumentsSupplier.idl \ diff --git a/offapi/com/sun/star/sheet/MemberResultFlags.idl b/offapi/com/sun/star/sheet/MemberResultFlags.idl index 6660b3803..23ba7b0ee 100644 --- a/offapi/com/sun/star/sheet/MemberResultFlags.idl +++ b/offapi/com/sun/star/sheet/MemberResultFlags.idl @@ -59,6 +59,17 @@ published constants MemberResultFlags */ const long CONTINUE = 4; + //------------------------------------------------------------------------- + + /** The element contains a grand total. + */ + const long GRANDTOTAL = 8; + + //------------------------------------------------------------------------- + + /** The element is a numeric value. + */ + const long NUMERIC = 16; }; //============================================================================= diff --git a/offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl b/offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl new file mode 100644 index 000000000..ded6c6c23 --- /dev/null +++ b/offapi/com/sun/star/task/PasswordContainerInteractionHandler.idl @@ -0,0 +1,60 @@ +/************************************************************************* + * + * 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: $ + * $Revision: $ + * + * 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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef __com_sun_star_task_PasswordContainerInteractionHandler_idl__ +#define __com_sun_star_task_PasswordContainerInteractionHandler_idl__ + +module com { module sun { module star { + module task { published interface XInteractionHandler; }; +}; }; }; + +module com { module sun { module star { module task { + +//============================================================================ +/** An interaction request handler that uses the + <type scope="com::sun::star::task">PasswordContainer</type> service to + handle <type scope="com::sun::star::ucb">AuthenticationRequest</type>s. + + If the password container contains credentials matching the authentication + request, the service implementation selects the + <type scope="com::sun::star::ucb">XInteractionSupplyAuthentication</type> + continuation, that should be supplied with the interaction request. + + If the password container does not contain credentials matching the + authentication request, the service implementation selects no continuation. + + @since OOo 3.3 + */ +published service PasswordContainerInteractionHandler + : com::sun::star::task::XInteractionHandler; + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/task/XUrlContainer.idl b/offapi/com/sun/star/task/XUrlContainer.idl index 54709613d..9ac704c56 100644 --- a/offapi/com/sun/star/task/XUrlContainer.idl +++ b/offapi/com/sun/star/task/XUrlContainer.idl @@ -1,7 +1,7 @@ /************************************************************************* * * 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 @@ -44,8 +44,10 @@ module com { module sun { module star { module task { //============================================================================= -/** Allows to store and retrieve URLs. URLs can be stored persistently or +/** Allows to store and retrieve URLs. URLs can be stored persistently or until end of OOo session. + + @since OOo 3.2 */ /*published*/ interface XUrlContainer : com::sun::star::uno::XInterface { @@ -53,7 +55,7 @@ module com { module sun { module star { module task { /** Add a URL to the container. @param Url URL to add to the container - @param MakePersistent indicates whether the URL shall be stored + @param MakePersistent indicates whether the URL shall be stored persistently or just in memory (until end of OOo session) */ @@ -63,10 +65,10 @@ module com { module sun { module star { module task { /** Lookup a URL in the container. @param Url URL to lookup. - @returns Best matched URL or empty string. + @returns Best matched URL or empty string. */ string findUrl( [in] string Url ); - + //------------------------------------------------------------------------- /** Remove a URL from the container. @@ -78,7 +80,7 @@ module com { module sun { module star { module task { /** Get all URLs. @param OnlyPersistent Only URLs taht are stored persistently shall - be returned. + be returned. @returns List of URLs. */ sequence<string> getUrls( [in] boolean OnlyPersistent ); diff --git a/offapi/com/sun/star/task/makefile.mk b/offapi/com/sun/star/task/makefile.mk index dc54f6fd3..d77b1d602 100644 --- a/offapi/com/sun/star/task/makefile.mk +++ b/offapi/com/sun/star/task/makefile.mk @@ -1,7 +1,7 @@ #************************************************************************* # # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# +# # Copyright 2008 by Sun Microsystems, Inc. # Copyright IBM Corporation 2009. # @@ -59,6 +59,7 @@ IDLFILES=\ MasterPasswordRequest.idl\ NoMasterException.idl\ PasswordContainer.idl\ + PasswordContainerInteractionHandler.idl\ PasswordRequest.idl\ PasswordRequestMode.idl\ UnsupportedOverwriteRequest.idl\ diff --git a/offapi/com/sun/star/ucb/CommandEnvironment.idl b/offapi/com/sun/star/ucb/CommandEnvironment.idl new file mode 100644 index 000000000..a1ca2aa72 --- /dev/null +++ b/offapi/com/sun/star/ucb/CommandEnvironment.idl @@ -0,0 +1,67 @@ +/************************************************************************* + * + * 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: SmoketestCommandEnvironment.idl,v $ + * $Revision: 1.3 $ + * + * 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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef _com_sun_star_ucb_CommandEnvironment_idl_ +#define _com_sun_star_ucb_CommandEnvironment_idl_ + +#include <com/sun/star/ucb/XCommandEnvironment.idl> +#include <com/sun/star/task/XInteractionHandler.idl> +#include <com/sun/star/ucb/XProgressHandler.idl> + +module com { module sun { module star { module ucb { + + /* This service implements an <type>XCommandEnvironment</type> that can be + initialized with any implementation of + <type scope="com::sun::star::task">XInteractionHandler</type> and + <type scope="com::sun::star::ucb">XProgressHandler</type>. The respective + get methods will simply return these handlers. + + @since OOo 3.3 + */ + published service CommandEnvironment : ::com::sun::star::ucb::XCommandEnvironment + { + //------------------------------------------------------------------------- + /** Constructor. + + @param InteractionHandler the interaction handler instance that will be + returned by this service' implementation of + <method>XCommandEnvironemt::getInteractionHandler</method> + + @param ProgressHandler the progress handler instance that will be + returned by this service' implementation of + <method>XCommandEnvironemt::getProgressHandler</method> + */ + create( [in] com::sun::star::task::XInteractionHandler InteractionHandler, + [in] com::sun::star::ucb::XProgressHandler ProgressHandler ); + }; + +};};};}; + +#endif diff --git a/offapi/com/sun/star/ucb/Content.idl b/offapi/com/sun/star/ucb/Content.idl index 7834c32ec..eef4f474e 100644 --- a/offapi/com/sun/star/ucb/Content.idl +++ b/offapi/com/sun/star/ucb/Content.idl @@ -1,7 +1,7 @@ /************************************************************************* * * 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 @@ -114,7 +114,7 @@ published service Content interface com::sun::star::lang::XComponent; //------------------------------------------------------------------------- - /** enables the caller to let the content execute commands. + /** enables the caller to let the content execute commands. <p>It is strongly recommended that any implementation supports the improved <type>XCommandProcessor2</type> interface.</p> @@ -137,7 +137,7 @@ published service Content [parameter type and name] ----------------------------------------------------------------------- - Requiered commands: + Mandatory commands: ----------------------------------------------------------------------- // This command obtains an interface which allows to query @@ -212,13 +212,13 @@ published service Content // Mode : ALL or FOLDERS or DOCUMENTS. The implementation // of the open command MUST support all these modes! // Priority : can be set, but implementation may ignore the value - // Sink : empty( ignored ) + // Sink : empty( ignored ) // Properties : The properties for that the result set shall // contain the property values. The order of the // sequence is the same as the order of result set // columns. First element of sequence will be row // number one, second will be row number two, ... - // SortingInfo : contains sort criteria, if result set shall + // SortingInfo : contains sort criteria, if result set shall // be sorted, otherwise it can be left empty. // // The exceution must be aborted by the implementation of this command @@ -236,12 +236,12 @@ published service Content // // Mode : DOCUMENT or DOCUMENT_SHARE_DENY_NONE or // DOCUMENT_SHARE_DENY_WRITE. Support for DOCUMENT - // is mandatory, all others are optional. + // is mandatory, all others are optional. // Priority : can be set, but implementation may ignore the value - // Sink : a sink, where the implementation can put the + // Sink : a sink, where the implementation can put the // document data into. // Properties : empty ( ignored ) - // SortingInfo : empty ( ignored ) + // SortingInfo : empty ( ignored ) // // The exceution must be aborted by the implementation of this command // (by throwing a <type>CommandAbortedException</type>), if an @@ -296,8 +296,8 @@ published service Content void // (1) This command inserts a new content. It commits the process of - // creating a new content via calling another content's method - // <member>XContentCreator::createNewContent</member> + // creating a new content via executing the command "createNewContent" + // and initializing it via setting properties, afterwards. // The command is not called on the content which created the new // content, because the new object already knows where it is to be // inserted (i.e. Calling createNewContent with the content type for a @@ -350,7 +350,7 @@ published service Content // Transfers without the transfer command can be done as follows: // // 1) Create a new content at the target folder - // --> targetContent = target.XContentCreator::createNewContent(...) + // --> targetContent = target.execute( "createNewContent", type ) // 2) Transfer data from source to target content // --> props = sourceContent.execute( "getPropertyValues", ... ) // --> dataStream = sourceContent.execute( "open", ... ) @@ -366,12 +366,57 @@ published service Content <B>transfer</B> <type>TransferInfo</type> aTransferInfo + // This command obtains an exlusive write lock for the resource. The + // lock is active until command "unlock" is executed or the OOo + // session that obtained the lock ends or until the lock is released by + // a third party (e.g. a system administrator). + void + <B>lock</B> + void + Exceptions: <type>InteractiveLockingLockedException</type> + <type>InteractiveLockingLockExpiredException</type> + + // This command removes a lock obtained by executing the command "lock" + // from the resource. + void + <B>unlock</B> + void + Exceptions: <type>InteractiveLockingNotLockedException</type> + <type>InteractiveLockingLockExpiredException</type> + + // Note that <type>InteractiveLockingLockExpiredException</type> might + // be raised by any command that requires a previously obtained lock. + + // This command creates a new non-persistent content of a given type. + // + // <p>Creation of a new (persistent) content: + // <ol> + // <li>creatabletypes = obtain "CreatableContentsInfo" property<br> + // from creator + // <li>choose a suitable type from creatabletypes + // <li>newObject = execute command "createNewContent(type)" at<br> + // creator + // <li>initialize the new object (i.e. newObject.Property1 = ...) + // <li>execute command "insert" at new content. This command + // commits the data and makes the new content persistent. + // </ol> + // + // This command must be supported by every Content that supports the + // property "CreatableContentsInfo" if the returned property value + // contains a non-empty sequence of creatable types. + // + // Note: This command is part of the replacement for the deprecated + // interface <type>XContentCreator</type>. + <type>XContent</type> > + <B>createNewContent</B> + <type>ContentInfo<type> contentinfo + ======================================================================= Properties: ======================================================================= ----------------------------------------------------------------------- - Requiered properties: + Mandatory properties: ----------------------------------------------------------------------- // contains a unique(!) type string for the content ( i.e. @@ -380,16 +425,16 @@ published service Content // content. Media types may be provided through the optional property // "MediaType". // The value of this property should match the information on creatable - // contents given by UCB contents that implement the interface - // <type>XContentCreator</type>. + // contents given by UCB contents that implement the property + // "CreatableContentsInfo". string ContentType // indicates, whether a content can contain other contents. - boolean IsFolder + boolean IsFolder // indicates, whether a content is a document. This means, the // content can dump itself into a data sink. - boolean IsDocument + boolean IsDocument // contains the title of an object (e.g. the subject of a message). string Title; @@ -570,7 +615,6 @@ published service Content </dt><dd>Show in new task </dd></dl> </p> - string TargetFrames // for contents that are links to other contents, contains the URL of @@ -586,6 +630,17 @@ published service Content // describes a verification policy. <type>VerificationMode</type> VerificationMode + + // contains the types of Contents a Content object can create via + // command "createNewContent". + // + // If the property value can be a non-empty sequence, the Content must + // also support command "createNewContent". + // + // Note: This property is part of the replacement for the deprecated + // interface <type>XContentCreator</type>. + sequence <type>ContentInfo</type> CreatableContentsInfo + </pre> */ interface com::sun::star::ucb::XCommandProcessor; @@ -603,7 +658,7 @@ published service Content [optional] interface com::sun::star::ucb::XCommandProcessor2; //------------------------------------------------------------------------- - /** notifies changes of property values to listeners registered for + /** notifies changes of property values to listeners registered for those properties. <p>This interface is required. @@ -611,11 +666,11 @@ published service Content interface com::sun::star::beans::XPropertiesChangeNotifier; //------------------------------------------------------------------------- - /** can be used to add new properties to the content and to remove + /** can be used to add new properties to the content and to remove properties from the content dynamically. <p>Note that the dynamic properties must be kept persistent. The - service <type>Store</type> (UCB persistence service) may be used to + service <type>Store</type> (UCB persistence service) may be used to implement this. <p><b>Important:</b> The implementation of @@ -667,7 +722,7 @@ published service Content [optional] interface com::sun::star::ucb::XCommandInfoChangeNotifier; //------------------------------------------------------------------------- - /** creates new contents (i.e. creates a new folder in another folder + /** creates new contents (i.e. creates a new folder in another folder somewhere in the local file system). <p>A content is "new", if it does not physically exist before creating @@ -675,11 +730,16 @@ published service Content <p>This interface is optional. It should be implemented by contents which shall be able to create new objects. + + @deprecated + + <p>This interface is <b>deprecated</b>. Use property + "CreatableContentsInfo" and command "createNewContent" instead. */ [optional] interface com::sun::star::ucb::XContentCreator; //------------------------------------------------------------------------- - /** provides access to the parent content of this content. + /** provides access to the parent content of this content. <p>The object returned by the implementation of the method <member scope="com::sun::star::container">XChild::getParent()</member> diff --git a/offapi/com/sun/star/ucb/InteractiveLockingException.idl b/offapi/com/sun/star/ucb/InteractiveLockingException.idl new file mode 100644 index 000000000..8d9635856 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveLockingException.idl @@ -0,0 +1,61 @@ +/************************************************************************* + * + * 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: $ + * $Revision: $ + * + * 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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_ucb_InteractiveLockingException_idl__ +#define __com_sun_star_ucb_InteractiveLockingException_idl__ + +#ifndef __com_sun_star_task_ClassifiedInteractionRequest_idl__ +#include <com/sun/star/task/ClassifiedInteractionRequest.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module ucb { + +//============================================================================= +/** An error related to locking operations. + + <p> Various meaningful errors are derived from this exception. </p> + + @since OOo 3.3 +*/ +/*published*/ exception InteractiveLockingException : com::sun::star::task::ClassifiedInteractionRequest +{ + //------------------------------------------------------------------------- + /** The Url of the resource this exception is related to. + */ + string Url; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl new file mode 100644 index 000000000..63ddfa58b --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveLockingLockExpiredException.idl @@ -0,0 +1,56 @@ +/************************************************************************* + * + * 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: $ + * $Revision: $ + * + * 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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_ucb_InteractiveLockingLockExpiredException_idl__ +#define __com_sun_star_ucb_InteractiveLockingLockExpiredException_idl__ + +#ifndef __com_sun_star_ucb_InteractiveLockingException_idl__ +#include <com/sun/star/ucb/InteractiveLockingException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module ucb { + +//============================================================================= +/** An error indicating that a lock that has been previously obtained by this + OOo session has expired. + + @since OOo 3.3 +*/ +/*published*/ exception InteractiveLockingLockExpiredException : com::sun::star::ucb::InteractiveLockingException +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl new file mode 100644 index 000000000..33f309ec0 --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveLockingLockedException.idl @@ -0,0 +1,62 @@ +/************************************************************************* + * + * 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: $ + * $Revision: $ + * + * 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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_ucb_InteractiveLockingLockedException_idl__ +#define __com_sun_star_ucb_InteractiveLockingLockedException_idl__ + +#ifndef __com_sun_star_ucb_InteractiveLockingException_idl__ +#include <com/sun/star/ucb/InteractiveLockingException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module ucb { + +//============================================================================= +/** An error indicating that the resource is locked. + + @since OOo 3.3 +*/ +/*published*/ exception InteractiveLockingLockedException : com::sun::star::ucb::InteractiveLockingException +{ + //------------------------------------------------------------------------- + /** The owner of the lock. + + <true/>, the lock has been obtained by this OOo session. + <false/> the lock has been obtained by another principal. + */ + boolean SelfOwned; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl new file mode 100644 index 000000000..88d587b4c --- /dev/null +++ b/offapi/com/sun/star/ucb/InteractiveLockingNotLockedException.idl @@ -0,0 +1,59 @@ +/************************************************************************* + * + * 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: $ + * $Revision: $ + * + * 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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_ucb_InteractiveLockingNotLockedException_idl__ +#define __com_sun_star_ucb_InteractiveLockingNotLockedException_idl__ + +#ifndef __com_sun_star_ucb_InteractiveLockingException_idl__ +#include <com/sun/star/ucb/InteractiveLockingException.idl> +#endif + + +//============================================================================= + +module com { module sun { module star { module ucb { + +//============================================================================= +/** An error indicating that the resource is not locked. + + <p>This error for instance can occure when trying to unlock a resource + that is not locked. + </p> + + @since OOo 3.3 +*/ +/*published*/ exception InteractiveLockingNotLockedException : com::sun::star::ucb::InteractiveLockingException +{ +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl b/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl index 1d8284a74..84d5f7d6c 100644 --- a/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl +++ b/offapi/com/sun/star/ucb/URLAuthenticationRequest.idl @@ -1,7 +1,7 @@ /************************************************************************* * * 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 @@ -37,11 +37,13 @@ //============================================================================= -module com { module sun { module star { module ucb { +module com { module sun { module star { module ucb { //============================================================================= /** An error specifing lack of correct authentication data (e.g., to log into an account). + + @since OOo 3.2 */ /*published*/ exception URLAuthenticationRequest : AuthenticationRequest { @@ -53,6 +55,6 @@ module com { module sun { module star { module ucb { //============================================================================= -}; }; }; }; +}; }; }; }; #endif diff --git a/offapi/com/sun/star/ucb/XContentCreator.idl b/offapi/com/sun/star/ucb/XContentCreator.idl index 1d144a70f..df0c89a1b 100644 --- a/offapi/com/sun/star/ucb/XContentCreator.idl +++ b/offapi/com/sun/star/ucb/XContentCreator.idl @@ -1,7 +1,7 @@ /************************************************************************* * * 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 @@ -52,12 +52,19 @@ module com { module sun { module star { module ucb { <p>Creation of a new (persistent) content: <ol> - <li>newObject = creator.createNewContent( ... ) + <li>creatabletypes = creator.queryCreatableContentsInfo() + <li>choose a suitable type from creatabletypes + <li>newObject = creator.createNewContent( type ) <li>initialize the new object (i.e. newObject.Property1 = ...) <li>let the new content execute the command "insert". That command commits the data and makes the new content persistent. </ol> + @deprecated + + <p>This interface is deprecated. Use <type>Content</type> property + "CreatableContentsInfo" and command "createNewContent" instead. + @version 1.0 @author Kai Sommerfeld @see XContent @@ -66,7 +73,7 @@ module com { module sun { module star { module ucb { published interface XContentCreator: com::sun::star::uno::XInterface { //------------------------------------------------------------------------- - /** returns a list with information about the creatable contents. + /** returns a list with information about the creatable contents. @returns the list with information about the creatable contents. @@ -74,13 +81,13 @@ published interface XContentCreator: com::sun::star::uno::XInterface sequence<com::sun::star::ucb::ContentInfo> queryCreatableContentsInfo(); //------------------------------------------------------------------------- - /** creates a new content of given type.. + /** creates a new content of given type. @param Info the content information. @returns - the new content, if operation was succesful. + the new content, if operation was successful. */ com::sun::star::ucb::XContent createNewContent( [in] com::sun::star::ucb::ContentInfo Info ); diff --git a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl index ea83af4fb..01241f108 100644 --- a/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl +++ b/offapi/com/sun/star/ucb/XInteractionSupplyAuthentication2.idl @@ -1,7 +1,7 @@ /************************************************************************* * * 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 @@ -38,13 +38,15 @@ //============================================================================= -module com { module sun { module star { module ucb { +module com { module sun { module star { module ucb { //============================================================================= /** An interaction continuation handing back some authentication data. - + <p> This continuation is typically used in conjunction with <type>AuthenticationRequest</type>. </p> + + @since OOo 3.2 */ /*published*/ interface XInteractionSupplyAuthentication2 : XInteractionSupplyAuthentication { @@ -53,7 +55,7 @@ module com { module sun { module star { module ucb { of the authentiction request. @param Default - Returns the default behavior for system credentials handling (to be + Returns the default behavior for system credentials handling (to be initially displayed to the user). @returns @@ -64,7 +66,7 @@ module com { module sun { module star { module ucb { //------------------------------------------------------------------------- /** Set a new 'use system credentials' value to hand back. - + @param UseSystemCredentials <true/> means the request issuer shall obtain and use system credentials. */ @@ -74,6 +76,6 @@ module com { module sun { module star { module ucb { //============================================================================= -}; }; }; }; +}; }; }; }; #endif diff --git a/offapi/com/sun/star/ucb/makefile.mk b/offapi/com/sun/star/ucb/makefile.mk index 19320b716..573453e55 100644 --- a/offapi/com/sun/star/ucb/makefile.mk +++ b/offapi/com/sun/star/ucb/makefile.mk @@ -1,7 +1,7 @@ #************************************************************************* # # 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 @@ -55,8 +55,10 @@ IDLFILES=\ CachedDynamicResultSetStub.idl\ CachedDynamicResultSetStubFactory.idl\ CHAOSProgressStart.idl\ + CertificateValidationRequest.idl\ Command.idl\ CommandAbortedException.idl\ + CommandEnvironment.idl\ CommandFailedException.idl\ CommandInfo.idl\ CommandInfoChange.idl\ @@ -122,6 +124,10 @@ IDLFILES=\ InteractiveCHAOSException.idl\ InteractiveFileIOException.idl\ InteractiveIOException.idl\ + InteractiveLockingException.idl\ + InteractiveLockingLockedException.idl\ + InteractiveLockingLockExpiredException.idl\ + InteractiveLockingNotLockedException.idl\ InteractiveNetworkConnectException.idl\ InteractiveNetworkException.idl\ InteractiveNetworkGeneralException.idl\ @@ -264,8 +270,7 @@ IDLFILES=\ XSimpleFileAccess3.idl\ XSortedDynamicResultSetFactory.idl\ XSourceInitialization.idl\ - XWebDAVCommandEnvironment.idl \ - CertificateValidationRequest.idl + XWebDAVCommandEnvironment.idl # ------------------------------------------------------------------ diff --git a/offapi/com/sun/star/ui/ItemStyle.idl b/offapi/com/sun/star/ui/ItemStyle.idl index 1243c6795..d9874ce9d 100644 --- a/offapi/com/sun/star/ui/ItemStyle.idl +++ b/offapi/com/sun/star/ui/ItemStyle.idl @@ -127,6 +127,7 @@ constants ItemStyle /** specifies if an icon is placed on left side of the text, like an entry in a taskbar. <p>This style is only valid if the item describes a toolbar item and visible if style of the toolbar is set to symboltext.</p> + <p> This style can also be used for custom toolbars and menus, in a custom toolbar an item's Style setting can used to override the toolbar container setting, the style can be bitwise OR-ed with <member scope="::com::sun::star::ui::ItemStyle">TEXT</member> to define text, text+icon or icon only is to be displayed. Similarly for menu items, an items Style can override the application setting to display either text or icon ( note: for menu an icon only setting interpreted as icon+text ) </p> */ const short ICON = 128; @@ -149,6 +150,10 @@ constants ItemStyle <p>This style is only valid if the item describes a toolbar item.</p> */ const short DROPDOWN_ONLY = 1024; + /** indicates if icon, text or text+icon is displayed for the item. + <p> This style can be used for custom toolbars and menus, in a custom toolbar an item's Style setting can used to override the toolbar container setting, the style can be bitwise OR-ed with <member scope="com::sun::star::ui::ItemStyle">ICON</member> to define text, text+icon or icon only is to be displayed. Similarly for menu items, an items Style can override the application setting to display either text or icon ( note: for menu an icon only setting interpreted as icon+text ) </p> + */ + const short TEXT = 2048; }; }; }; }; }; diff --git a/offapi/com/sun/star/view/DuplexMode.idl b/offapi/com/sun/star/view/DuplexMode.idl new file mode 100644 index 000000000..d93fd4544 --- /dev/null +++ b/offapi/com/sun/star/view/DuplexMode.idl @@ -0,0 +1,69 @@ +/************************************************************************* + * + * 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: PaperFormat.idl,v $ + * $Revision: 1.7 $ + * + * 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 + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_view_DuplexMode_idl__ +#define __com_sun_star_view_DuplexMode_idl__ + + +//============================================================================= + +module com { module sun { module star { module view { + +//============================================================================= + +/** These constants specify available duplex modes + */ +constants DuplexMode +{ + //------------------------------------------------------------------------- + /** specifies an unknown duplex mode. + */ + const short UNKNOWN = 0; + + //------------------------------------------------------------------------- + /** specifies that there is no duplex mode enabled + */ + const short OFF = 1; + + //------------------------------------------------------------------------- + /** specifies a long edge duplex mode + */ + const short LONGEDGE = 2; + + //------------------------------------------------------------------------- + /** specifies a short edge duplex mode + */ + const short SHORTEDGE = 3; +}; + +//============================================================================= + +}; }; }; }; + +#endif diff --git a/offapi/com/sun/star/view/PrintOptions.idl b/offapi/com/sun/star/view/PrintOptions.idl index fb24a55ab..a37807c7f 100644 --- a/offapi/com/sun/star/view/PrintOptions.idl +++ b/offapi/com/sun/star/view/PrintOptions.idl @@ -29,7 +29,7 @@ ************************************************************************/ #ifndef __com_sun_star_view_PrintOptions_idl__ #define __com_sun_star_view_PrintOptions_idl__ - + //============================================================================= @@ -84,7 +84,14 @@ published service PrintOptions @attention Using of this property with TRUE as value is highly reommended. Otherwhise following actions (as e.g. closing the corresponding model) can fail. */ - [optional, property] boolean Wait; + [optional, property] boolean Wait; + + //------------------------------------------------------------------------- + /** determines the duplex mode for the print job. + + @see <type>DuplexMode</type> for more information about supported values + */ + [optional, property] short DuplexMode; }; //============================================================================= diff --git a/offapi/com/sun/star/view/XFormLayerAccess.idl b/offapi/com/sun/star/view/XFormLayerAccess.idl index f8a25175b..c55b3eb23 100644 --- a/offapi/com/sun/star/view/XFormLayerAccess.idl +++ b/offapi/com/sun/star/view/XFormLayerAccess.idl @@ -37,8 +37,8 @@ #ifndef __com_sun_star_form_XForm_idl__ #include <com/sun/star/form/XForm.idl> #endif -#ifndef __com_sun_star_form_XFormController_idl__ -#include <com/sun/star/form/XFormController.idl> +#ifndef __com_sun_star_form_runtime_XFormController_idl__ +#include <com/sun/star/form/runtime/XFormController.idl> #endif #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ #include <com/sun/star/lang/IllegalArgumentException.idl> @@ -73,10 +73,10 @@ interface XFormLayerAccess @see isDesignMode @see setDesignMode - @see ::com::sun::star::form::FormController + @see ::com::sun::star::form::runtime::FormController @see ::com::sun::star::form::runtime::FormOperations */ - ::com::sun::star::form::XFormController + ::com::sun::star::form::runtime::XFormController getFormController( [in] ::com::sun::star::form::XForm Form ); diff --git a/offapi/com/sun/star/view/makefile.mk b/offapi/com/sun/star/view/makefile.mk index 04dbdc77a..1db50d0ec 100644 --- a/offapi/com/sun/star/view/makefile.mk +++ b/offapi/com/sun/star/view/makefile.mk @@ -73,7 +73,8 @@ IDLFILES=\ XPrintJobBroadcaster.idl\ XPrintJobListener.idl\ XMultiSelectionSupplier.idl\ - SelectionType.idl + SelectionType.idl\ + DuplexMode.idl # ------------------------------------------------------------------ diff --git a/offapi/util/makefile.mk b/offapi/util/makefile.mk index d3157dac3..34fde4014 100644 --- a/offapi/util/makefile.mk +++ b/offapi/util/makefile.mk @@ -180,12 +180,12 @@ $(OUT)$/ucrdoc$/types_doc.db : $(OUT)$/ucrdoc$/offapi_doc.db $(SOLARBINDIR)$/udk #JSC: i have removed the doc rdb because all type information is already in the # types.rdb, even the service and singleton type info. IDL docu isn't checked. $(REGISTRYCHECKFLAG) : $(UCR)$/types.db $(OUT)$/ucrdoc$/types_doc.db - $(REGCOMPARE) -f -t -r1 $(REFERENCE_RDB) -r2 $(UCR)$/types.db \ + $(COMMAND_ECHO)$(REGCOMPARE) -f -t -r1 $(REFERENCE_RDB) -r2 $(UCR)$/types.db \ && echo > $(REGISTRYCHECKFLAG) #JSC: new target to prepare some UNO type statistics, the ouput will be later used # for versioning of UNO cli type libraries $(UNOTYPE_STATISTICS) : $(REGISTRYCHECKFLAG) - $(AUGMENT_LIBRARY_PATH) $(PERL) checknewapi.pl $(UCR)$/types.db $(REFERENCE_RDB) "$(RSCREVISION)" "$(REGVIEWTOOL)" > $@ + $(COMMAND_ECHO)$(AUGMENT_LIBRARY_PATH) $(PERL) checknewapi.pl $(UCR)$/types.db $(REFERENCE_RDB) "$(RSCREVISION)" "$(REGVIEWTOOL)" > $@ .INCLUDE : target.mk |