00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef KEXTHIGHSCORE_TAB_H
00021
#define KEXTHIGHSCORE_TAB_H
00022
00023
#include <qcombobox.h>
00024
#include <qmemarray.h>
00025
00026
class QLabel;
00027
class KListView;
00028
00029
00030
namespace KExtHighscore
00031 {
00032
00033
00034
class PlayersCombo :
public QComboBox
00035 {
00036 Q_OBJECT
00037
public:
00038 PlayersCombo(
QWidget *parent = 0,
const char *name = 0);
00039
00040
void load();
00041
00042 signals:
00043
void playerSelected(uint i);
00044
void allSelected();
00045
void noneSelected();
00046
00047
private slots:
00048
void activatedSlot(
int i);
00049 };
00050
00051
00052
class AdditionalTab :
public QWidget
00053 {
00054 Q_OBJECT
00055
public:
00056 AdditionalTab(
QWidget *parent,
const char *name);
00057
00058
virtual void load();
00059
00060
private slots:
00061
void playerSelected(uint i) { display(i) ; }
00062
void allSelected();
00063
00064
protected:
00065
void init();
00066
static QString percent(uint n, uint total,
bool withBraces =
false);
00067
virtual void display(uint i) = 0;
00068
00069
private:
00070 PlayersCombo *_combo;
00071 };
00072
00073
00074
class StatisticsTab :
public AdditionalTab
00075 {
00076 Q_OBJECT
00077
public:
00078 StatisticsTab(
QWidget *parent);
00079
00080
void load();
00081
00082
private:
00083
enum Count { Total = 0, Won, Lost, Nb_Counts };
00084
static const char *COUNT_LABELS[Nb_Counts];
00085
enum Trend { CurrentTrend = 0, WonTrend, LostTrend, Nb_Trends };
00086
static const char *TREND_LABELS[Nb_Trends];
00087
struct Data {
00088 uint count[Nb_Counts];
00089
double trend[Nb_Trends];
00090 };
00091
QMemArray<Data> _data;
00092
QLabel *_nbs[Nb_Counts], *_percents[Nb_Counts], *_trends[Nb_Trends];
00093
00094
QString percent(
const Data &, Count) const;
00095
void display(uint i);
00096 };
00097
00098
00099 class HistogramTab : public AdditionalTab
00100 {
00101 Q_OBJECT
00102
public:
00103 HistogramTab(
QWidget *parent);
00104
00105
void load();
00106
00107
private:
00108
QMemArray<uint> _counts;
00109
QMemArray<uint> _data;
00110 KListView *_list;
00111
00112
void display(uint i);
00113 };
00114
00115 }
00116
00117
#endif