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#ifndef __com_sun_star_sheet_DatabaseRange_idl__
28#define __com_sun_star_sheet_DatabaseRange_idl__
29
30#ifndef __com_sun_star_sheet_XDatabaseRange_idl__
31#include <com/sun/star/sheet/XDatabaseRange.idl>
32#endif
33
34#ifndef __com_sun_star_sheet_XCellRangeReferrer_idl__
35#include <com/sun/star/sheet/XCellRangeReferrer.idl>
36#endif
37
38#ifndef __com_sun_star_beans_XPropertySet_idl__
39#include <com/sun/star/beans/XPropertySet.idl>
40#endif
41
42#ifndef __com_sun_star_container_XNamed_idl__
43#include <com/sun/star/container/XNamed.idl>
44#endif
45
46#ifndef __com_sun_star_util_XRefreshable_idl__
47#include <com/sun/star/util/XRefreshable.idl>
48#endif
49
50#ifndef __com_sun_star_table_CellRangeAddress_idl__
51#include <com/sun/star/table/CellRangeAddress.idl>
52#endif
53
54
55//=============================================================================
56
57 module com {  module sun {  module star {  module sheet {
58
59//=============================================================================
60
61/** represents a database range in a spreadsheet document.
62
63	<p>A database range is a name for a cell range that also stores filtering,
64	sorting, subtotal and data import settings and options.</p>
65
66	@see com::sun::star::sheet::DatabaseRanges
67 */
68published service DatabaseRange
69{
70	// DocMerge: empty anyway
71	interface com::sun::star::sheet::XDatabaseRange;
72
73	// DocMerge: empty anyway
74	interface com::sun::star::sheet::XCellRangeReferrer;
75
76	// DocMerge: empty anyway
77	interface com::sun::star::beans::XPropertySet;
78
79	// DocMerge: empty anyway
80	interface com::sun::star::container::XNamed;
81
82	[optional] interface com::sun::star::util::XRefreshable;
83
84	//-------------------------------------------------------------------------
85
86	// DocMerge from xml: property com::sun::star::sheet::DatabaseRange::MoveCells
87	/** if this property is set, columns or rows are inserted or deleted
88		when the size of the range is changed by an update operation.
89	 */
90	[property] boolean MoveCells;
91
92	//-------------------------------------------------------------------------
93
94	// DocMerge from xml: property com::sun::star::sheet::DatabaseRange::KeepFormats
95	/** if this property is set, cell formats are extended
96		when the size of the range is changed by an update operation.
97	 */
98	[property] boolean KeepFormats;
99
100	//-------------------------------------------------------------------------
101
102	// DocMerge from xml: property com::sun::star::sheet::DatabaseRange::StripData
103	/** if this property is set, the cell contents within the database
104		range are left out when the document is saved.
105	 */
106	[property] boolean StripData;
107
108	//-------------------------------------------------------------------------
109
110	/** specifies whether the AutoFilter is enabled or not.
111
112		@since OOo 1.1.2
113	 */
114	[optional, property] boolean AutoFilter;
115
116	//-------------------------------------------------------------------------
117
118	/** specifies whether the filter criteria should be taken from a CellRange.
119
120		@since OOo 1.1.2
121	 */
122	[optional, property] boolean UseFilterCriteriaSource;
123
124	//-------------------------------------------------------------------------
125
126	/** specifies the range where the filter can find the filter criterias.
127		<p>This is only used if <member>SheetFilterDescriptor::UseFilterCriteriaSource</member> is <TRUE/>.</p>
128
129		@since OOo 1.1.2
130	 */
131	[optional, property] com::sun::star::table::CellRangeAddress FilterCriteriaSource;
132
133	//-------------------------------------------------------------------------
134
135	/** specifies the time between two refresh actions in seconds.
136
137		@since OOo 2.0
138	 */
139	[optional, property] long RefreshPeriod;
140
141	//-------------------------------------------------------------------------
142
143	/** specifies whether the imported data is only a selection of the database.
144
145		@since OOo 2.0
146	 */
147	[optional, property] boolean FromSelection;
148
149    //-------------------------------------------------------------------------
150
151    /** returns the index used to refer to this range in token arrays.
152
153        <p>A token describing a database range shall contain the op-code
154        obtained from the <const>FormulaMapGroupSpecialOffset::DB_AREA</const>
155        and this index as data part.</p>
156
157        @see com::sun::star::sheet::FormulaToken
158        @see com::sun::star::sheet::FormulaMapGroupSpecialOffset::DB_AREA
159
160        @since OOo 3.0
161     */
162    [optional, readonly, property] long TokenIndex;
163};
164
165//=============================================================================
166
167}; }; }; };
168
169/*=============================================================================
170
171=============================================================================*/
172#endif
173