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_SubTotalDescriptor_idl__
29#define __com_sun_star_sheet_SubTotalDescriptor_idl__
30
31#ifndef __com_sun_star_sheet_XSubTotalDescriptor_idl__
32#include <com/sun/star/sheet/XSubTotalDescriptor.idl>
33#endif
34
35#ifndef __com_sun_star_beans_XPropertySet_idl__
36#include <com/sun/star/beans/XPropertySet.idl>
37#endif
38#ifndef __com_sun_star_container_XEnumerationAccess_idl__
39#include <com/sun/star/container/XEnumerationAccess.idl>
40#endif
41#ifndef __com_sun_star_container_XIndexAccess_idl__
42#include <com/sun/star/container/XIndexAccess.idl>
43#endif
44
45//=============================================================================
46
47module com {  module sun {  module star {  module sheet {
48
49//=============================================================================
50
51/** represents a description of how subtotals are created.
52
53	<p>The descriptor contains properties and a collection of subtotal fields
54	which control the behaviour of operation.</p>
55 */
56published service SubTotalDescriptor
57{
58	//-------------------------------------------------------------------------
59
60	/** provides access to the collection of subtotal fields.
61	 */
62	interface com::sun::star::sheet::XSubTotalDescriptor;
63
64	//-------------------------------------------------------------------------
65
66	/** creates an enumeration of all sub total fields.
67
68		@see com::sun::star::sheet::SubTotalFieldsEnumeration
69	 */
70	interface com::sun::star::container::XEnumerationAccess;
71
72	//-------------------------------------------------------------------------
73
74	/** provides access to the sub total fields in the collection via index.
75	 */
76	interface com::sun::star::container::XIndexAccess;
77
78	//-------------------------------------------------------------------------
79
80//!published service PropertySet
81	/** procides access to the properties.
82	 */
83	interface com::sun::star::beans::XPropertySet;
84
85	//=========================================================================
86
87	/** specifies if page breaks are inserted after each group change.
88	 */
89	[property] boolean InsertPageBreaks;
90
91	//-------------------------------------------------------------------------
92
93	/** specifies if the case of letters is important when comparing entries.
94	 */
95	[property] boolean IsCaseSensitive;
96
97	//-------------------------------------------------------------------------
98
99	/** specifies if a user defined sorting list is used.
100	 */
101	[property] boolean EnableUserSortList;
102
103	//-------------------------------------------------------------------------
104
105	/** specifies which user defined sorting list is used.
106
107		<p>This property is only used if
108		<member>SubTotalDescriptor::EnableUserSortList</member>
109		is <TRUE/>.</p>
110	 */
111	[property] long UserSortListIndex;
112
113	//-------------------------------------------------------------------------
114
115	/** specifies if cell formats are moved with the contents they belong to.
116	 */
117	[property] boolean BindFormatsToContent;
118
119	//-------------------------------------------------------------------------
120
121	/** specifies if the contents of the fields will be sorted to groups
122		while performing a subtotal operation.
123	 */
124	[property] boolean EnableSort;
125
126	//-------------------------------------------------------------------------
127
128	/** specifies the sorting order if
129		<member>SubTotalDescriptor::EnableSort</member> is set to <TRUE/>.
130	 */
131	[property] boolean SortAscending;
132
133	//-------------------------------------------------------------------------
134
135	/** returns the maximum number of subtotal fields the descriptor can
136		hold.
137
138		<p>This read-only property indicates the maximum count of fields the
139		current implementation supports.</p>
140	 */
141	[readonly, property] long MaxFieldCount;
142
143};
144
145//=============================================================================
146
147}; }; }; };
148
149#endif
150
151