libkdegames/kgame
kgamedialog.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef __KGAMEDIALOG_H__
00029 #define __KGAMEDIALOG_H__
00030
00031 #include <kpagedialog.h>
00032 #include <libkdegames_export.h>
00033 #include <QtGui/QVBoxLayout>
00034 #include <QtGui/QGridLayout>
00035 class QGridLayout;
00036 class QVBoxLayout;
00037 class KVBox;
00038
00039 class KGame;
00040 class KPlayer;
00041
00042 class KGameDialogConfig;
00043 class KGameDialogGeneralConfig;
00044 class KGameDialogNetworkConfig;
00045 class KGameDialogMsgServerConfig;
00046 class KGameDialogChatConfig;
00047 class KGameDialogConnectionConfig;
00048
00049 class KGameDialogPrivate;
00077 class KDEGAMES_EXPORT KGameDialog : public KPageDialog
00078 {
00079 Q_OBJECT
00080 public:
00081
00082 enum ConfigOptions
00083 {
00084 NoConfig = 0,
00085 ChatConfig = 1,
00086 GameConfig = 2,
00087 NetworkConfig = 4,
00088 MsgServerConfig = 8,
00089 BanPlayerConfig = 16,
00090 AllConfig = 0xffff
00091 };
00092
00103 KGameDialog(KGame* g, KPlayer* owner, const QString& title,
00104 QWidget* parent, bool modal = false);
00105
00135 KGameDialog(KGame* g, KPlayer* owner, const QString& title,
00136 QWidget* parent, long initConfigs = AllConfig,
00137 int chatMsgId = 15432, bool modal = false);
00138
00139 virtual ~KGameDialog();
00140
00141
00154 void setOwner(KPlayer* owner);
00155
00163 void setKGame(KGame* g);
00164
00171 virtual void submitToKGame();
00172
00181 void addChatWidget(KGameDialogChatConfig* chat, KVBox* parent = 0);
00182
00195 void addConnectionList(KGameDialogConnectionConfig* c, KVBox* parent = 0);
00196
00207 KVBox* addConfigPage(KGameDialogConfig* widget, const QString& title);
00208
00213 KVBox *configPage(ConfigOptions which);
00214
00219 KGameDialogNetworkConfig* networkConfig() const;
00220
00225 KGameDialogGeneralConfig* gameConfig() const;
00226
00233 void addConfigWidget(KGameDialogConfig* widget, QWidget* parent);
00234
00239 void addNetworkConfig(KGameDialogNetworkConfig* netConf);
00240
00245 void addGameConfig(KGameDialogGeneralConfig* conf);
00246
00250 void addMsgServerConfig(KGameDialogMsgServerConfig* conf);
00251
00252 protected:
00253
00267 void initDefaultDialog(ConfigOptions initConfigs, int chatMsgId = 15432);
00268
00276 void configureConfigWidgets();
00277
00278 protected Q_SLOTS:
00283 virtual void slotOk();
00284
00288 virtual void slotApply();
00289
00295 virtual void slotDefault();
00296
00301 void slotUnsetKGame();
00302
00308 void setAdmin(bool isAdmin);
00309
00314 void slotRemoveConfigWidget(QObject* configWidget);
00315
00316 private:
00317 void init(KGame*, KPlayer*);
00318
00319 private:
00320 KGameDialogPrivate* const d;
00321 };
00322
00323 #endif