summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl
blob: 5ef61f5083eb2cda557913b83360461e9086f40c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   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 .
 */

#ifndef __com_sun_star_sheet_DataPilotSourceDimension_idl__
#define __com_sun_star_sheet_DataPilotSourceDimension_idl__

#include <com/sun/star/container/XNamed.idl>
#include <com/sun/star/sheet/XHierarchiesSupplier.idl>
#include <com/sun/star/util/XCloneable.idl>
#include <com/sun/star/beans/XPropertySet.idl>
#include <com/sun/star/sheet/DataPilotFieldOrientation.idl>
#include <com/sun/star/sheet/GeneralFunction.idl>
#include <com/sun/star/sheet/TableFilterField.idl>


 module com {  module sun {  module star {  module sheet {


/** represents a dimension in a data pilot source.

    <p>A dimension is equivalent to a column of a cell range in a spreadsheet
    used for a data pilot field.</p>

    <p>In more complex data sources, a dimension may contain several
    hierarchies, which consolidate items of a complex data type, called
    levels.</p>

    <p>Example: In a database, a column contains date values. This column
    will be a dimension of the data pilot source. One hierarchy may contain
    the 3 levels year, month, day. Another hierarchy may contain the 2 levels
    year and week number.</p>

    @see com::sun::star::sheet::DataPilotSource
    @see com::sun::star::sheet::DataPilotTable
 */
service DataPilotSourceDimension
{

    /** provides access to the name of the dimension, i.e. used in
        collections.
     */
    interface com::sun::star::container::XNamed;


    /** provides access to the collection of hierarchies of this dimension.
     */
    interface com::sun::star::sheet::XHierarchiesSupplier;


    /** supports duplicating the dimension.

        <p>A dimension may be used several times in a data pilot table,
        i.e. as row field and data field.</p>
     */
    interface com::sun::star::util::XCloneable;


//!published service PropertySet
    /** provides access to the properties.
     */
    interface com::sun::star::beans::XPropertySet;


    /** returns the name of the dimension from which this dimension was
        cloned, or `NULL` if it was not cloned.
     */
    [readonly, property] com::sun::star::container::XNamed Original;


    /** contains `TRUE` if this is the dimension used to layout the
        different data dimensions.
     */
    [readonly, property] boolean IsDataLayoutDimension;


    /** specifies where the dimension is used.
     */
    [property] com::sun::star::sheet::DataPilotFieldOrientation Orientation;


    /** specifies the position of the dimension within its orientation.
     */
    [property] long Position;


    /** specifies how data are aggregated.
     */
    [property] com::sun::star::sheet::GeneralFunction Function;


    /** specifies which hierarchy of the dimension is used.

        @see com::sun::star::sheet::DataPilotSourceHierarchies
     */
    [property] long UsedHierarchy;


    /** specifies which values are used.
     */
    [property] sequence< com::sun::star::sheet::TableFilterField > Filter;


    /** contains flags that control the usage of the dimension.

        @see com::sun::star::sheet::DimensionFlags
     */
    [readonly, property, optional] long Flags;


    /** specifies how data are aggregated.
        @since LibreOffice 5.3
     */
    [property, optional] short Function2;

};


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */