LibreOffice Module sc (master) 1
listenerquery.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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 */
9
10#ifndef SC_LISTENERQUERY_HXX
11#define SC_LISTENERQUERY_HXX
12
13#include "address.hxx"
14#include "rangelst.hxx"
15#include <svl/listener.hxx>
16
17#include <unordered_map>
18#include <vector>
19
20namespace sc
21{
27{
28public:
29 typedef std::vector<SCROW> ColType;
30 typedef std::unordered_map<SCCOL, ColType> ColsType;
31 typedef std::unordered_map<SCTAB, ColsType> TabsType;
32
34 virtual ~RefQueryFormulaGroup() override;
35
36 void setSkipRange(const ScRange& rRange);
37 void add(const ScAddress& rPos);
38
43 const TabsType& getAllPositions() const;
44
45private:
48};
49
51{
53
54 QueryRange(const QueryRange&) = delete;
55 QueryRange& operator=(const QueryRange&) = delete;
56
57public:
58 QueryRange();
59 virtual ~QueryRange() override;
60
61 void add(const ScRange& rRange);
62
63 void swapRanges(ScRangeList& rRanges);
64};
65}
66
67#endif
68
69/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
void add(const ScRange &rRange)
void swapRanges(ScRangeList &rRanges)
virtual ~QueryRange() override
QueryRange & operator=(const QueryRange &)=delete
ScRangeList maRanges
QueryRange(const QueryRange &)=delete
Used to collect positions of formula cells that belong to a formula group.
void add(const ScAddress &rPos)
const TabsType & getAllPositions() const
Row positions in each column may contain duplicates.
std::unordered_map< SCTAB, ColsType > TabsType
std::unordered_map< SCCOL, ColType > ColsType
void setSkipRange(const ScRange &rRange)
std::vector< SCROW > ColType
virtual ~RefQueryFormulaGroup() override
CAUTION! The following defines must be in the same namespace as the respective type.
Definition: broadcast.cxx:15