1 // Copyright (c) Warwick Allison, 1999.
2 // Qt4 conversion copyright (c) Ray Chason, 2012-2014.
3 // NetHack may be freely redistributed.  See license for details.
4 
5 // qt4stat.h -- bindings between the Qt 4 interface and the main code
6 
7 #ifndef QT4STAT_H
8 #define QT4STAT_H
9 
10 #include "qt4win.h"
11 #include "qt4icon.h"
12 
13 namespace nethack_qt4 {
14 
15 class NetHackQtStatusWindow : QWidget, public NetHackQtWindow {
16 	Q_OBJECT
17 public:
18 	NetHackQtStatusWindow();
19 
20 	virtual QWidget* Widget();
21 
22 	virtual void Clear();
23 	virtual void Display(bool block);
24 	virtual void CursorTo(int x,int y);
25 	virtual void PutStr(int attr, const QString& text);
26 
27 	void fadeHighlighting();
28 
29 protected:
30 	//RLC void resizeEvent(QResizeEvent*);
31 
32 private slots:
33 	void doUpdate();
34 
35 private:
36 	enum { hilight_time=1 };
37 
38 	QPixmap p_str;
39 	QPixmap p_dex;
40 	QPixmap p_con;
41 	QPixmap p_int;
42 	QPixmap p_wis;
43 	QPixmap p_cha;
44 
45 	QPixmap p_chaotic;
46 	QPixmap p_neutral;
47 	QPixmap p_lawful;
48 
49 	QPixmap p_satiated;
50 	QPixmap p_hungry;
51 
52 	QPixmap p_confused;
53 	QPixmap p_sick_fp;
54 	QPixmap p_sick_il;
55 	QPixmap p_blind;
56 	QPixmap p_stunned;
57 	QPixmap p_hallu;
58 
59 	QPixmap p_encumber[5];
60 
61 	NetHackQtLabelledIcon name;
62 	NetHackQtLabelledIcon dlevel;
63 
64 	NetHackQtLabelledIcon str;
65 	NetHackQtLabelledIcon dex;
66 	NetHackQtLabelledIcon con;
67 	NetHackQtLabelledIcon intel;
68 	NetHackQtLabelledIcon wis;
69 	NetHackQtLabelledIcon cha;
70 
71 	NetHackQtLabelledIcon gold;
72 	NetHackQtLabelledIcon hp;
73 	NetHackQtLabelledIcon power;
74 	NetHackQtLabelledIcon ac;
75 	NetHackQtLabelledIcon level;
76 	NetHackQtLabelledIcon exp;
77 	NetHackQtLabelledIcon align;
78 
79 	NetHackQtLabelledIcon time;
80 	NetHackQtLabelledIcon score;
81 
82 	NetHackQtLabelledIcon hunger;
83 	NetHackQtLabelledIcon confused;
84 	NetHackQtLabelledIcon sick_fp;
85 	NetHackQtLabelledIcon sick_il;
86 	NetHackQtLabelledIcon blind;
87 	NetHackQtLabelledIcon stunned;
88 	NetHackQtLabelledIcon hallu;
89 	NetHackQtLabelledIcon encumber;
90 
91 	QFrame hline1;
92 	QFrame hline2;
93 	QFrame hline3;
94 
95 	int cursy;
96 
97 	bool first_set;
98 
99 	void nullOut();
100 	void updateStats();
101 	void checkTurnEvents();
102 };
103 
104 } // namespace nethack_qt4
105 
106 #endif
107