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_sheet_XDataPilotDescriptor_idl__
29#define __com_sun_star_sheet_XDataPilotDescriptor_idl__
30
31#ifndef __com_sun_star_container_XNamed_idl__
32#include <com/sun/star/container/XNamed.idl>
33#endif
34
35#ifndef __com_sun_star_table_CellRangeAddress_idl__
36#include <com/sun/star/table/CellRangeAddress.idl>
37#endif
38
39#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
40#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
41#endif
42
43#ifndef __com_sun_star_container_XIndexAccess_idl__
44#include <com/sun/star/container/XIndexAccess.idl>
45#endif
46
47//=============================================================================
48
49module com {  module sun {  module star {  module sheet {
50
51//=============================================================================
52
53/** provides access to the layout settings of a data pilot table.
54
55	<p>This interface extends the interface
56	<type scope="com::sun::star::container">XNamed</type> which provides
57    access to the name of the data pilot table used e.g. in collections.</p>
58
59	@see com::sun::star::sheet::DataPilotDescriptor
60	@see com::sun::star::sheet::DataPilotTable
61 */
62published interface XDataPilotDescriptor: com::sun::star::container::XNamed
63{
64	//-------------------------------------------------------------------------
65
66	/** returns an additional string stored in the data pilot table.
67	 */
68	string getTag();
69
70	//-------------------------------------------------------------------------
71
72	/** sets an additional string stored in the data pilot table.
73	 */
74	void setTag( [in] string aTag );
75
76	//-------------------------------------------------------------------------
77
78	/** returns the cell range containing the data for the data pilot table.
79	 */
80	com::sun::star::table::CellRangeAddress getSourceRange();
81
82	//-------------------------------------------------------------------------
83
84	/** sets the cell range containing the data for the data pilot table.
85	 */
86	void setSourceRange(
87			[in] com::sun::star::table::CellRangeAddress aSourceRange );
88
89	//-------------------------------------------------------------------------
90
91	/** returns the filter descriptor specifying which data from the
92		source cell range are used for the data pilot table.
93	 */
94	com::sun::star::sheet::XSheetFilterDescriptor getFilterDescriptor();
95
96	//-------------------------------------------------------------------------
97
98	/** returns the collection of all the data pilot fields.
99	 */
100	com::sun::star::container::XIndexAccess getDataPilotFields();
101
102	//-------------------------------------------------------------------------
103
104	/** returns the collection of the data pilot fields used as column fields.
105
106		@see com::sun::star::sheet::DataPilotFields
107	 */
108	com::sun::star::container::XIndexAccess getColumnFields();
109
110	//-------------------------------------------------------------------------
111
112	/** returns the collection of the data pilot fields used as row fields.
113
114		@see com::sun::star::sheet::DataPilotFields
115	 */
116	com::sun::star::container::XIndexAccess getRowFields();
117
118	//-------------------------------------------------------------------------
119
120	/** returns the collection of the data pilot fields used as page fields.
121
122		@see com::sun::star::sheet::DataPilotFields
123	 */
124	com::sun::star::container::XIndexAccess getPageFields();
125
126	//-------------------------------------------------------------------------
127
128	/** returns the collection of the data pilot fields used as data fields.
129
130		@see com::sun::star::sheet::DataPilotFields
131	 */
132	com::sun::star::container::XIndexAccess getDataFields();
133
134	//-------------------------------------------------------------------------
135
136	/** returns the collection of the data pilot fields not used as
137		column, row, page, or data fields.
138
139		@see com::sun::star::sheet::DataPilotFields
140	 */
141	com::sun::star::container::XIndexAccess getHiddenFields();
142
143};
144
145//=============================================================================
146
147}; }; }; };
148
149#endif
150
151