summaryrefslogtreecommitdiffstats
path: root/libkdegames/kgame/dialogs/kgamedialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'libkdegames/kgame/dialogs/kgamedialog.h')
-rw-r--r--libkdegames/kgame/dialogs/kgamedialog.h321
1 files changed, 0 insertions, 321 deletions
diff --git a/libkdegames/kgame/dialogs/kgamedialog.h b/libkdegames/kgame/dialogs/kgamedialog.h
deleted file mode 100644
index 423f5de1..00000000
--- a/libkdegames/kgame/dialogs/kgamedialog.h
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- This file is part of the KDE games library
- Copyright (C) 2001 Andreas Beckermann ([email protected])
- Copyright (C) 2001 Martin Heni ([email protected])
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License version 2 as published by the Free Software Foundation.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-// NAMING
-// please follow these naming rules if you add/change classes:
-// the main dialog is named KGameDialog and the base config widget
-// KGameDialogConfig. All config widgets are named KGameDialogXYZConfig (where
-// XYZ = the name of the config widget, like "general" or "network") and are
-// inherited from KGameDialogConfig.
-
-#ifndef __KGAMEDIALOG_H__
-#define __KGAMEDIALOG_H__
-
-#include <kdialogbase.h>
-#include <kdemacros.h>
-class TQGridLayout;
-class TQVBoxLayout;
-class TQListBoxItem;
-
-class KGame;
-class KPlayer;
-class KGamePropertyBase;
-
-class KGameDialogConfig;
-class KGameDialogGeneralConfig;
-class KGameDialogNetworkConfig;
-class KGameDialogMsgServerConfig;
-class KGameDialogChatConfig;
-class KGameDialogConnectionConfig;
-
-class KGameDialogPrivate;
-/**
- * TODO: rewrite entire documentation. Nearly nothing is valid anymore.
- * The main configuration dialog for KGame. Here all players meat each other,
- * every player can see how many players connected (and their names) and the
- * ADMIN can even "kick" players out. You can talk to each other (using
- * KGameChat and the ADMIN can define the maxPlayers/minPlayers as well as the
- * number of computer players.
- *
- *
- * AB: setDefaultXYZ is obsolete!!
- * You will usually create an instance of KGameDialog or any derived class and
- * call setDefaultXYZ methods. Example (maybe
- * obsoleted parameters - docu is currently changing very fast):
- * \code
- * KGameDialog dlg(kgame, i18n("New Game"), localPlayer, this, true,
- * ID_CHAT);
- * dlg.setDefaultNetworkInfo(port, host); // AB: obsolete!
- * dlg.exec();
- * \endcode
- * This will create a default modal dialog with the title "New Game". You don't
- * have to do more than this.
- *
- * @short Main configuration dialog for KGame
- * @author Andreas Beckermann <[email protected]>
- **/
-class KDE_EXPORT KGameDialog : public KDialogBase
-{
- Q_OBJECT
- TQ_OBJECT
-public:
-
- enum ConfigOptions
- {
- NoConfig = 0,
- ChatConfig = 1,
- GameConfig = 2,
- NetworkConfig = 4,
- MsgServerConfig = 8,
- BanPlayerConfig = 16,
- AllConfig = 0xffff
- };
-
- /**
- * Create an empty KGameDialog. You can add widgets using
- * addConfigPage.
- * @param g The KGame object of this game
- * @param owner The KPlayer object who is responsible for this
- * dialog, aka "the local player"
- * @param title The title of the dialog - see KDialog::setCaption
- * @param parent The parent of the dialog
- * @param modal Whether the dialog is modal or not
- **/
- KGameDialog(KGame* g, KPlayer* owner, const TQString& title,
- TQWidget* parent, bool modal = false);
-
- /**
- * Create a KGameDialog with the standard configuration widgets. This
- * creates the following widgets:
- * <ul>
- * <li> KGameDialogGeneralConfig
- * <li> KGameDialogNetworkConfig
- * <li> KGameDialogMsgServerConfig
- * <li> KGameDialogChatConfig
- * <li> KGameDialogConnectionConfig
- * </ul>
- * If you want to use your own implementations (or none) of the widgets
- * above you should subclass KGameDialog. Use addGameConfig,
- * addNetworkConfig, addMsgConfig, addChatWidget and
- * addConnectionList in this case.
- *
- * If you want to add further configuration widget you can simply use
- * addConfigPage
- * @param g The KGame object of this game
- * @param owner The KPlayer object who is responsible for this
- * dialog, aka "the local player"
- * @param title The title of the dialog - see KDialog::setCaption
- * @param parent The parent of the dialog
- * @param modal Whether the dialog is modal or not
- * @param initConfigs whether the default KGameDialogConfig widgets
- * shall be created using initDefaultDialog. Use false if you want
- * to use custom widgets.
- * @param chatMsgId The ID of Chat messages. See KGameChat. Unused
- * if initConfigs = false
- **/
- KGameDialog(KGame* g, KPlayer* owner, const TQString& title,
- TQWidget* parent, long initConfigs = AllConfig,
- int chatMsgId = 15432, bool modal = false);
-
- virtual ~KGameDialog();
-
-
- /**
- * Change the owner of the dialog. This will be used as the fromPlayer in
- * KGameChat and will receive the entered player name.
- * @param owner The owner of the dialog. It must already be added to the
- * KGame object!
- *
- * Calls the KGameDialogConfig::setOwner implementation of all
- * widgets that have been added by addConfigWidget
- * @param owner The new owner player of this dialog must already be
- * added to the KGame object. Can even be NULL (then no player
- * configuration is made)
- **/
- void setOwner(KPlayer* owner);
-
- /**
- * Change the KGame object this dialog is used for.
- *
- * Calls the KGameDialogConfig::setKGame implementation of all
- * widgets that have been added by addConfigWidget
- * @param g The new KGame object
- **/
- void setKGame(KGame* g);
-
- /**
- * This will submit all configuration data to the KGame object.
- * Automatically called by slotApply and slotOk
- * There is no need to replace this unless you
- * want to add widgets which are not derived from those classes
- **/
- virtual void submitToKGame();
-
- /**
- * Adds a KGameChat to the dialog. If no parent is specified the
- * game page will be used.
- * @param chat The chat widget
- * @param parent The parent of the chat widget. This MUST be an
- * already added config widget. Note that the game page will be used
- * if parent is 0.
- **/
- void addChatWidget(KGameDialogChatConfig* chat, TQVBox* parent = 0);
-
- /**
- * Add a connection list to the dialog. The list consists of a
- * KLisBox containing all players in the current game (see
- * KGame::playerList). The admin can "ban" players, ie kick them out of
- * the game.
- *
- * This is another not-really-config-config-widget. It just displays the
- * connections and lets you ban players.
- * @param c The KGameDialogConnectionConfig object
- * @param parent The parent of the widget. If 0 the networkConfig
- * page is used.
- **/
- void addConnectionList(KGameDialogConnectionConfig* c, TQVBox* parent = 0);
-
- /**
- * Add a new page to the dialog. The page will contain you new config
- * widget and will have your provided title.
- *
- * The widget will be reparented to this dialog. This also calls
- * KGameDialogConfig::setKGame and KGameDialogConfig::setOwner.
- * @param widget The new config widget
- * @param title The title of the newly added page.
- * @return The newly added page which contains your config widget.
- **/
- TQVBox* addConfigPage(KGameDialogConfig* widget, const TQString& title);
-
- /**
- * @return The TQVBox of the given key, The key is from ConfigOptions
- * Note that not all are supported yet
- **/
- TQVBox *configPage(ConfigOptions which);
-
- /**
- * @return The default netowrk config. Note that this always returns 0 if
- * you did not specify NetworkConfig in the constructor!
- **/
- KGameDialogNetworkConfig* networkConfig() const;
-
- /**
- * @return The default game config. Note that this always returns 0 if
- * you did not specify GameConfig in the constructor!
- **/
- KGameDialogGeneralConfig* gameConfig() const;
-
- /**
- * Add a config widget to the specified parent. Usually you call
- * addConfigPage for one widget and addConfigWidget for another to add
- * it to the same page. Just use the returned page of
- * addConfigPage.
- **/
- void addConfigWidget(KGameDialogConfig* widget, TQWidget* parent);
-
- /**
- * Used to add the main network config widget in a new page. Use this to
- * make networkConfig return something useful.
- **/
- void addNetworkConfig(KGameDialogNetworkConfig* netConf);
-
- /**
- * Add the main game config widget in a new page. Use this to make
- * gameConfig return something useful.
- **/
- void addGameConfig(KGameDialogGeneralConfig* conf);
-
- /**
- * Used to add the message server config widget in a new page.
- **/
- void addMsgServerConfig(KGameDialogMsgServerConfig* conf);
-
-protected:
-
- /**
- * This is used to create a dialog containing all the default widgets.
- *
- * You may want to use this if you just want to use your own
- * configuration widgets which inherit the standard ones.
- *
- * Note that if one of the widgets is NULL the default implementation
- * will be used! (except the chat widget - you need to create it
- * yourself as you have to provide a message id)
- * @param initConfigs The widgets to be created
- * @param chatMsgId The msgid for the chat config (only if specified in
- * initConfigs) - see KGameDialogChatConfig
- **/
- void initDefaultDialog(ConfigOptions initConfigs, int chatMsgId = 15432);
-
- /**
- * Go through all config widgets and call their
- * KGameDialogConfig::setKGame and KGameDialogConfig::setOwner implementation
- *
- * This function could be private and probably will be very soon.
- * Don't use it yourself
- **/
- void configureConfigWidgets();
-
-protected slots:
- /**
- * Called when the user clicks on Ok. Calls slotApply and
- * TQDialog::accept()
- **/
- virtual void slotOk();
-
- /**
- * Just calls submitToKGame()
- **/
- virtual void slotApply();
-
- /**
- * Sets the default values for the configuration widgets. Set these
- * values by (e.g.) setDefaultMaxPlayers()
- * @deprecated
- **/
- virtual void slotDefault();
-
- /**
- * Called when the KGame object is destroyed. Calls setKGame(0) so
- * that all widgets can disconnect their slots and so on.
- **/
- void slotUnsetKGame();
-
- /**
- * Called when the ADMIN status of this KGame client changes. See
- * KGameNetwork::signalAdminStatusChanged
- * @param isAdmin TRUE if this client is now the ADMIN otherwise FALSE
- **/
- void setAdmin(bool isAdmin);
-
- /**
- * Remove a config widget from the widget list.
- * @see TQObject::destroyed
- **/
- void slotRemoveConfigWidget(TQObject* configWidget);
-
-private:
- void init(KGame*, KPlayer*);
-
-private:
- KGameDialogPrivate* d;
-};
-
-#endif