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 <svl/hint.hxx>
18 struct RefUpdateContext
;
19 class ColRowReorderMapType
;
21 class RefHint
: public SfxHint
36 RefHint( Type eType
);
40 virtual ~RefHint() override
= 0;
45 class RefMovedHint
: public RefHint
48 ScAddress maMoveDelta
;
49 const sc::RefUpdateContext
& mrCxt
;
53 RefMovedHint( const ScRange
& rRange
, const ScAddress
& rMove
, const sc::RefUpdateContext
& rCxt
);
54 virtual ~RefMovedHint() override
;
57 * Get the source range from which the references have moved.
59 const ScRange
& getRange() const;
62 * Get the movement vector.
64 const ScAddress
& getDelta() const;
66 const sc::RefUpdateContext
& getContext() const;
69 class RefColReorderHint
: public RefHint
71 const sc::ColRowReorderMapType
& mrColMap
;
77 RefColReorderHint( const sc::ColRowReorderMapType
& rColMap
, SCTAB nTab
, SCROW nRow1
, SCROW nRow2
);
78 virtual ~RefColReorderHint() override
;
80 const sc::ColRowReorderMapType
& getColMap() const;
83 SCROW
getStartRow() const;
84 SCROW
getEndRow() const;
87 class RefRowReorderHint
: public RefHint
89 const sc::ColRowReorderMapType
& mrRowMap
;
95 RefRowReorderHint( const sc::ColRowReorderMapType
& rRowMap
, SCTAB nTab
, SCCOL nCol1
, SCCOL nCol2
);
96 virtual ~RefRowReorderHint() override
;
98 const sc::ColRowReorderMapType
& getRowMap() const;
100 SCTAB
getTab() const;
101 SCCOL
getStartColumn() const;
102 SCCOL
getEndColumn() const;
105 class RefStartListeningHint
: public RefHint
108 RefStartListeningHint();
109 virtual ~RefStartListeningHint() override
;
112 class RefStopListeningHint
: public RefHint
115 RefStopListeningHint();
116 virtual ~RefStopListeningHint() override
;
123 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */