LibreOffice Module sc (master)  1
docfuncutil.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 Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6  */
7 
8 #pragma once
9 
10 #include "undobase.hxx"
11 
12 #include <memory>
13 
14 class ScMarkData;
15 class ScRange;
16 enum class InsertDeleteFlags : sal_uInt16;
17 
18 namespace sc {
19 
21 {
22 public:
23 
24  static bool hasProtectedTab( const ScDocument& rDoc, const ScMarkData& rMark );
25 
26  static ScDocumentUniquePtr createDeleteContentsUndoDoc(
27  ScDocument& rDoc, const ScMarkData& rMark, const ScRange& rRange,
28  InsertDeleteFlags nFlags, bool bOnlyMarked );
29 
30  static void addDeleteContentsUndo(
31  SfxUndoManager* pUndoMgr, ScDocShell* pDocSh, const ScMarkData& rMark,
32  const ScRange& rRange, ScDocumentUniquePtr&& pUndoDoc, InsertDeleteFlags nFlags,
33  const std::shared_ptr<ScSimpleUndo::DataSpansType>& pSpans,
34  bool bMulti, bool bDrawUndo );
35 
36  static std::shared_ptr<ScSimpleUndo::DataSpansType> getNonEmptyCellSpans(
37  const ScDocument& rDoc, const ScMarkData& rMark, const ScRange& rRange );
38 };
39 
40 }
41 
42 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
todo: It should be possible to have MarkArrays for each table, in order to enable "search all" across...
Definition: markdata.hxx:42
std::unique_ptr< ScDocument, o3tl::default_delete< ScDocument > > ScDocumentUniquePtr
Definition: document.hxx:2622
InsertDeleteFlags
Definition: global.hxx:147