1 /***************************************************************************
2  *   Copyright (C) 2004-2007 by Albert Astals Cid                          *
3  *   aacid@kde.org                                                         *
4  *                                                                         *
5  *   This program is free software; you can redistribute it and/or modify  *
6  *   it under the terms of the GNU General Public License as published by  *
7  *   the Free Software Foundation; either version 2 of the License, or     *
8  *   (at your option) any later version.                                   *
9  ***************************************************************************/
10 
11 #ifndef MAP_H
12 #define MAP_H
13 
14 #include <KLocalizedString>
15 
16 #include <QColor>
17 #include <QMap>
18 
19 #include "division.h"
20 
21 class KGmap
22 {
23 	public:
24 		KGmap();
25 		~KGmap();
26 
27 		bool addDivision(division *d);
28 
29 		void setFile(const QString &s);
30 		bool setMapFile(const QString &s);
31 		void setName(const QString &s);
32 		void setDivisionsString(const QString &s);
33 		void setAuthor(const QString &s);
34 		void setCapitalToDivisionQuestionPattern(const QString &str);
35 		void setDivisionToCapitalQuestionPattern(const QString &str);
36 		void setCapitalToDivisionTitle(const QString &str);
37 		void setDivisionToCapitalTitle(const QString &str);
38 
39 		// return the number of askable divisions
40 		uint count(division::askMode am) const;
41 		QString getFile() const;
42 		QString getFileName() const;
43 		QString getMapFile() const;
44 		QString getName() const;
45 		QString getDivisionsString() const;
46 		division *getRandomDivision(division::askMode am) const;
47 		QString getWhatIs(QRgb c, bool all) const;
48 		QString getAuthor() const;
49 		QColor getColor(const QString &s) const;
50 		QList<const division*> getIgnoredDivisions(division::askMode am) const;
51 		QList<const division*> getAllDivisionsOrdered() const;
52 		KLocalizedString getCapitalToDivisionQuestionPattern() const;
53 		KLocalizedString getDivisionToCapitalQuestionPattern() const;
54 		QString getCapitalToDivisionTitle() const;
55 		QString getDivisionToCapitalTitle() const;
56 		division *getDivision(QRgb c) const;
57 		division *getDivision(const QString &divisionName) const;
58 
59 	private:
60 		QList<division*> p_divisions;
61 
62 		QString p_name, p_file, p_mapFile;
63 		QString p_divisionsString;
64 		QString p_capitalToDivisionPattern;
65 		QString p_divisionToCapitalPattern;
66 		QString p_capitalToDivisionTitle;
67 		QString p_divisionToCapitalTitle;
68 		QString p_author;
69 };
70 
71 #endif
72