1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
/***************************************************************************
Kwin4 - Four in a Row for KDE
-------------------
begin : March 2000
copyright : (C) 1995-2001 by Martin Heni
email : martin@heni-online.de
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef KWIN4_H
#define KWIN4_H
#include <kmainwindow.h>
#include <kdialogbase.h>
#include "twin4doc.h"
#include <kdemacros.h>
class Kwin4Player;
class KGameChat;
class KChatDialog;
class Kwin4Doc;
class Kwin4View;
class TQVButtonGroup;
class KPlayer;
/**
* Subclass of the chat dialog provided by the KGame lib.
* It supports a user defined chat and the setting of the
* owner player
**/
class KDE_EXPORT ChatDlg : public KDialogBase
{
Q_OBJECT
public:
ChatDlg(KGame *game,TQWidget* parent=0);
public slots:
void setPlayer(Kwin4Player *p);
private:
KGameChat *mChat;
KChatDialog *mChatDlg;
};
/**
* The base class for Kwin4 application window.
*/
class Kwin4App : public KMainWindow
{
Q_OBJECT
public:
Kwin4App(TQWidget *parent=0, const char *name=0);
protected:
void EndGame(TABLE mode);
// Flags which menus should be checked and set by below functions
enum CheckFlags {All=0,CheckFileMenu=1,CheckEditMenu=2};
void changeAction(const char *,bool);
// Enabled/Disabled menu/toolbar items
void enableAction(const char *action) {changeAction(action, true); }
void disableAction(const char *action) {changeAction(action, false); }
// Checks all menus..usually done on init programm
void checkMenus(CheckFlags menu=All);
void initGUI();
void initStatusBar();
void initDocument();
virtual void saveProperties(KConfig *cfg);
virtual void readProperties(KConfig *cfg);
public slots:
void slotServerTypeChanged(int t);
void slotRemoteChanged(int who);
void slotGameOver(int status, KPlayer * p, KGame * me);
void slotMoveDone(int x, int y);
void slotNetworkBroken(int id, int oldstatus ,KGame *game);
/** Being noticed that a new game started */
void slotNewGame();
void slotStatusNames();
void slotInitNetwork();
void slotChat();
void slotDebugKGame();
void newGame();
void slotOpenGame();
void slotSaveGame();
void endGame();
void showStatistics();
void slotUndo();
void slotRedo();
void slotStatusMover(const TQString &text);
void slotStatusMsg(const TQString &text);
private:
Kwin4View *view;
Kwin4Doc *doc;
TQVButtonGroup *mColorGroup;
KGameChat *mChat;
ChatDlg *mMyChatDlg;
protected slots:
void slotClearStatusText();
void showSettings();
};
#endif // KWIN4_H
|