1/* This file is part of the KDE project
2 Copyright 2008 Stefan Nikolaus stefan.nikolaus@kdemail.net
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 Boston, MA 02110-1301, USA.
18*/
19
20#ifndef KSPREAD_VALIDITY_STORAGE
21#define KSPREAD_VALIDITY_STORAGE
22
23#include "RectStorage.h"
24#include "Validity.h"
25
26namespace Calligra
27{
28namespace Sheets
29{
30
31/**
32 * \class ValidityStorage
33 * \ingroup Storage
34 * \ingroup Value
35 * Stores cell validations.
36 */
37class ValidityStorage : public QObject, public RectStorage<Validity>
38{
39 Q_OBJECT
40public:
41 explicit ValidityStorage(Map* map) : QObject(map), RectStorage<Validity>(map) {}
42 ValidityStorage(const ValidityStorage& other) : QObject(other.parent()), RectStorage<Validity>(other) {}
43
44protected Q_SLOTS:
45 virtual void triggerGarbageCollection() {
46 QTimer::singleShot(g_garbageCollectionTimeOut, this, SLOT(garbageCollection()));
47 }
48 virtual void garbageCollection() {
49 RectStorage<Validity>::garbageCollection();
50 }
51};
52
53} // namespace Sheets
54} // namespace Calligra
55
56#endif // KSPREAD_VALIDITY_STORAGE
57