1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28#ifndef __com_sun_star_form_runtime_FormFeature_idl__ 29#define __com_sun_star_form_runtime_FormFeature_idl__ 30 31//============================================================================= 32 33module com { module sun { module star { module form { module runtime { 34 35//============================================================================= 36 37/** specifies the operations on a user interface form, as supported by the 38 <type>XFormOperations</type> interface. 39 40 @since OOo 2.2 41*/ 42constants FormFeature 43{ 44 /** moves the form to a record given by absolute position. 45 46 <p>This operation cannot be executed without arguments. When executing it (i.e. 47 when calling <member scope="com::sun::star::form::runtime">XFormOperations::executeWithArguments</member>), 48 you need to specify a parameter named <em>Position</em> of type <code>long</code>, which 49 denotes the position to move the form to.</p> 50 */ 51 const short MoveAbsolute = 1; 52 53 /** determines the number of total records in the form, 54 including the potentially active insertion row. 55 56 <p>This is not strictly an operation you can do on a form, but rather a 57 state you can retrieve (and display to the user) using the <type>XFormOperations</type>' 58 respective methods.</p> 59 60 <p>The state obtained here is a string, not a number. This is because in an UI 61 form, the fact that the current record count is not yet known (since not all 62 records have been visited, yet) is indicated by an asterik (<code>*</code>) besides 63 the record count.</p> 64 */ 65 const short TotalRecords = 2; 66 67 /// moves the form to the first record 68 const short MoveToFirst = 3; 69 70 /// moves the form to the record before the current record, if there is any 71 const short MoveToPrevious = 4; 72 73 /// moves the form to the record after the current record, if there is any 74 const short MoveToNext = 5; 75 76 /// moves the form to the last record 77 const short MoveToLast = 6; 78 79 /// moves the form to the insertion row, if privileges allow 80 const short MoveToInsertRow = 7; 81 82 /** saves all changes in the form's current record, including changes in the current 83 control which had not yet been committed to the form 84 */ 85 const short SaveRecordChanges = 8; 86 87 /** revertsall changes in the form's current record, including changes in the current 88 control which had not yet been committed to the form 89 */ 90 const short UndoRecordChanges = 9; 91 92 /** deletes the current record, while honoring any registered 93 <type scope="com::sun::star::form">XConfirmDeleteListener</type>s 94 */ 95 const short DeleteRecord = 10; 96 97 /// reloads the form content 98 const short ReloadForm = 11; 99 100 /// sorts the form ascending by the field which the active form control is bound to. 101 const short SortAscending = 12; 102 103 /// sorts the form descending by the field which the active form control is bound to. 104 const short SortDescending = 13; 105 106 /// opens a dialog which allows the user to interactively specify a form sorting order 107 const short InteractiveSort = 14; 108 109 /** adds a filter to the form, which is defined by the active form control and its 110 current value 111 112 <p>For instance, if the currently active form control is bound to a table field 113 named <code>Price</code>, and currently has a value of <code>100</code>, then invoking 114 the <code>AutoFilter</code> operation will put an additional filter <code>Price = 100</code> 115 on the form.</p> 116 */ 117 const short AutoFilter = 15; 118 119 /// opens a dialog which allows the user to interactively specify a form filter 120 const short InteractiveFilter = 16; 121 122 /** toggles the <member scope="com::sun::star::sdb">RowSet::ApplyFilter</member> property 123 of a the form. 124 */ 125 const short ToggleApplyFilter = 17; 126 127 /** removes all filter and sort criterions put on the form. 128 129 <p>Note that this does not apply to criterios which are part of the form's 130 data source. That is, if you bind the form to the SQL command <code>SELECT * FROM 131 Articles WHERE Price > 100</code>, then the <code>Price > 100</code> filter 132 will not be removed.</p> 133 134 <p>Effectively, this operation resets the <member scope="com::sun::star::sdb">RowSet::Filter</member> 135 and <member scope="com::sun::star::sdb">RowSet::Order</member> properties of the form.</p> 136 */ 137 const short RemoveFilterAndSort = 18; 138 139 /** refreshs the current control 140 141 <p>Basically, this means calling XRefreshable::refresh on the current control, if it supports 142 this interface.</p> 143 144 @since OOo 3.1 145 */ 146 const short RefreshCurrentControl = 19; 147}; 148 149//============================================================================= 150 151}; }; }; }; }; 152 153//============================================================================= 154 155#endif 156