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/.
10 #ifndef SC_CLIPCONTEXT_HXX
11 #define SC_CLIPCONTEXT_HXX
13 #include "address.hxx"
14 #include "mtvelements.hxx"
17 #include <boost/unordered_map.hpp>
25 sc::ColumnBlockPositionSet maSet
;
27 ClipContextBase(); // disabled
30 ClipContextBase(ScDocument
& rDoc
);
31 virtual ~ClipContextBase();
33 ColumnBlockPosition
* getBlockPosition(SCTAB nTab
, SCCOL nCol
);
36 class CopyFromClipContext
: public ClipContextBase
40 ScDocument
* mpRefUndoDoc
;
41 ScDocument
* mpClipDoc
;
42 sal_uInt16 mnInsertFlag
;
44 bool mbSkipAttrForEmptyCells
:1;
46 CopyFromClipContext(); // disabled
49 CopyFromClipContext(ScDocument
& rDoc
,
50 ScDocument
* pRefUndoDoc
, ScDocument
* pClipDoc
, sal_uInt16 nInsertFlag
,
51 bool bAsLink
, bool bSkipAttrForEmptyCells
);
53 virtual ~CopyFromClipContext();
55 void setTabRange(SCTAB nStart
, SCTAB nEnd
);
57 SCTAB
getTabStart() const;
58 SCTAB
getTabEnd() const;
60 ScDocument
* getUndoDoc();
61 ScDocument
* getClipDoc();
62 sal_uInt16
getInsertFlag() const;
63 bool isAsLink() const;
64 bool isSkipAttrForEmptyCells() const;
67 class CopyToClipContext
: public ClipContextBase
69 bool mbKeepScenarioFlags
:1;
72 CopyToClipContext(); // disabled
75 CopyToClipContext(ScDocument
& rDoc
, bool bKeepScenarioFlags
, bool bCloneNotes
);
76 virtual ~CopyToClipContext();
78 bool isKeepScenarioFlags() const;
79 bool isCloneNotes() const;
82 class CopyToDocContext
: public ClipContextBase
85 CopyToDocContext(ScDocument
& rDoc
);
86 virtual ~CopyToDocContext();
89 class MixDocContext
: public ClipContextBase
92 MixDocContext(ScDocument
& rDoc
);
93 virtual ~MixDocContext();
100 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */