diff options
Diffstat (limited to 'libkdegames/kgame/dialogs/kgamedialogconfig.h')
-rw-r--r-- | libkdegames/kgame/dialogs/kgamedialogconfig.h | 368 |
1 files changed, 0 insertions, 368 deletions
diff --git a/libkdegames/kgame/dialogs/kgamedialogconfig.h b/libkdegames/kgame/dialogs/kgamedialogconfig.h deleted file mode 100644 index a7f309ac..00000000 --- a/libkdegames/kgame/dialogs/kgamedialogconfig.h +++ /dev/null @@ -1,368 +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 __KGAMEDIALOGCONFIG_H__ -#define __KGAMEDIALOGCONFIG_H__ - -#include <tqwidget.h> -#include <kdemacros.h> - -class TQGridLayout; -class TQVBoxLayout; -class TQListBoxItem; - -class KGame; -class KPlayer; -class KGamePropertyBase; - -class KGameDialogConfigPrivate; -/** - * Base class for configuration widgets. - * - * You can inherit from this and implement @ref submitToKGame, @ref - * setOwner and @ref setKGame to create your personal @ref KGame configuration widget :-) - * @short Base class for configuration widgets - * @author Andreas Beckermann <[email protected]> - **/ -class KDE_EXPORT KGameDialogConfig : public TQWidget -{ - Q_OBJECT - TQ_OBJECT -public: - KGameDialogConfig(TQWidget* parent = 0); - virtual ~KGameDialogConfig(); - - /** - * Called by @ref KGameDialog to submit all settings to the KGame - * Object. - * You have to replace this if you add your own widgets! - * @param g A pointer to your KGame. - * @param p A pointer to the player owning this dialog - **/ - virtual void submitToKGame(KGame* g, KPlayer* p) = 0; - - /** - * The owner player of the dialog has been changed. The default - * changes the pointer for owner so don't forget to call the - * default implementation if you overwrite this! - * - * You can use this e.g. to change a line edit widget containing the - * player name. - * - * Note: even NULL players are allowed! - * @param p The new owner player of the dialog - **/ - virtual void setOwner(KPlayer* p); - - /** - * The KGame object of the dialog has been changed. The default - * implementation changes the pointer for game so don't forget to - * call the default implementation if you overwrite this! - * - * You can use this e.g. to re-read the min/max player settings. - * @param g The KGame object - **/ - virtual void setKGame(KGame* g); - - /** - * The admin status has been changed. - * If the KGame object of this config widget is the - * admin the user is allowed to configure it. Otherwise most - * widgets will have to be disabled. Note that you don't necessarily - * need to deactivate all widget - e.g. the player name must be - * configured by the player. Mainly the KGame configuration can be done - * by the admin only. - * - * By default this does nothing. Changes the value for admin so - * don't forget to call the default implementation in derived classes! - * @param admin Whether the KGame object of this dialog can be - * configured - **/ - virtual void setAdmin(bool admin); - - /** - * A pointer to the KGame object that has been set by @ref setKGame. - * - * Note that NULL is allowed! - * @return The KGame object assigned to this dialog - **/ - KGame* game() const; - - /** - * A pointer to the KPlayer object that has been set by @ref - * setOwner. - * - * Note that NULL is allowed! - * @return The owner of the dialog - **/ - KPlayer* owner() const; - - /** - * @return True if the owner is ADMIN otherwise FALSE. See also - * @ref setAdmin - **/ - bool admin() const; - -protected: - -private: - KGameDialogConfigPrivate* d; -}; - -/** - * The main game configuration widget. - * - * It currently contains a line edit for the name of the player only. You can - * add widgets by using the KGameDialogGeneralConfig as parent parameter as it - * uses TQLayout::autoAdd == true. - * @author Andreas Beckermann <[email protected]> - **/ -class KGameDialogGeneralConfigPrivate; -class KGameDialogGeneralConfig : public KGameDialogConfig -{ - Q_OBJECT - TQ_OBJECT -public: - /** - * Construct a KGameDialogGeneralConfig. Currently it contains a line - * edit widget to change the player name only. - * - * If you just want to add more widgets you can just create your widgets - * with the KGameDialogGeneralConfig as parent as it uses - * TQLayout::setAutoAdd(true). - * - * @param parent Parent widget for this dialog. - * @param initializeGUI If you really don't want to use the - * predefined widget and/or tqlayout use FALSE here. Note that then none - * of the predefined widgets (currently only the name of the player) - * will exist anymore. - * - **/ - KGameDialogGeneralConfig(TQWidget* parent = 0, bool initializeGUI = true); - virtual ~KGameDialogGeneralConfig(); - - /** - * Called by @ref KGameDialog to submit all settings to the KGame - * Object. - * You have to replace this if you add your own widgets! - * @param g A pointer to your KGame. - * @param p A pointer to the player owning this dialog - **/ - virtual void submitToKGame(KGame* g, KPlayer* p); - - /** - * Change the owner of the config widget. - * - * Changes the playername in the line edit - * @param p The new owner player - **/ - virtual void setOwner(KPlayer* p); - - /** - * See @ref KGameDialogConfig::setKGame - * - * Sets the default values of all KGame related predefined widgets - * (currently none) - **/ - virtual void setKGame(KGame* g); - - /** - * See @ref KGameDialogConfig::setAdmin - * - * This deactivates the min/max player widgets - **/ - virtual void setAdmin(bool admin); - -protected slots: - void slotPropertyChanged(KGamePropertyBase*, KPlayer*); - -protected: - void setPlayerName(const TQString& name); - - TQString playerName() const; - -private: - KGameDialogGeneralConfigPrivate* d; -}; - -class KGameDialogNetworkConfigPrivate; -class KDE_EXPORT KGameDialogNetworkConfig : public KGameDialogConfig -{ - Q_OBJECT - TQ_OBJECT -public: - KGameDialogNetworkConfig(TQWidget* parent = 0); - virtual ~KGameDialogNetworkConfig(); - - - void disableInitConnection(); - - /** - * Called by @ref KGameDialog to submit all settings to the KGame - * Object. - * You have to replace this if you add your own widgets! - * @param g A pointer to your KGame. - * @param p A pointer to the player owning this dialog - **/ - virtual void submitToKGame(KGame* g, KPlayer* p); - - virtual void setKGame(KGame* g); - - /** - * This sets the default port and host used in @ref KGameConnectDialog. - * The user will be able to change these defaults! - * - * If you don't call this then host "localhost" and port "0" is used. - * You are strongly encouraged to change at least the port! - * @param port The default port to connect to / listen on - * @param host The default host to connect to - **/ - void setDefaultNetworkInfo(const TQString& host, unsigned short int port,bool server=true); - - /** - * Set service type that will be published or browsed for and game name that will be displayed in - * server browser. Without this publishing and discovery of LAN servers will not be enabled. - * @param name Game name. Important only for server mode. If not - * set hostname will be used. In case of name conflict -2, -3 and so on will be added to name. - * @param type Service type (something like _kwin4._tcp). It should be unique for application. - * @since 3.4 - **/ - void setDiscoveryInfo(const TQString& type, const TQString& name=TQString()); - -signals: - /** - * This signal is emmited if the user changes the server type (client/server) - * in the network configuration dialog. - * - * @param t - type type (0/1) of the connection - **/ - void signalServerTypeChanged(int); - - -protected: - void setConnected(bool connected, bool master = false); - -protected slots: - void slotInitConnection(); - void slotExitConnection(); - void slotConnectionBroken(); - - -private: - KGameDialogNetworkConfigPrivate* d; -}; - -class KGameDialogMsgServerConfigPrivate; -class KGameDialogMsgServerConfig : public KGameDialogConfig -{ - Q_OBJECT - TQ_OBJECT -public: - KGameDialogMsgServerConfig(TQWidget* parent = 0); - virtual ~KGameDialogMsgServerConfig(); - - virtual void submitToKGame(KGame*, KPlayer*) {} - - void setHasMsgServer(bool); - - virtual void setKGame(KGame* g); - virtual void setAdmin(bool); - -protected slots: - void slotChangeMaxClients(); - void slotChangeAdmin(); - void slotRemoveClient(); - -protected: - void removeClient(TQ_UINT32 id); - -private: - KGameDialogMsgServerConfigPrivate* d; -}; - -class KGameDialogChatConfigPrivate; -/** - * This is not really a configuration widget but rather a simple chat widget. - * This widget does nothing but just providing a @ref KGameChat object. - * @short A chat widget inside a @ref KGameDialog - * @author Andreas Beckermann <[email protected]> - **/ -class KGameDialogChatConfig : public KGameDialogConfig -{ - Q_OBJECT - TQ_OBJECT -public: - KGameDialogChatConfig(int chatMsgId, TQWidget* parent = 0); - virtual ~KGameDialogChatConfig(); - - virtual void setKGame(KGame* g); - virtual void setOwner(KPlayer* p); - - virtual void submitToKGame(KGame* g, KPlayer* p) { Q_UNUSED(g); Q_UNUSED(p); } - -private: - KGameDialogChatConfigPrivate* d; -}; - -/** - * @short Lists all connected players and gives the ability to kick them off the - * game - **/ -class KGameDialogConnectionConfigPrivate; -class KGameDialogConnectionConfig : public KGameDialogConfig -{ - Q_OBJECT - TQ_OBJECT -public: - KGameDialogConnectionConfig(TQWidget* parent = 0); - virtual ~KGameDialogConnectionConfig(); - - virtual void setKGame(KGame* g); - virtual void setOwner(KPlayer* p); - virtual void setAdmin(bool admin); - - virtual void submitToKGame(KGame* g, KPlayer* p) { Q_UNUSED(g); Q_UNUSED(p); } - -protected: - /** - * @param p A player - * @return The TQListBoxItem that belongs to the player @p p - **/ - TQListBoxItem* item(KPlayer* p) const; - -protected slots: - void slotKickPlayerOut(TQListBoxItem* item); - void slotPropertyChanged(KGamePropertyBase* prop, KPlayer* p); - void slotPlayerLeftGame(KPlayer* p); - void slotPlayerJoinedGame(KPlayer* p); - void slotClearPlayers(); - -private: - KGameDialogConnectionConfigPrivate* d; - -}; -#endif |