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