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 INCLUDED_SC_INC_REFHINT_HXX
11 #define INCLUDED_SC_INC_REFHINT_HXX
13 #include "address.hxx"
14 #include "simplehintids.hxx"
18 struct RefUpdateContext
;
19 class ColRowReorderMapType
;
21 class RefHint
: public SfxSimpleHint
35 RefHint(); // disabled
38 RefHint( Type eType
);
41 virtual ~RefHint() = 0;
46 class RefMovedHint
: public RefHint
49 ScAddress maMoveDelta
;
50 const sc::RefUpdateContext
& mrCxt
;
54 RefMovedHint( const ScRange
& rRange
, const ScAddress
& rMove
, const sc::RefUpdateContext
& rCxt
);
55 virtual ~RefMovedHint();
58 * Get the source range from which the references have moved.
60 const ScRange
& getRange() const;
63 * Get the movement vector.
65 const ScAddress
& getDelta() const;
67 const sc::RefUpdateContext
& getContext() const;
70 class RefColReorderHint
: public RefHint
72 const sc::ColRowReorderMapType
& mrColMap
;
78 RefColReorderHint( const sc::ColRowReorderMapType
& rColMap
, SCTAB nTab
, SCROW nRow1
, SCROW nRow2
);
79 virtual ~RefColReorderHint();
81 const sc::ColRowReorderMapType
& getColMap() const;
84 SCROW
getStartRow() const;
85 SCROW
getEndRow() const;
88 class RefRowReorderHint
: public RefHint
90 const sc::ColRowReorderMapType
& mrRowMap
;
96 RefRowReorderHint( const sc::ColRowReorderMapType
& rRowMap
, SCTAB nTab
, SCCOL nCol1
, SCCOL nCol2
);
97 virtual ~RefRowReorderHint();
99 const sc::ColRowReorderMapType
& getRowMap() const;
101 SCTAB
getTab() const;
102 SCCOL
getStartColumn() const;
103 SCCOL
getEndColumn() const;
106 class RefStartListeningHint
: public RefHint
109 RefStartListeningHint();
110 virtual ~RefStartListeningHint();
113 class RefStopListeningHint
: public RefHint
116 RefStopListeningHint();
117 virtual ~RefStopListeningHint();
124 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */