LibreOffice Module sc (master)  1
vbarange.hxx
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
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 .
18  */
19 #ifndef INCLUDED_SC_SOURCE_UI_VBA_VBARANGE_HXX
20 #define INCLUDED_SC_SOURCE_UI_VBA_VBARANGE_HXX
21 
22 #include <ooo/vba/excel/XRange.hpp>
23 
24 #include <com/sun/star/awt/Point.hpp>
25 #include <com/sun/star/sheet/FillDateMode.hpp>
26 #include <com/sun/star/sheet/FillMode.hpp>
27 #include <com/sun/star/sheet/FillDirection.hpp>
28 
29 #include "vbaformat.hxx"
30 #include <address.hxx>
31 #include <formula/grammar.hxx>
32 
33 namespace com::sun::star::sheet { class XSheetCellRangeContainer; }
34 namespace com::sun::star::table { class XCell; }
35 namespace com::sun::star::table { class XCellRange; }
36 namespace com::sun::star::table { struct CellRangeAddress; }
37 namespace com::sun::star::lang { class XServiceInfo; }
38 namespace ooo::vba { class XCollection; }
39 namespace ooo::vba::excel { class XComment; }
40 namespace ooo::vba::excel { class XFont; }
41 
42 class SfxItemSet;
43 class ScCellRangesBase;
44 class ScCellRangeObj;
45 class ScDocShell;
46 class ScDocument;
47 class ScRangeList;
48 
50 {
51 public:
52  virtual void visitNode( sal_Int32 x, sal_Int32 y, const css::uno::Reference< css::table::XCell >& xCell ) = 0;
53  virtual ~ArrayVisitor(){}
54 };
55 
56 class ValueSetter : public ArrayVisitor
57 {
58 public:
59  virtual bool processValue( const css::uno::Any& aValue, const css::uno::Reference< css::table::XCell >& xCell ) = 0;
60 
61 };
62 
63 class ValueGetter : public ArrayVisitor
64 {
65 
66 public:
67  virtual void processValue( const css::uno::Any& aValue ) = 0;
68  virtual const css::uno::Any& getValue() const = 0;
69 };
70 
72 
74 {
75  css::uno::Reference< ov::XCollection > m_Areas;
76  css::uno::Reference< ov::XCollection > m_Borders;
77  css::uno::Reference< css::table::XCellRange > mxRange;
78  css::uno::Reference< css::sheet::XSheetCellRangeContainer > mxRanges;
79  bool mbIsRows;
81  css::uno::Reference< ov::excel::XValidation > m_xValidation;
83  double getCalcColWidth(const css::table::CellRangeAddress&);
85  double getCalcRowHeight(const css::table::CellRangeAddress&);
86  void visitArray( ArrayVisitor& vistor );
87 
89  css::uno::Reference< ov::excel::XRange > getEntireColumnOrRow( bool bColumn );
90 
92  void fillSeries( css::sheet::FillDirection nFillDirection, css::sheet::FillMode nFillMode, css::sheet::FillDateMode nFillDateMode, double fStep, double fEndValue );
93 
95  void ClearContents( sal_Int32 nFlags, bool bFireEvent );
96 
98  css::uno::Any getValue( ValueGetter& rValueGetter );
100  void setValue( const css::uno::Any& aValue, ValueSetter& setter );
101 
105  void setFormulaValue( const css::uno::Any& aValue, formula::FormulaGrammar::Grammar );
106 
108  css::uno::Reference< ov::excel::XRange > getArea( sal_Int32 nIndex );
111  css::uno::Reference< ov::XCollection >& getBorders();
113  void groupUnGroup( bool bUnGroup );
114  css::uno::Reference< ov::excel::XRange > PreviousNext( bool bIsPrevious );
116  css::uno::Reference< ov::excel::XRange > SpecialCellsImpl( sal_Int32 nType, const css::uno::Any& _oValue);
118  css::awt::Point getPosition() const;
119 
121  void fireChangeEvent();
122 
123 protected:
124  virtual ScCellRangesBase* getCellRangesBase() override;
127 public:
129  ScVbaRange( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::table::XCellRange >& xRange, bool bIsRows = false, bool bIsColumns = false );
132  ScVbaRange( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::sheet::XSheetCellRangeContainer >& xRanges, bool bIsRows = false, bool bIsColumns = false );
135  ScVbaRange( css::uno::Sequence< css::uno::Any > const& aArgs, css::uno::Reference< css::uno::XComponentContext >const& xContext );
136 
141 
143  static ScVbaRange* getImplementation( const css::uno::Reference< ov::excel::XRange >& rxRange );
144 
146  css::uno::Reference< css::frame::XModel > getUnoModel();
148  static css::uno::Reference< css::frame::XModel > getUnoModel( const css::uno::Reference< ov::excel::XRange >& rxRange );
149 
151  const ScRangeList& getScRangeList();
153  static const ScRangeList& getScRangeList( const css::uno::Reference< ov::excel::XRange >& rxRange );
154 
155  virtual ~ScVbaRange() override;
156  virtual css::uno::Reference< ov::XHelperInterface > thisHelperIface() override { return this; }
157  bool isSingleCellRange() const;
158 
160  static css::uno::Reference< ov::excel::XRange > getRangeObjectForName(
161  const css::uno::Reference< css::uno::XComponentContext >& xContext,
162  const OUString& sRangeName, ScDocShell* pDocSh,
164 
166  static css::uno::Reference< ov::excel::XRange > CellsHelper(
167  const ScDocument* pDoc,
168  const css::uno::Reference< ov::XHelperInterface >& xParent,
169  const css::uno::Reference< css::uno::XComponentContext >& xContext,
170  const css::uno::Reference< css::table::XCellRange >& xRange,
171  const css::uno::Any &nRowIndex, const css::uno::Any &nColumnIndex );
172 
173  // Attributes
174  virtual css::uno::Any SAL_CALL getValue() override;
175  virtual void SAL_CALL setValue( const css::uno::Any& aValue ) override;
176  virtual css::uno::Any SAL_CALL getFormula() override;
177  virtual void SAL_CALL setFormula( const css::uno::Any& rFormula ) override;
178  virtual css::uno::Any SAL_CALL getFormulaArray() override;
179  virtual void SAL_CALL setFormulaArray(const css::uno::Any& rFormula) override;
180  virtual css::uno::Any SAL_CALL getFormulaR1C1() override;
181  virtual void SAL_CALL setFormulaR1C1( const css::uno::Any &rFormula ) override;
182  virtual ::sal_Int32 SAL_CALL getCount() override;
183  virtual ::sal_Int32 SAL_CALL getRow() override;
184  virtual ::sal_Int32 SAL_CALL getColumn() override;
185  virtual OUString SAL_CALL getText() override;
187  virtual void SAL_CALL setNumberFormat( const css::uno::Any& rNumberFormat ) override;
188  virtual css::uno::Any SAL_CALL getNumberFormat() override;
189  virtual void SAL_CALL setMergeCells( const css::uno::Any& bMerge ) override;
190  virtual css::uno::Any SAL_CALL getMergeCells() override;
191  virtual void SAL_CALL setWrapText( const css::uno::Any& bIsWrapped ) override;
192  virtual css::uno::Any SAL_CALL getWrapText() override;
193  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getEntireRow() override;
194  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getEntireColumn() override;
195  virtual css::uno::Reference< ov::excel::XComment > SAL_CALL getComment() override;
196  virtual css::uno::Any SAL_CALL getHidden() override;
197  virtual void SAL_CALL setHidden( const css::uno::Any& _hidden ) override;
198  virtual css::uno::Any SAL_CALL getColumnWidth() override;
199  virtual void SAL_CALL setColumnWidth( const css::uno::Any& _columnwidth ) override;
200  virtual css::uno::Any SAL_CALL getRowHeight() override;
201  virtual void SAL_CALL setRowHeight( const css::uno::Any& _rowheight ) override;
202  virtual css::uno::Any SAL_CALL getWidth() override;
203  virtual css::uno::Any SAL_CALL getHeight() override;
204  virtual css::uno::Any SAL_CALL getTop() override;
205  virtual css::uno::Any SAL_CALL getLeft() override;
206 
207  virtual css::uno::Reference< ov::excel::XName > SAL_CALL getName() override;
208  virtual css::uno::Reference< ov::excel::XWorksheet > SAL_CALL getWorksheet() override;
209  virtual css::uno::Any SAL_CALL getPageBreak() override;
210  virtual void SAL_CALL setPageBreak( const css::uno::Any& _pagebreak ) override;
211  virtual css::uno::Reference< ov::excel::XValidation > SAL_CALL getValidation() override;
212  virtual css::uno::Any SAL_CALL getPrefixCharacter() override;
213  virtual css::uno::Any SAL_CALL getShowDetail() override;
214  virtual void SAL_CALL setShowDetail(const css::uno::Any& aShowDetail) override;
215  // Methods
216  virtual css::uno::Reference< ov::excel::XComment > SAL_CALL AddComment( const css::uno::Any& Text ) override;
217  virtual void SAL_CALL Clear() override;
218  virtual void SAL_CALL ClearComments() override;
219  virtual void SAL_CALL ClearContents() override;
220  virtual void SAL_CALL ClearFormats() override;
221  virtual css::uno::Any SAL_CALL HasFormula() override;
222  virtual void SAL_CALL FillLeft() override;
223  virtual void SAL_CALL FillRight() override;
224  virtual void SAL_CALL FillUp() override;
225  virtual void SAL_CALL FillDown() override;
226  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Offset( const css::uno::Any &nRowOffset, const css::uno::Any &nColOffset ) override;
227  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL CurrentRegion() override;
228  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL CurrentArray() override;
229  virtual OUString SAL_CALL Characters( const css::uno::Any& nIndex, const css::uno::Any& nCount ) override;
230 
231  virtual OUString SAL_CALL Address( const css::uno::Any& RowAbsolute, const css::uno::Any& ColumnAbsolute, const css::uno::Any& ReferenceStyle, const css::uno::Any& External, const css::uno::Any& RelativeTo ) override;
232 
233  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Cells( const css::uno::Any &nRow, const css::uno::Any &nCol ) override;
234  virtual void SAL_CALL Select() override;
235  virtual void SAL_CALL Activate() override;
236  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Rows( const css::uno::Any& nIndex ) override;
237  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Columns( const css::uno::Any &nIndex ) override;
238  virtual void SAL_CALL Copy( const css::uno::Any& Destination ) override;
239  virtual void SAL_CALL Cut( const css::uno::Any& Destination ) override;
240  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Resize( const css::uno::Any& RowSize, const css::uno::Any& ColumnSize ) override;
241  virtual css::uno::Reference< ov::excel::XFont > SAL_CALL Font() override;
242  virtual css::uno::Reference< ov::excel::XInterior > SAL_CALL Interior( ) override ;
243  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Range( const css::uno::Any &Cell1, const css::uno::Any &Cell2 ) override;
245  css::uno::Reference< ov::excel::XRange > Range( const css::uno::Any &Cell1, const css::uno::Any &Cell2, bool bForceUseInpuRangeTab );
246  virtual css::uno::Any SAL_CALL getCellRange( ) override;
248  static css::uno::Any getCellRange( const css::uno::Reference< ov::excel::XRange >& rxRange );
249  virtual void SAL_CALL PasteSpecial( const css::uno::Any& Paste, const css::uno::Any& Operation, const css::uno::Any& SkipBlanks, const css::uno::Any& Transpose ) override;
250  virtual sal_Bool SAL_CALL Replace( const OUString& What, const OUString& Replacement, const css::uno::Any& LookAt, const css::uno::Any& SearchOrder, const css::uno::Any& MatchCase, const css::uno::Any& MatchByte, const css::uno::Any& SearchFormat, const css::uno::Any& ReplaceFormat ) override;
251  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Find( const css::uno::Any& What, const css::uno::Any& After, const css::uno::Any& LookIn, const css::uno::Any& LookAt, const css::uno::Any& SearchOrder, const css::uno::Any& SearchDirection, const css::uno::Any& MatchCase, const css::uno::Any& MatchByte, const css::uno::Any& SearchFormat ) override;
252  virtual void SAL_CALL Sort( const css::uno::Any& Key1, const css::uno::Any& Order1, const css::uno::Any& Key2, const css::uno::Any& Type, const css::uno::Any& Order2, const css::uno::Any& Key3, const css::uno::Any& Order3, const css::uno::Any& Header, const css::uno::Any& OrderCustom, const css::uno::Any& MatchCase, const css::uno::Any& Orientation, const css::uno::Any& SortMethod, const css::uno::Any& DataOption1, const css::uno::Any& DataOption2, const css::uno::Any& DataOption3 ) override;
253  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL End( ::sal_Int32 Direction ) override;
254  virtual css::uno::Reference< ov::excel::XCharacters > SAL_CALL characters( const css::uno::Any& Start, const css::uno::Any& Length ) override;
255  virtual void SAL_CALL Delete( const css::uno::Any& Shift ) override;
256  virtual css::uno::Any SAL_CALL Areas( const css::uno::Any& ) override;
257  virtual css::uno::Any SAL_CALL Borders( const css::uno::Any& ) override;
258  virtual css::uno::Any SAL_CALL BorderAround( const css::uno::Any& LineStyle,
259  const css::uno::Any& Weight, const css::uno::Any& ColorIndex, const css::uno::Any& Color ) override;
260  virtual css::uno::Any SAL_CALL Hyperlinks( const css::uno::Any& aIndex ) override;
261 
262  virtual void SAL_CALL AutoFilter( const css::uno::Any& Field, const css::uno::Any& Criteria1, const css::uno::Any& Operator, const css::uno::Any& Criteria2, const css::uno::Any& VisibleDropDown ) override;
263  virtual void SAL_CALL Insert( const css::uno::Any& Shift, const css::uno::Any& CopyOrigin ) override;
264  virtual void SAL_CALL Autofit() override;
265  virtual void SAL_CALL PrintOut( const css::uno::Any& From, const css::uno::Any& To, const css::uno::Any& Copies, const css::uno::Any& Preview, const css::uno::Any& ActivePrinter, const css::uno::Any& PrintToFile, const css::uno::Any& Collate, const css::uno::Any& PrToFileName ) override;
266  virtual void SAL_CALL AutoFill( const css::uno::Reference< ov::excel::XRange >& Destination, const css::uno::Any& Type ) override ;
267  void SAL_CALL Calculate( ) override;
268  virtual void SAL_CALL AutoOutline( ) override;
269  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Item( const css::uno::Any& row, const css::uno::Any& column ) override;
270  virtual void SAL_CALL ClearOutline( ) override;
271  virtual void SAL_CALL Ungroup( ) override;
272  virtual void SAL_CALL Group( ) override;
273  virtual void SAL_CALL Merge( const css::uno::Any& Across ) override;
274  virtual void SAL_CALL UnMerge( ) override;
275  virtual css::uno::Any SAL_CALL getStyle() override;
276  virtual void SAL_CALL setStyle( const css::uno::Any& _style ) override;
277  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Next() override;
278  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Previous() override;
279  virtual void SAL_CALL RemoveSubtotal( ) override;
280  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL MergeArea() override;
281  virtual void SAL_CALL Subtotal( ::sal_Int32 GroupBy, ::sal_Int32 Function, const css::uno::Sequence< ::sal_Int32 >& TotalList, const css::uno::Any& Replace, const css::uno::Any& PageBreaks, const css::uno::Any& SummaryBelowData ) override;
282 
283  // XEnumerationAccess
284  virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override;
285  // XElementAccess
286  virtual css::uno::Type SAL_CALL getElementType() override
287  {
289 
290  }
291  virtual sal_Bool SAL_CALL hasElements() override;
292  // XDefaultMethod
293  OUString SAL_CALL getDefaultMethodName( ) override;
294  // XDefaultProperty
295  OUString SAL_CALL getDefaultPropertyName( ) override { return "Value"; }
296 
297 // #TODO completely rewrite ScVbaRange, it's become a hackfest
298 // it needs to be closer to ScCellRangeBase in that the underlying
299 // object model should probably be a ScRangelst.
300 // * would be nice to be able to construct a range from an address only
301 // * or a list of address ( multi-area )
302 // * object should be a lightweight as possible
303 // * we shouldn't need hacks like this below
305  static css::uno::Reference< ov::excel::XRange > ApplicationRange( const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Any &Cell1, const css::uno::Any &Cell2 );
306  static bool getCellRangesForAddress(ScRefFlags &rResFlags, const OUString& sAddress, ScDocShell* pDocSh, ScRangeList& rCellRanges, formula::FormulaGrammar::AddressConvention eConv, char cDelimiter );
307  virtual sal_Bool SAL_CALL GoalSeek( const css::uno::Any& Goal, const css::uno::Reference< ov::excel::XRange >& ChangingCell ) override;
308  virtual css::uno::Reference< ov::excel::XRange > SAL_CALL SpecialCells( const css::uno::Any& _oType, const css::uno::Any& _oValue) override;
309  // XErrorQuery
310  virtual sal_Bool SAL_CALL hasError( ) override;
311  // XHelperInterface
312  virtual OUString getServiceImplName() override;
313  virtual css::uno::Sequence<OUString> getServiceNames() override;
314 };
315 
317 bool getScRangeListForAddress( const OUString& sName, ScDocShell* pDocSh, const ScRange& refRange,
318  ScRangeList& aCellRanges,
320 
321 #endif // INCLUDED_SC_SOURCE_UI_VBA_VBARANGE_HXX
322 
323 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
virtual OUString SAL_CALL Characters(const css::uno::Any &nIndex, const css::uno::Any &nCount) override
Definition: vbarange.cxx:2012
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getEntireRow() override
Definition: vbarange.cxx:2909
virtual void visitNode(sal_Int32 x, sal_Int32 y, const css::uno::Reference< css::table::XCell > &xCell)=0
Type
virtual void SAL_CALL setFormula(const css::uno::Any &rFormula) override
Definition: vbarange.cxx:1672
virtual OUString getServiceImplName() override
Definition: vbarange.cxx:5610
void fillSeries(css::sheet::FillDirection nFillDirection, css::sheet::FillMode nFillMode, css::sheet::FillDateMode nFillDateMode, double fStep, double fEndValue)
Definition: vbarange.cxx:1795
virtual void SAL_CALL FillRight() override
Definition: vbarange.cxx:1824
virtual css::uno::Any SAL_CALL getTop() override
Definition: vbarange.cxx:4093
virtual void SAL_CALL Merge(const css::uno::Any &Across) override
Definition: vbarange.cxx:5243
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Rows(const css::uno::Any &nIndex) override
Definition: vbarange.cxx:2344
static css::uno::Reference< ov::excel::XRange > ApplicationRange(const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Any &Cell1, const css::uno::Any &Cell2)
Definition: vbarange.cxx:4178
virtual css::uno::Any SAL_CALL Hyperlinks(const css::uno::Any &aIndex) override
Definition: vbarange.cxx:4749
virtual css::uno::Any SAL_CALL getStyle() override
Definition: vbarange.cxx:5287
virtual void SAL_CALL setFormulaR1C1(const css::uno::Any &rFormula) override
Definition: vbarange.cxx:1685
bool mbIsRows
Definition: vbarange.hxx:79
virtual ::sal_Int32 SAL_CALL getRow() override
Definition: vbarange.cxx:1721
virtual void SAL_CALL FillLeft() override
Definition: vbarange.cxx:1817
void visitArray(ArrayVisitor &vistor)
Definition: vbarange.cxx:1476
virtual css::uno::Reference< ov::excel::XFont > SAL_CALL Font() override
Definition: vbarange.cxx:2113
virtual void SAL_CALL ClearFormats() override
Definition: vbarange.cxx:1631
virtual ::sal_Int32 SAL_CALL getColumn() override
Definition: vbarange.cxx:1737
virtual void SAL_CALL ClearOutline() override
Definition: vbarange.cxx:5191
virtual css::uno::Any SAL_CALL getFormulaR1C1() override
Definition: vbarange.cxx:1679
css::uno::Reference< css::table::XCellRange > mxRange
Definition: vbarange.hxx:77
css::uno::Reference< ov::XCollection > & getBorders()
Definition: vbarange.cxx:1465
virtual void SAL_CALL Sort(const css::uno::Any &Key1, const css::uno::Any &Order1, const css::uno::Any &Key2, const css::uno::Any &Type, const css::uno::Any &Order2, const css::uno::Any &Key3, const css::uno::Any &Order3, const css::uno::Any &Header, const css::uno::Any &OrderCustom, const css::uno::Any &MatchCase, const css::uno::Any &Orientation, const css::uno::Any &SortMethod, const css::uno::Any &DataOption1, const css::uno::Any &DataOption2, const css::uno::Any &DataOption3) override
Definition: vbarange.cxx:3359
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Find(const css::uno::Any &What, const css::uno::Any &After, const css::uno::Any &LookIn, const css::uno::Any &LookAt, const css::uno::Any &SearchOrder, const css::uno::Any &SearchDirection, const css::uno::Any &MatchCase, const css::uno::Any &MatchByte, const css::uno::Any &SearchFormat) override
Definition: vbarange.cxx:3125
virtual ::sal_Int32 SAL_CALL getCount() override
Definition: vbarange.cxx:1697
virtual void SAL_CALL FillUp() override
Definition: vbarange.cxx:1831
virtual css::uno::Reference< ov::excel::XComment > SAL_CALL getComment() override
Definition: vbarange.cxx:2945
css::uno::Any getFormulaValue(formula::FormulaGrammar::Grammar)
Definition: vbarange.cxx:1655
ScVbaFormat< ov::excel::XRange > ScVbaRange_BASE
Definition: vbarange.hxx:71
virtual sal_Bool SAL_CALL GoalSeek(const css::uno::Any &Goal, const css::uno::Reference< ov::excel::XRange > &ChangingCell) override
Definition: vbarange.cxx:5114
virtual css::uno::Reference< ov::excel::XInterior > SAL_CALL Interior() override
Definition: vbarange.cxx:2665
const sal_Unicode cDelimiter
Definition: tpusrlst.cxx:44
css::uno::Reference< css::sheet::XSheetCellRangeContainer > mxRanges
Definition: vbarange.hxx:78
virtual void SAL_CALL Copy(const css::uno::Any &Destination) override
Definition: vbarange.cxx:2491
virtual OUString SAL_CALL getText() override
Definition: vbarange.cxx:1845
void groupUnGroup(bool bUnGroup)
Definition: vbarange.cxx:5209
float x
virtual css::uno::Any SAL_CALL getColumnWidth() override
Definition: vbarange.cxx:3756
virtual void SAL_CALL AutoFill(const css::uno::Reference< ov::excel::XRange > &Destination, const css::uno::Any &Type) override
Definition: vbarange.cxx:5000
OUString SAL_CALL getDefaultPropertyName() override
Definition: vbarange.hxx:295
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Next() override
Definition: vbarange.cxx:5348
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createEnumeration() override
Definition: vbarange.cxx:3698
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Cells(const css::uno::Any &nRow, const css::uno::Any &nCol) override
Definition: vbarange.cxx:2135
ScDocShell * getScDocShell()
Definition: vbarange.cxx:431
virtual void SAL_CALL Autofit() override
Definition: vbarange.cxx:4712
virtual void SAL_CALL Delete(const css::uno::Any &Shift) override
Definition: vbarange.cxx:3637
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Item(const css::uno::Any &row, const css::uno::Any &column) override
Definition: vbarange.cxx:5150
virtual css::uno::Any SAL_CALL getHidden() override
Definition: vbarange.cxx:2970
virtual void SAL_CALL Insert(const css::uno::Any &Shift, const css::uno::Any &CopyOrigin) override
Definition: vbarange.cxx:4660
virtual void SAL_CALL setHidden(const css::uno::Any &_hidden) override
Definition: vbarange.cxx:2996
css::uno::Reference< css::frame::XModel > getUnoModel()
Definition: vbarange.cxx:448
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Offset(const css::uno::Any &nRowOffset, const css::uno::Any &nColOffset) override
Definition: vbarange.cxx:1861
virtual OUString SAL_CALL Address(const css::uno::Any &RowAbsolute, const css::uno::Any &ColumnAbsolute, const css::uno::Any &ReferenceStyle, const css::uno::Any &External, const css::uno::Any &RelativeTo) override
Definition: vbarange.cxx:2038
virtual css::uno::Reference< ov::excel::XValidation > SAL_CALL getValidation() override
Definition: vbarange.cxx:4770
Destination
LineStyle
virtual void SAL_CALL setPageBreak(const css::uno::Any &_pagebreak) override
Definition: vbarange.cxx:4019
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL CurrentRegion() override
Definition: vbarange.cxx:1897
virtual css::uno::Any SAL_CALL getWrapText() override
Definition: vbarange.cxx:2637
void fireChangeEvent()
Fires a Worksheet_Change event for this range or range list.
Definition: vbarange.cxx:251
SQLUSMALLINT SQLSMALLINT SQLSMALLINT SQLSMALLINT SQLULEN ColumnSize
virtual void SAL_CALL setNumberFormat(const css::uno::Any &rNumberFormat) override
Definition: vbarange.cxx:2546
virtual void SAL_CALL setColumnWidth(const css::uno::Any &_columnwidth) override
Definition: vbarange.cxx:3793
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Range(const css::uno::Any &Cell1, const css::uno::Any &Cell2) override
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL SpecialCells(const css::uno::Any &_oType, const css::uno::Any &_oValue) override
Definition: vbarange.cxx:5370
float y
virtual css::uno::Any SAL_CALL getLeft() override
Definition: vbarange.cxx:4083
virtual css::uno::Any SAL_CALL getMergeCells() override
Definition: vbarange.cxx:2462
virtual css::uno::Any SAL_CALL getRowHeight() override
Definition: vbarange.cxx:3918
ScCellRangeObj * getCellRangeObj()
Definition: vbarange.cxx:238
OUString SAL_CALL getDefaultMethodName() override
Definition: vbarange.cxx:3716
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL End(::sal_Int32 Direction) override
Definition: vbarange.cxx:3534
Orientation
virtual void SAL_CALL ClearContents() override
Definition: vbarange.cxx:1623
virtual css::uno::Reference< ov::excel::XComment > SAL_CALL AddComment(const css::uno::Any &Text) override
Definition: vbarange.cxx:2921
virtual const css::uno::Any & getValue() const =0
virtual void SAL_CALL AutoFilter(const css::uno::Any &Field, const css::uno::Any &Criteria1, const css::uno::Any &Operator, const css::uno::Any &Criteria2, const css::uno::Any &VisibleDropDown) override
Definition: vbarange.cxx:4388
virtual void SAL_CALL setStyle(const css::uno::Any &_style) override
Definition: vbarange.cxx:5303
virtual css::uno::Reference< ov::excel::XName > SAL_CALL getName() override
Definition: vbarange.cxx:4126
virtual css::uno::Any SAL_CALL Areas(const css::uno::Any &) override
Definition: vbarange.cxx:3846
virtual ~ArrayVisitor()
Definition: vbarange.hxx:53
css::awt::Point getPosition() const
Definition: vbarange.cxx:4071
void SAL_CALL Calculate() override
Definition: vbarange.cxx:5144
css::uno::Reference< ov::excel::XRange > SpecialCellsImpl(sal_Int32 nType, const css::uno::Any &_oValue)
Definition: vbarange.cxx:5477
bool isSingleCellRange() const
Definition: vbarange.cxx:3613
virtual void SAL_CALL setMergeCells(const css::uno::Any &bMerge) override
Definition: vbarange.cxx:2427
unsigned char sal_Bool
css::uno::Reference< ov::excel::XRange > getArea(sal_Int32 nIndex)
Definition: vbarange.cxx:3854
virtual void SAL_CALL setWrapText(const css::uno::Any &bIsWrapped) override
Definition: vbarange.cxx:2618
css::uno::Type const & get()
virtual css::uno::Any SAL_CALL getValue() override
Definition: vbarange.cxx:1511
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Resize(const css::uno::Any &RowSize, const css::uno::Any &ColumnSize) override
Definition: vbarange.cxx:2594
static css::uno::Reference< ov::excel::XRange > getRangeObjectForName(const css::uno::Reference< css::uno::XComponentContext > &xContext, const OUString &sRangeName, ScDocShell *pDocSh, formula::FormulaGrammar::AddressConvention eConv)
Definition: vbarange.cxx:1362
virtual css::uno::Any SAL_CALL getPageBreak() override
Definition: vbarange.cxx:3983
css::uno::Reference< ov::excel::XRange > PreviousNext(bool bIsPrevious)
Definition: vbarange.cxx:5319
virtual sal_Bool SAL_CALL hasElements() override
Definition: vbarange.cxx:3686
virtual void SAL_CALL RemoveSubtotal() override
Definition: vbarange.cxx:5532
virtual void SAL_CALL FillDown() override
Definition: vbarange.cxx:1838
virtual css::uno::Any SAL_CALL getFormulaArray() override
Definition: vbarange.cxx:1938
virtual css::uno::Any SAL_CALL getFormula() override
Definition: vbarange.cxx:1691
virtual void SAL_CALL setNumberFormat(const css::uno::Any &NumberFormat)
Definition: vbaformat.cxx:442
virtual css::uno::Any SAL_CALL Borders(const css::uno::Any &) override
Definition: vbarange.cxx:3863
virtual css::uno::Reference< ov::excel::XCharacters > SAL_CALL characters(const css::uno::Any &Start, const css::uno::Any &Length) override
Definition: vbarange.cxx:3625
virtual void SAL_CALL Clear() override
Definition: vbarange.cxx:1581
virtual css::uno::Any SAL_CALL getNumberFormat() override
Definition: vbarange.cxx:2565
static css::uno::Reference< ov::excel::XRange > CellsHelper(const ScDocument *pDoc, const css::uno::Reference< ov::XHelperInterface > &xParent, const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Reference< css::table::XCellRange > &xRange, const css::uno::Any &nRowIndex, const css::uno::Any &nColumnIndex)
Definition: vbarange.cxx:2154
bool getScRangeListForAddress(const OUString &sName, ScDocShell *pDocSh, const ScRange &refRange, ScRangeList &aCellRanges, formula::FormulaGrammar::AddressConvention aConv=formula::FormulaGrammar::CONV_XL_A1)
Definition: vbarange.cxx:1161
void setFormulaValue(const css::uno::Any &aValue, formula::FormulaGrammar::Grammar)
Definition: vbarange.cxx:1640
virtual void SAL_CALL Cut(const css::uno::Any &Destination) override
Definition: vbarange.cxx:2520
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Columns(const css::uno::Any &nIndex) override
Definition: vbarange.cxx:2387
virtual void SAL_CALL setShowDetail(const css::uno::Any &aShowDetail) override
Definition: vbarange.cxx:4908
virtual void SAL_CALL setFormulaArray(const css::uno::Any &rFormula) override
Definition: vbarange.cxx:1976
Direction
virtual void SAL_CALL Ungroup() override
Definition: vbarange.cxx:5231
virtual css::uno::Any SAL_CALL getCellRange() override
Definition: vbarange.cxx:2777
virtual css::uno::Any SAL_CALL getHeight() override
Definition: vbarange.cxx:4050
const ScRangeList & getScRangeList()
Definition: vbarange.cxx:462
virtual css::uno::Any SAL_CALL getPrefixCharacter() override
Definition: vbarange.cxx:4846
virtual void SAL_CALL Activate() override
Definition: vbarange.cxx:2284
virtual sal_Bool SAL_CALL Replace(const OUString &What, const OUString &Replacement, const css::uno::Any &LookAt, const css::uno::Any &SearchOrder, const css::uno::Any &MatchCase, const css::uno::Any &MatchByte, const css::uno::Any &SearchFormat, const css::uno::Any &ReplaceFormat) override
Definition: vbarange.cxx:3024
virtual void SAL_CALL AutoOutline() override
Definition: vbarange.cxx:5167
virtual void SAL_CALL PasteSpecial(const css::uno::Any &Paste, const css::uno::Any &Operation, const css::uno::Any &SkipBlanks, const css::uno::Any &Transpose) override
Definition: vbarange.cxx:2843
virtual css::uno::Reference< ov::excel::XWorksheet > SAL_CALL getWorksheet() override
Definition: vbarange.cxx:4153
virtual css::uno::Any SAL_CALL BorderAround(const css::uno::Any &LineStyle, const css::uno::Any &Weight, const css::uno::Any &ColorIndex, const css::uno::Any &Color) override
Definition: vbarange.cxx:3871
virtual ScCellRangesBase * getCellRangesBase() override
Definition: vbarange.cxx:229
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:401
ScVbaRange(const css::uno::Reference< ov::XHelperInterface > &xParent, const css::uno::Reference< css::uno::XComponentContext > &xContext, const css::uno::Reference< css::table::XCellRange > &xRange, bool bIsRows=false, bool bIsColumns=false)
double getCalcRowHeight(const css::table::CellRangeAddress &)
Definition: vbarange.cxx:3733
virtual css::uno::Sequence< OUString > getServiceNames() override
Definition: vbarange.cxx:5616
virtual sal_Bool SAL_CALL hasError() override
Definition: vbarange.cxx:5622
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL getEntireColumn() override
Definition: vbarange.cxx:2915
double getCalcColWidth(const css::table::CellRangeAddress &)
Definition: vbarange.cxx:3723
virtual css::uno::Any SAL_CALL getWidth() override
Definition: vbarange.cxx:3825
ScDocument & getScDocument()
Definition: vbarange.cxx:419
virtual void SAL_CALL UnMerge() override
Definition: vbarange.cxx:5271
css::uno::Reference< ov::excel::XValidation > m_xValidation
Definition: vbarange.hxx:81
virtual void SAL_CALL Select() override
Definition: vbarange.cxx:2236
css::uno::Reference< ov::XCollection > m_Borders
Definition: vbarange.hxx:76
virtual css::uno::Any SAL_CALL HasFormula() override
Definition: vbarange.cxx:1753
css::uno::Reference< ov::excel::XRange > getEntireColumnOrRow(bool bColumn)
Definition: vbarange.cxx:2877
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL CurrentArray() override
Definition: vbarange.cxx:1918
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL MergeArea() override
Definition: vbarange.cxx:4943
virtual ~ScVbaRange() override
Definition: vbarange.cxx:1461
virtual css::uno::Type SAL_CALL getElementType() override
Definition: vbarange.hxx:286
bool mbIsColumns
Definition: vbarange.hxx:80
ScRefFlags
Definition: address.hxx:145
virtual void SAL_CALL Subtotal(::sal_Int32 GroupBy,::sal_Int32 Function, const css::uno::Sequence< ::sal_Int32 > &TotalList, const css::uno::Any &Replace, const css::uno::Any &PageBreaks, const css::uno::Any &SummaryBelowData) override
Definition: vbarange.cxx:5539
virtual void processValue(const css::uno::Any &aValue)=0
void setValue(const css::uno::Any &aValue, ValueSetter &setter)
static ScVbaRange * getImplementation(const css::uno::Reference< ov::excel::XRange > &rxRange)
Returns the ScVbaRange implementation object for the passed VBA Range object.
Definition: vbarange.cxx:442
virtual css::uno::Any SAL_CALL getShowDetail() override
Definition: vbarange.cxx:4871
virtual bool processValue(const css::uno::Any &aValue, const css::uno::Reference< css::table::XCell > &xCell)=0
virtual void SAL_CALL ClearComments() override
Definition: vbarange.cxx:1617
static bool getCellRangesForAddress(ScRefFlags &rResFlags, const OUString &sAddress, ScDocShell *pDocSh, ScRangeList &rCellRanges, formula::FormulaGrammar::AddressConvention eConv, char cDelimiter)
Definition: vbarange.cxx:1146
virtual void SAL_CALL PrintOut(const css::uno::Any &From, const css::uno::Any &To, const css::uno::Any &Copies, const css::uno::Any &Preview, const css::uno::Any &ActivePrinter, const css::uno::Any &PrintToFile, const css::uno::Any &Collate, const css::uno::Any &PrToFileName) override
Definition: vbarange.cxx:4969
virtual css::uno::Reference< ov::excel::XRange > SAL_CALL Previous() override
Definition: vbarange.cxx:5359
virtual void SAL_CALL Group() override
Definition: vbarange.cxx:5226
virtual css::uno::Reference< ov::XHelperInterface > thisHelperIface() override
Definition: vbarange.hxx:156
SfxItemSet * getCurrentDataSet()
Definition: vbarange.cxx:243
css::uno::Reference< ov::XCollection > m_Areas
Definition: vbarange.hxx:75
virtual void SAL_CALL setRowHeight(const css::uno::Any &_rowheight) override
Definition: vbarange.cxx:3957