KExtHighscore::Manager Class Reference
This class manages highscores and players entries (several players can share the same highscores list if the libkdegame library is built to support a common highscores file; NOTE that to correctly implement such feature we probably need a locking mechanism in KHighscore). More...
#include <kexthighscore.h>
Public Types | |
enum | ScoreTypeBound { ScoreNotBound, ScoreBound } |
enum | ShowMode { AlwaysShow, NeverShow, ShowForHigherScore, ShowForHighestScore } |
enum | ScoreType { Normal, MinuteTime } |
enum | ItemType { ScoreDefault, MeanScoreDefault, BestScoreDefault, ElapsedTime } |
enum | PlayerItemType { MeanScore, BestScore } |
enum | LabelType { Standard, I18N, WW, Icon } |
Public Member Functions | |
Manager (uint nbGameTypes=1, uint maxNbEntries=10) | |
void | setWWHighscores (const KURL &url, const QString &version) |
void | setTrackLostGames (bool track) |
void | setTrackDrawGames (bool track) |
void | setShowStatistics (bool show) |
void | showStatistics (bool show) KDE_DEPRECATED |
void | setShowDrawGamesStatistic (bool show) |
void | setScoreHistogram (const QMemArray< uint > &scores, ScoreTypeBound type) |
void | setShowMode (ShowMode mode) |
void | setScoreType (ScoreType type) |
void | setScoreItem (uint worstScore, Item *item) |
void | addScoreItem (const QString &name, Item *item) |
void | setPlayerItem (PlayerItemType type, Item *item) |
virtual bool | isStrictlyLess (const Score &s1, const Score &s2) const |
virtual QString | gameTypeLabel (uint gameType, LabelType type) const |
Static Public Member Functions | |
static Item * | createItem (ItemType type) |
Protected Member Functions | |
virtual void | convertLegacy (uint gameType) |
void | submitLegacyScore (const Score &score) const |
virtual void | additionalQueryItems (KURL &url, const Score &score) const |
Static Protected Member Functions | |
static void | addToQueryURL (KURL &url, const QString &item, const QString &content) |
Friends | |
class | ManagerPrivate |
Detailed Description
This class manages highscores and players entries (several players can share the same highscores list if the libkdegame library is built to support a common highscores file; NOTE that to correctly implement such feature we probably need a locking mechanism in KHighscore).You need one instance of this class during the application lifetime ; in main() just insert
KExtHighscore::Manager highscoresManager;
This class has three functions :
- Update the highscores list when new entries are submitted
- Display the highscores list and the players list
- Send query to an optionnal web server to support world-wide highscores
The highscores and the players lists contain several items described by the Item class.
The highscores list contains by default :
- the player name (automatically set from the config value)
- the score value
- the time and date of the highscore (automatically set)
The players list contains :
- the player name (as defined by the user in the configuration dialog)
- the number of games played
- the mean score
- the best score
- the best score time and date
- the player comment (as defined by the user in the configuration dialog)
To submit a new score at game end, just construct a Score, set the score data and then call submitScore().
KExtHighscore::Score score(KExtHighscore::Won); score.setScore(myScore); KExtHighscore::submitScore(score, widget);
Definition at line 138 of file kexthighscore.h.
Member Enumeration Documentation
|
Score type (.
Definition at line 230 of file kexthighscore.h. |
|
Some predefined item types.
Definition at line 247 of file kexthighscore.h. |
|
Possible type of label (.
Definition at line 295 of file kexthighscore.h. |
Constructor & Destructor Documentation
|
Constructor.
Definition at line 107 of file kexthighscore.cpp. |
Member Function Documentation
|
Set the world-wide highscores. By default there is no world-wide highscores. Note: should be called at construction time.
Definition at line 148 of file kexthighscore.cpp. |
|
Set if the number of lost games should be track for the world-wide highscores statistics. By default, there is no tracking. False by default. Note: should be called at construction time. Definition at line 123 of file kexthighscore.cpp. |
|
By default, there is no tracking. False by default. Note: should be called at construction time. Definition at line 128 of file kexthighscore.cpp. |
|
You only want to show this tab if it makes sense to lose or to win the game (for e.g. it makes no sense for a tetris game but it does for a minesweeper game). False by default. Note: should be called at construction time. Definition at line 133 of file kexthighscore.cpp. |
|
Definition at line 138 of file kexthighscore.cpp. |
|
False by default. Definition at line 143 of file kexthighscore.cpp. |
|
Set the ranges for the score histogram. Note: should be called at construction time. Definition at line 160 of file kexthighscore.cpp. |
|
Set how the highscores dialog is shown at game end. By default, the mode is ShowForHigherScore. Note: should be called at construction time. Definition at line 169 of file kexthighscore.cpp. |
|
Set score type. Helper method to quickly set the type of score. By default the type is Normal. Note: should be called at construction time. Definition at line 174 of file kexthighscore.cpp. References createItem(), setPlayerItem(), KExtHighscore::Item::setPrettyFormat(), and setScoreItem(). |
|
Create a predefined item.
Definition at line 206 of file kexthighscore.cpp. References KExtHighscore::Item::setPrettyFormat(), and KExtHighscore::Item::setPrettySpecial(). Referenced by setScoreType(). |
|
Replace the default score item in the highscores list by the given one.
Note : This method should be called at construction time. Definition at line 231 of file kexthighscore.cpp. References KExtHighscore::Item::setDefaultValue(). Referenced by setScoreType(). |
|
Add an item in the highscores list (it will add a column to this list). Note : This method should be called at construction time. Definition at line 241 of file kexthighscore.cpp. |
|
Replace an item in the players list. Note : This method should be called at construction time. Definition at line 246 of file kexthighscore.cpp. References KExtHighscore::Item::defaultValue(). Referenced by setScoreType(). |
|
s1<s2since the operator calls this method. Definition at line 201 of file kexthighscore.cpp. |
|
Definition at line 264 of file kexthighscore.cpp. |
|
This method is called once for each player (ie for each user). You can reimplement it to convert old style highscores to the new mechanism (
Definition at line 312 of file kexthighscore.h. |
|
This method should be called from convertLegacy. It is used to submit an old highscore (it will not be send over the network). For each score do something like: Score score(Won); score.setScore(oldScore); score.setData("name", name); submitLegacyScore(score); Definition at line 196 of file kexthighscore.cpp. |
|
This method is called before submitting a score to the world-wide highscores server. You can reimplement this method to add an entry with addToQueryURL. By default this method does nothing.
Definition at line 337 of file kexthighscore.h. |
|
Add an entry to the url to be submitted (.
Definition at line 278 of file kexthighscore.cpp. |
The documentation for this class was generated from the following files: