Bump version to 6.4-15
[LibreOffice.git] / sc / inc / refhint.hxx
blob7dec98a9e4a02a93c1bf64e165fada685c3fc78c
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 "types.hxx"
14 #include <svl/hint.hxx>
16 namespace sc {
18 struct RefUpdateContext;
19 class ColRowReorderMapType;
21 class RefHint : public SfxHint
23 public:
24 enum Type {
25 ColumnReordered,
26 RowReordered,
27 StartListening,
28 StopListening
31 private:
32 Type const meType;
34 protected:
35 RefHint( Type eType );
37 public:
38 RefHint() = delete;
39 virtual ~RefHint() override = 0;
41 RefHint(RefHint const &) = default;
42 RefHint(RefHint &&) = default;
43 RefHint & operator =(RefHint const &) = delete;
44 RefHint & operator =(RefHint &&) = delete;
46 Type getType() const;
49 class RefColReorderHint final : public RefHint
51 const sc::ColRowReorderMapType& mrColMap;
52 SCTAB const mnTab;
53 SCROW const mnRow1;
54 SCROW const mnRow2;
56 public:
57 RefColReorderHint( const sc::ColRowReorderMapType& rColMap, SCTAB nTab, SCROW nRow1, SCROW nRow2 );
58 virtual ~RefColReorderHint() override;
60 RefColReorderHint(RefColReorderHint const &) = default;
61 RefColReorderHint(RefColReorderHint &&) = default;
62 RefColReorderHint & operator =(RefColReorderHint const &) = delete; // due to mrColMap
63 RefColReorderHint & operator =(RefColReorderHint &&) = delete; // due to mrColMap
65 const sc::ColRowReorderMapType& getColMap() const;
67 SCTAB getTab() const;
68 SCROW getStartRow() const;
69 SCROW getEndRow() const;
72 class RefRowReorderHint : public RefHint
74 const sc::ColRowReorderMapType& mrRowMap;
75 SCTAB const mnTab;
76 SCCOL const mnCol1;
77 SCCOL const mnCol2;
79 public:
80 RefRowReorderHint( const sc::ColRowReorderMapType& rRowMap, SCTAB nTab, SCCOL nCol1, SCCOL nCol2 );
81 virtual ~RefRowReorderHint() override;
83 RefRowReorderHint(RefRowReorderHint const &) = default;
84 RefRowReorderHint(RefRowReorderHint &&) = default;
85 RefRowReorderHint & operator =(RefRowReorderHint const &) = delete; // due to mrRowMap
86 RefRowReorderHint & operator =(RefRowReorderHint &&) = delete; // due to mrRowMap
88 const sc::ColRowReorderMapType& getRowMap() const;
90 SCTAB getTab() const;
91 SCCOL getStartColumn() const;
92 SCCOL getEndColumn() const;
95 class RefStartListeningHint final : public RefHint
97 public:
98 RefStartListeningHint();
99 virtual ~RefStartListeningHint() override;
102 class RefStopListeningHint final : public RefHint
104 public:
105 RefStopListeningHint();
106 virtual ~RefStopListeningHint() override;
111 #endif
113 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */