update emoji autocorrect entries from po-files
[LibreOffice.git] / sc / inc / refhint.hxx
blob8d00ae1fa2f24d4e446276feb706c18b9f08eefb
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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/.
8 */
10 #ifndef INCLUDED_SC_INC_REFHINT_HXX
11 #define INCLUDED_SC_INC_REFHINT_HXX
13 #include "address.hxx"
14 #include "simplehintids.hxx"
16 namespace sc {
18 struct RefUpdateContext;
19 class ColRowReorderMapType;
21 class RefHint : public SfxSimpleHint
23 public:
24 enum Type {
25 Moved,
26 ColumnReordered,
27 RowReordered,
28 StartListening,
29 StopListening
32 private:
33 Type meType;
35 RefHint(); // disabled
37 protected:
38 RefHint( Type eType );
40 public:
41 virtual ~RefHint() = 0;
43 Type getType() const;
46 class RefMovedHint : public RefHint
48 ScRange maRange;
49 ScAddress maMoveDelta;
50 const sc::RefUpdateContext& mrCxt;
52 public:
54 RefMovedHint( const ScRange& rRange, const ScAddress& rMove, const sc::RefUpdateContext& rCxt );
55 virtual ~RefMovedHint();
57 /**
58 * Get the source range from which the references have moved.
60 const ScRange& getRange() const;
62 /**
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;
73 SCTAB mnTab;
74 SCROW mnRow1;
75 SCROW mnRow2;
77 public:
78 RefColReorderHint( const sc::ColRowReorderMapType& rColMap, SCTAB nTab, SCROW nRow1, SCROW nRow2 );
79 virtual ~RefColReorderHint();
81 const sc::ColRowReorderMapType& getColMap() const;
83 SCTAB getTab() const;
84 SCROW getStartRow() const;
85 SCROW getEndRow() const;
88 class RefRowReorderHint : public RefHint
90 const sc::ColRowReorderMapType& mrRowMap;
91 SCTAB mnTab;
92 SCCOL mnCol1;
93 SCCOL mnCol2;
95 public:
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
108 public:
109 RefStartListeningHint();
110 virtual ~RefStartListeningHint();
113 class RefStopListeningHint : public RefHint
115 public:
116 RefStopListeningHint();
117 virtual ~RefStopListeningHint();
122 #endif
124 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */