bump product version to 4.1.6.2
[LibreOffice.git] / offapi / com / sun / star / form / runtime / FormFeature.idl
blob62122000f13d575089d4e286fddd40dd144a0db8
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /**
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef __com_sun_star_form_runtime_FormFeature_idl__
21 #define __com_sun_star_form_runtime_FormFeature_idl__
24 module com { module sun { module star { module form { module runtime {
27 /** specifies the operations on a user interface form, as supported by the
28 <type>XFormOperations</type> interface.
30 @since OOo 2.2
32 constants FormFeature
34 /** moves the form to a record given by absolute position.
36 <p>This operation cannot be executed without arguments. When executing it (i.e.
37 when calling <member scope="com::sun::star::form::runtime">XFormOperations::executeWithArguments</member>),
38 you need to specify a parameter named <em>Position</em> of type <code>long</code>, which
39 denotes the position to move the form to.</p>
41 const short MoveAbsolute = 1;
43 /** determines the number of total records in the form,
44 including the potentially active insertion row.
46 <p>This is not strictly an operation you can do on a form, but rather a
47 state you can retrieve (and display to the user) using the <type>XFormOperations</type>'s
48 respective methods.</p>
50 <p>The state obtained here is a string, not a number. This is because in an UI
51 form, the fact that the current record count is not yet known (since not all
52 records have been visited, yet) is indicated by an asterisk (<code>*</code>) besides
53 the record count.</p>
55 const short TotalRecords = 2;
57 /// moves the form to the first record
58 const short MoveToFirst = 3;
60 /// moves the form to the record before the current record, if there is any
61 const short MoveToPrevious = 4;
63 /// moves the form to the record after the current record, if there is any
64 const short MoveToNext = 5;
66 /// moves the form to the last record
67 const short MoveToLast = 6;
69 /// moves the form to the insertion row, if privileges allow
70 const short MoveToInsertRow = 7;
72 /** saves all changes in the form's current record, including changes in the current
73 control which had not yet been committed to the form
75 const short SaveRecordChanges = 8;
77 /** reverts all changes in the form's current record, including changes in the current
78 control which had not yet been committed to the form
80 const short UndoRecordChanges = 9;
82 /** deletes the current record, while honoring any registered
83 <type scope="com::sun::star::form">XConfirmDeleteListener</type>s
85 const short DeleteRecord = 10;
87 /// reloads the form content
88 const short ReloadForm = 11;
90 /// sorts the form ascending by the field which the active form control is bound to.
91 const short SortAscending = 12;
93 /// sorts the form descending by the field which the active form control is bound to.
94 const short SortDescending = 13;
96 /// opens a dialog which allows the user to interactively specify a form sorting order
97 const short InteractiveSort = 14;
99 /** adds a filter to the form, which is defined by the active form control and its
100 current value
102 <p>For instance, if the currently active form control is bound to a table field
103 named <code>Price</code>, and currently has a value of <code>100</code>, then invoking
104 the <code>AutoFilter</code> operation will put an additional filter <code>Price = 100</code>
105 on the form.</p>
107 const short AutoFilter = 15;
109 /// opens a dialog which allows the user to interactively specify a form filter
110 const short InteractiveFilter = 16;
112 /** toggles the <member scope="com::sun::star::sdb">RowSet::ApplyFilter</member> property
113 of a the form.
115 const short ToggleApplyFilter = 17;
117 /** removes all filter and sort criteria put on the form.
119 <p>Note that this does not apply to criteria which are part of the form's
120 data source. That is, if you bind the form to the SQL command <code>SELECT * FROM
121 Articles WHERE Price &gt; 100</code>, then the <code>Price &gt; 100</code> filter
122 will not be removed.</p>
124 <p>Effectively, this operation resets the <member scope="com::sun::star::sdb">RowSet::Filter</member>
125 and <member scope="com::sun::star::sdb">RowSet::Order</member> properties of the form.</p>
127 const short RemoveFilterAndSort = 18;
129 /** refreshes the current control
131 <p>Basically, this means calling XRefreshable::refresh on the current control, if it supports
132 this interface.</p>
134 @since OOo 3.1
136 const short RefreshCurrentControl = 19;
140 }; }; }; }; };
143 #endif
145 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */