1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef __com_sun_star_sheet_XDataPilotTable2_idl__
21 #define __com_sun_star_sheet_XDataPilotTable2_idl__
23 #include
<com
/sun
/star
/uno
/XInterface.idl
>
24 #include
<com
/sun
/star
/table
/CellAddress.idl
>
25 #include
<com
/sun
/star
/table
/CellRangeAddress.idl
>
26 #include
<com
/sun
/star
/sheet
/XDataPilotTable.idl
>
27 #include
<com
/sun
/star
/sheet
/DataPilotOutputRangeType.idl
>
28 #include
<com
/sun
/star
/sheet
/DataPilotFieldFilter.idl
>
29 #include
<com
/sun
/star
/sheet
/DataPilotTablePositionData.idl
>
30 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
32 module com
{ module sun
{ module star
{ module sheet
{
34 /** additional methods to extend com::sun::star::sheet::XDataPilotTable.
36 com::sun::star::sheet::XDataPilotTable2 extends the old
37 com::sun::star::sheet::XDataPilotTable interface with
40 @see com::sun::star::sheet::XDataPilotTable
44 interface XDataPilotTable2
: com
::sun
::star
::sheet
::XDataPilotTable
46 /** When the address of a cell within the result area is given,
47 XDataPilotTable2::getDrillDownData() returns its drill-down
48 output table that includes only those rows that contribute to the value of
51 @param aAddr cell address within the result area of a DataPilot table.
53 @returns drill-down output as 2-dimensional sequence, including the header row.
55 @see XDataPilotTable2::insertDrillDownSheet()
57 sequence
< sequence
< any
> > getDrillDownData
( [in] com
::sun
::star
::table
::CellAddress aAddr
);
59 /** Given a cell address, it returns the information about that cell. The
60 type of information returned depends upon whether the cell is within
61 the result area or column/row header area.
63 @param aAddr address of the cell whose information is to be returned.
65 @returns DataPilotTablePositionData which contains the
66 position type and the information for that cell position.
68 @see com::sun::star::sheet::DataPilotTablePositionData
69 @see com::sun::star::sheet::DataPilotTableHeaderData
70 @see com::sun::star::sheet::DataPilotTableResultData
72 DataPilotTablePositionData getPositionData
( [in] com
::sun
::star
::table
::CellAddress aAddr
);
74 /** <p>This method inserts a new sheet to display the drill-down data for a
75 specified result cell. A drill-down data for a result cell consists
76 of a subset of rows from the original data source that contribute to
77 the value displayed in that cell.</p>
79 <p>The new sheet is always inserted to the immediate left of the current
80 sheet where the DataPilot table is. Note that when the drill-down data
81 is empty, no new sheet is inserted.</p>
83 @param aAddr address of a result cell
87 void insertDrillDownSheet
( [in] com
::sun
::star
::table
::CellAddress aAddr
);
89 /** <p>This method returns a different output range of a DataPilot table
90 per specified output range type.</p>
92 @returns com::sun::star::table::CellRangeAddress depicting
93 the range specified. See DataPilotOutputRangeType for a set
94 of possible output range types.
96 @see com::sun::star::sheet::DataPilotOutputRangeType
98 com
::sun
::star
::table
::CellRangeAddress getOutputRangeByType
( [in] long nType
)
99 raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
106 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */