LibreOffice Module sc (master)  1
documentstreamaccess.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 
10 #pragma once
11 
12 #include <rtl/ustring.hxx>
13 #include <memory>
14 
15 class ScDocument;
16 class ScAddress;
17 class ScRange;
18 
19 namespace sc
20 {
21 struct DocumentStreamAccessImpl;
22 
28 {
29  std::unique_ptr<DocumentStreamAccessImpl> mpImpl;
30 
31 public:
34 
35  void setNumericCell(const ScAddress& rPos, double fVal);
36  void setStringCell(const ScAddress& rPos, const OUString& rStr);
37 
42  void reset();
43 
48  void shiftRangeUp(const ScRange& rRange);
49 
54  void shiftRangeDown(const ScRange& rRange);
55 };
56 }
57 
58 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void reset()
Clear its internal state, and more importantly all the block position hints currently held...
std::unique_ptr< DocumentStreamAccessImpl > mpImpl
Provides methods to allow direct shifting of document content without broadcasting or shifting of bro...
DocumentStreamAccess(ScDocument &rDoc)
void shiftRangeUp(const ScRange &rRange)
Pop the top row inside specified range, shift all the other rows up by one, then set the bottom row e...
CAUTION! The following defines must be in the same namespace as the respective type.
void shiftRangeDown(const ScRange &rRange)
Top the bottom row inside specified range, shift all the other rows above downward by one by insertin...
void setStringCell(const ScAddress &rPos, const OUString &rStr)
void setNumericCell(const ScAddress &rPos, double fVal)