20#ifndef KEXTHIGHSCORE_GUI_H
21#define KEXTHIGHSCORE_GUI_H
23#include <tqcheckbox.h>
26#include <tqtabwidget.h>
28#include <tdelistview.h>
30#include <kpushbutton.h>
31#include <kdialogbase.h>
33#include "kexthighscore.h"
36namespace KExtHighscore
45class ShowItem :
public TDEListViewItem
48 ShowItem(TQListView *,
bool highlight);
51 virtual void paintCell(TQPainter *,
const TQColorGroup &,
int column,
52 int width,
int align);
58class ScoresList :
public TDEListView
63 ScoresList(TQWidget *parent);
65 void addHeader(
const ItemArray &);
68 TQListViewItem *addLine(
const ItemArray &, uint index,
bool highlight);
69 virtual TQString itemText(
const ItemContainer &, uint row)
const = 0;
72 virtual void addLineItem(
const ItemArray &, uint index,
73 TQListViewItem *item);
77class HighscoresList :
public ScoresList
82 HighscoresList(TQWidget *parent);
84 void load(
const ItemArray &,
int highlight);
87 TQString itemText(
const ItemContainer &, uint row)
const;
90class HighscoresWidget :
public TQWidget
95 HighscoresWidget(TQWidget *parent);
100 void tabChanged(
int i);
103 void changeTab(
int i);
106 void tabChanged() { emit tabChanged(_tw->currentPageIndex()); }
110 HighscoresList *_scoresList, *_playersList;
111 AdditionalTab *_statsTab, *_histoTab;
114class HighscoresDialog :
public KDialogBase
119 HighscoresDialog(
int rank, TQWidget *parent);
124 void tabChanged(
int i) { _tab = i; }
125 void createPage(TQWidget *);
130 TQValueVector<HighscoresWidget *> _widgets;
134class LastMultipleScoresList :
public ScoresList
139 LastMultipleScoresList(
const TQValueVector<Score> &, TQWidget *parent);
142 void addLineItem(
const ItemArray &, uint index, TQListViewItem *line);
143 TQString itemText(
const ItemContainer &, uint row)
const;
146 const TQValueVector<Score> &_scores;
149class TotalMultipleScoresList :
public ScoresList
154 TotalMultipleScoresList(
const TQValueVector<Score> &, TQWidget *parent);
157 void addLineItem(
const ItemArray &, uint index, TQListViewItem *line);
158 TQString itemText(
const ItemContainer &, uint row)
const;
161 const TQValueVector<Score> &_scores;
165class ConfigDialog :
public KDialogBase
170 ConfigDialog(TQWidget *parent);
172 bool hasBeenSaved()
const {
return _saved; }
177 void slotApply() { save(); }
178 void nickNameChanged(
const TQString &);
182 TQLineEdit *_nickname, *_comment;
189class AskNameDialog :
public KDialogBase
194 AskNameDialog(TQWidget *parent);
196 TQString name()
const {
return _edit->text(); }
197 bool dontAskAgain()
const {
return _checkbox->isChecked(); }
204 TQCheckBox *_checkbox;
Manage a bunch of Item which are saved under the same group in KHighscores config file.
This class contains data for a score.