1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski 24*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_sheet_XCellRangesQuery_idl__ 25*b1cdbd2cSJim Jagielski#define __com_sun_star_sheet_XCellRangesQuery_idl__ 26*b1cdbd2cSJim Jagielski 27*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_uno_XInterface_idl__ 28*b1cdbd2cSJim Jagielski#include <com/sun/star/uno/XInterface.idl> 29*b1cdbd2cSJim Jagielski#endif 30*b1cdbd2cSJim Jagielski 31*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_sheet_XSheetCellRanges_idl__ 32*b1cdbd2cSJim Jagielski#include <com/sun/star/sheet/XSheetCellRanges.idl> 33*b1cdbd2cSJim Jagielski#endif 34*b1cdbd2cSJim Jagielski 35*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_table_CellAddress_idl__ 36*b1cdbd2cSJim Jagielski#include <com/sun/star/table/CellAddress.idl> 37*b1cdbd2cSJim Jagielski#endif 38*b1cdbd2cSJim Jagielski 39*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_table_CellRangeAddress_idl__ 40*b1cdbd2cSJim Jagielski#include <com/sun/star/table/CellRangeAddress.idl> 41*b1cdbd2cSJim Jagielski#endif 42*b1cdbd2cSJim Jagielski 43*b1cdbd2cSJim Jagielski//============================================================================= 44*b1cdbd2cSJim Jagielski 45*b1cdbd2cSJim Jagielskimodule com { module sun { module star { module sheet { 46*b1cdbd2cSJim Jagielski 47*b1cdbd2cSJim Jagielski//============================================================================= 48*b1cdbd2cSJim Jagielski 49*b1cdbd2cSJim Jagielski/** provides methods to query for cell ranges with specific contents. 50*b1cdbd2cSJim Jagielski 51*b1cdbd2cSJim Jagielski <p>All methods return a collection of cell ranges.</p> 52*b1cdbd2cSJim Jagielski 53*b1cdbd2cSJim Jagielski @see com::sun::star::sheet::SheetRangesQuery 54*b1cdbd2cSJim Jagielski @see com::sun::star::sheet::SheetCellRanges 55*b1cdbd2cSJim Jagielski */ 56*b1cdbd2cSJim Jagielskipublished interface XCellRangesQuery: com::sun::star::uno::XInterface 57*b1cdbd2cSJim Jagielski{ 58*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 59*b1cdbd2cSJim Jagielski 60*b1cdbd2cSJim Jagielski /** queries all visible cells. 61*b1cdbd2cSJim Jagielski 62*b1cdbd2cSJim Jagielski @returns 63*b1cdbd2cSJim Jagielski the visible (not hidden) cells of the current cell range(s). 64*b1cdbd2cSJim Jagielski */ 65*b1cdbd2cSJim Jagielski com::sun::star::sheet::XSheetCellRanges queryVisibleCells(); 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 68*b1cdbd2cSJim Jagielski 69*b1cdbd2cSJim Jagielski /** queries all empty cells. 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski @returns 72*b1cdbd2cSJim Jagielski the empty cells of the current cell range(s). 73*b1cdbd2cSJim Jagielski */ 74*b1cdbd2cSJim Jagielski com::sun::star::sheet::XSheetCellRanges queryEmptyCells(); 75*b1cdbd2cSJim Jagielski 76*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 77*b1cdbd2cSJim Jagielski 78*b1cdbd2cSJim Jagielski /** queries all cells with the specified content type(s). 79*b1cdbd2cSJim Jagielski 80*b1cdbd2cSJim Jagielski @param nContentFlags 81*b1cdbd2cSJim Jagielski a combination of <type>CellFlags</type> flags. 82*b1cdbd2cSJim Jagielski 83*b1cdbd2cSJim Jagielski <p>Attention: Despite the <type>CellFlags</type> flags are 84*b1cdbd2cSJim Jagielski <atom>long</atom> values, this method expects a <atom>short</atom> 85*b1cdbd2cSJim Jagielski parameter. 86*b1cdbd2cSJim Jagielski 87*b1cdbd2cSJim Jagielski @returns 88*b1cdbd2cSJim Jagielski all cells of the current cell range(s) with the specified 89*b1cdbd2cSJim Jagielski content type(s). 90*b1cdbd2cSJim Jagielski */ 91*b1cdbd2cSJim Jagielski com::sun::star::sheet::XSheetCellRanges queryContentCells( 92*b1cdbd2cSJim Jagielski [in] short nContentFlags ); 93*b1cdbd2cSJim Jagielski 94*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 95*b1cdbd2cSJim Jagielski 96*b1cdbd2cSJim Jagielski /** queries all formula cells with the specified result type. 97*b1cdbd2cSJim Jagielski 98*b1cdbd2cSJim Jagielski @param nResultFlags 99*b1cdbd2cSJim Jagielski a combination of <type>FormulaResult</type> flags. 100*b1cdbd2cSJim Jagielski 101*b1cdbd2cSJim Jagielski @returns 102*b1cdbd2cSJim Jagielski all formula cells of the current cell range(s) with the 103*b1cdbd2cSJim Jagielski specified result type(s). 104*b1cdbd2cSJim Jagielski */ 105*b1cdbd2cSJim Jagielski com::sun::star::sheet::XSheetCellRanges queryFormulaCells( 106*b1cdbd2cSJim Jagielski [in] long nResultFlags ); 107*b1cdbd2cSJim Jagielski 108*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 109*b1cdbd2cSJim Jagielski 110*b1cdbd2cSJim Jagielski /** queries all cells with different values in a specified row. 111*b1cdbd2cSJim Jagielski 112*b1cdbd2cSJim Jagielski <p>This method takes each column of the current cell range(s) and 113*b1cdbd2cSJim Jagielski compares all cells with the cell in the specified row. All cells 114*b1cdbd2cSJim Jagielski which are different to this comparison cell will be returned.</p> 115*b1cdbd2cSJim Jagielski 116*b1cdbd2cSJim Jagielski @param aCompare 117*b1cdbd2cSJim Jagielski contains a cell address with the row index used for comparison. 118*b1cdbd2cSJim Jagielski Only this row index is of interest. 119*b1cdbd2cSJim Jagielski 120*b1cdbd2cSJim Jagielski @returns 121*b1cdbd2cSJim Jagielski all cells of the current cell range(s) which are different 122*b1cdbd2cSJim Jagielski to the comparison cell of each column. 123*b1cdbd2cSJim Jagielski */ 124*b1cdbd2cSJim Jagielski com::sun::star::sheet::XSheetCellRanges queryColumnDifferences( 125*b1cdbd2cSJim Jagielski [in] com::sun::star::table::CellAddress aCompare ); 126*b1cdbd2cSJim Jagielski 127*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 128*b1cdbd2cSJim Jagielski 129*b1cdbd2cSJim Jagielski /** queries all cells with different values in a specified column. 130*b1cdbd2cSJim Jagielski 131*b1cdbd2cSJim Jagielski <p>This method takes each row of the current cell range(s) and 132*b1cdbd2cSJim Jagielski compares all cells with the cell in the specified column. All cells 133*b1cdbd2cSJim Jagielski which are different to this comparison cell will be returned.</p> 134*b1cdbd2cSJim Jagielski 135*b1cdbd2cSJim Jagielski @param aCompare 136*b1cdbd2cSJim Jagielski contains a cell address with the column index used for 137*b1cdbd2cSJim Jagielski comparison. Only this column index is of interest. 138*b1cdbd2cSJim Jagielski 139*b1cdbd2cSJim Jagielski @returns 140*b1cdbd2cSJim Jagielski all cells of the current cell range(s) which are different 141*b1cdbd2cSJim Jagielski to the comparison cell of each row. 142*b1cdbd2cSJim Jagielski */ 143*b1cdbd2cSJim Jagielski com::sun::star::sheet::XSheetCellRanges queryRowDifferences( 144*b1cdbd2cSJim Jagielski [in] com::sun::star::table::CellAddress aCompare ); 145*b1cdbd2cSJim Jagielski 146*b1cdbd2cSJim Jagielski //------------------------------------------------------------------------- 147*b1cdbd2cSJim Jagielski 148*b1cdbd2cSJim Jagielski /** intersects the current cell range(s) with the specified cell range. 149*b1cdbd2cSJim Jagielski 150*b1cdbd2cSJim Jagielski @param aRange 151*b1cdbd2cSJim Jagielski contains the cell range for intersection. 152*b1cdbd2cSJim Jagielski 153*b1cdbd2cSJim Jagielski @return 154*b1cdbd2cSJim Jagielski all cells of the current cell range(s) which are contained 155*b1cdbd2cSJim Jagielski in the passed cell range. 156*b1cdbd2cSJim Jagielski 157*b1cdbd2cSJim Jagielski */ 158*b1cdbd2cSJim Jagielski com::sun::star::sheet::XSheetCellRanges queryIntersection( 159*b1cdbd2cSJim Jagielski [in] com::sun::star::table::CellRangeAddress aRange ); 160*b1cdbd2cSJim Jagielski 161*b1cdbd2cSJim Jagielski}; 162*b1cdbd2cSJim Jagielski 163*b1cdbd2cSJim Jagielski//============================================================================= 164*b1cdbd2cSJim Jagielski 165*b1cdbd2cSJim Jagielski}; }; }; }; 166*b1cdbd2cSJim Jagielski 167*b1cdbd2cSJim Jagielski#endif 168*b1cdbd2cSJim Jagielski 169