/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef __com_sun_star_form_runtime_FormFeature_idl__ #define __com_sun_star_form_runtime_FormFeature_idl__ //============================================================================= module com { module sun { module star { module form { module runtime { //============================================================================= /** specifies the operations on a user interface form, as supported by the XFormOperations interface. @since OpenOffice 2.2 */ constants FormFeature { /** moves the form to a record given by absolute position.

This operation cannot be executed without arguments. When executing it (i.e. when calling XFormOperations::executeWithArguments), you need to specify a parameter named Position of type long, which denotes the position to move the form to.

*/ const short MoveAbsolute = 1; /** determines the number of total records in the form, including the potentially active insertion row.

This is not strictly an operation you can do on a form, but rather a state you can retrieve (and display to the user) using the XFormOperations' respective methods.

The state obtained here is a string, not a number. This is because in an UI form, the fact that the current record count is not yet known (since not all records have been visited, yet) is indicated by an asterik (*) besides the record count.

*/ const short TotalRecords = 2; /// moves the form to the first record const short MoveToFirst = 3; /// moves the form to the record before the current record, if there is any const short MoveToPrevious = 4; /// moves the form to the record after the current record, if there is any const short MoveToNext = 5; /// moves the form to the last record const short MoveToLast = 6; /// moves the form to the insertion row, if privileges allow const short MoveToInsertRow = 7; /** saves all changes in the form's current record, including changes in the current control which had not yet been committed to the form */ const short SaveRecordChanges = 8; /** revertsall changes in the form's current record, including changes in the current control which had not yet been committed to the form */ const short UndoRecordChanges = 9; /** deletes the current record, while honoring any registered XConfirmDeleteListeners */ const short DeleteRecord = 10; /// reloads the form content const short ReloadForm = 11; /// sorts the form ascending by the field which the active form control is bound to. const short SortAscending = 12; /// sorts the form descending by the field which the active form control is bound to. const short SortDescending = 13; /// opens a dialog which allows the user to interactively specify a form sorting order const short InteractiveSort = 14; /** adds a filter to the form, which is defined by the active form control and its current value

For instance, if the currently active form control is bound to a table field named Price, and currently has a value of 100, then invoking the AutoFilter operation will put an additional filter Price = 100 on the form.

*/ const short AutoFilter = 15; /// opens a dialog which allows the user to interactively specify a form filter const short InteractiveFilter = 16; /** toggles the RowSet::ApplyFilter property of a the form. */ const short ToggleApplyFilter = 17; /** removes all filter and sort criterions put on the form.

Note that this does not apply to criterios which are part of the form's data source. That is, if you bind the form to the SQL command SELECT * FROM Articles WHERE Price > 100, then the Price > 100 filter will not be removed.

Effectively, this operation resets the RowSet::Filter and RowSet::Order properties of the form.

*/ const short RemoveFilterAndSort = 18; /** refreshs the current control

Basically, this means calling XRefreshable::refresh on the current control, if it supports this interface.

@since OpenOffice 3.1 */ const short RefreshCurrentControl = 19; }; //============================================================================= }; }; }; }; }; //============================================================================= #endif