Scribus
Open source desktop publishing at your fingertips
prefstable.h
1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 /***************************************************************************
8  * Copyright (C) 2004 by Riku Leino *
9  * riku.leino@gmail.com *
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  * This program is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
19  * GNU General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU General Public License *
22  * along with this program; if not, write to the *
23  * Free Software Foundation, Inc., *
24  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
25  ***************************************************************************/
26 
27 #ifndef PREFSTABLE_H
28 #define PREFSTABLE_H
29 
30 #include <string>
31 #include <vector>
32 #include <QMap>
33 #include <QString>
34 #include <QStringList>
35 
36 #include "scribusapi.h"
37 
38 typedef std::vector<QStringList> Table;
39 
40 class SCRIBUS_API PrefsTable
41 {
42 private:
43  QString name;
44  Table table;
45  int rowCount;
46  int colCount;
47  void checkSize(int rowIndex, int colIndex, QString defValue = "");
48  void checkHeight(int rowIndex);
49  void checkWidth(int rowIndex, int colIndex, QString defValue = "");
50 public:
51  PrefsTable(QString tableName);
52  ~PrefsTable();
53  QString getName();
54  int height();
55  int getRowCount();
56  int width();
57  int getColCount();
58  QString get(int row, int col, const QString& defValue = "");
59  void set(int row, int col, const char* value);
60  void set(int row, int col, const std::string& value);
61  void set(int row, int col, const QString& value);
62  int getInt(int row, int col = 0, int defValue = -1);
63  void set(int row, int col, int value);
64  void set(int row, int col, uint value);
65  uint getUInt(int row, int col, uint defValue = 0);
66  double getDouble(int row, int col, double defValue = -1.0);
67  void set(int row, int col, double value);
68  bool getBool(int row, int col, bool defValue = false);
69  void set(int row, int col, bool value);
70 /*** finds what in searchCol and returns the row index if found if not will return -1 */
71  int find(int searchCol, const QString& what);
72 /*** Removes the row where in column colIndex can be found text what ********/
73  void removeRow(int colIndex, const QString& what);
74 /*** Empties the table ***/
75  void clear();
76 };
77 
78 #endif
Definition: prefstable.h:40