camino-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Camino-devel] camino/src/client ClientEngine.cpp ClientEngine...


From: Pascal Audoux
Subject: [Camino-devel] camino/src/client ClientEngine.cpp ClientEngine...
Date: Mon, 27 Jan 2003 17:52:54 -0500

CVSROOT:        /cvsroot/camino
Module name:    camino
Changes by:     Pascal Audoux <address@hidden>  03/01/27 17:52:54

Modified files:
        src/client     : ClientEngine.cpp ClientEngine.h 
                         ClientInterface.cpp ClientInterface.h Game.cpp 
                         Game.h 

Log message:
        use of the ChatWidget

Patches:
Index: camino/src/client/ClientEngine.cpp
diff -u camino/src/client/ClientEngine.cpp:1.3 
camino/src/client/ClientEngine.cpp:1.4
--- camino/src/client/ClientEngine.cpp:1.3      Sun Jan 26 17:15:20 2003
+++ camino/src/client/ClientEngine.cpp  Mon Jan 27 17:52:53 2003
@@ -2,7 +2,7 @@
 **
 ** Camino
 **
-** Version : $Id: ClientEngine.cpp,v 1.3 2003/01/26 22:15:20 pfremy Exp $
+** Version : $Id: ClientEngine.cpp,v 1.4 2003/01/27 22:52:53 Audoux Exp $
 **
 ** Author(s) : Philippe Fremy, Pascal Audoux
 ** Creation : 14/01/2003
@@ -34,6 +34,7 @@
 ClientEngine::ClientEngine()
 {
        _socket = new QSocket( this );
+       _connected = false;
        setDevice( _socket );
        connect( _socket, SIGNAL( connected() ), SLOT( slotServerConnected() ) 
);
        connect( _socket, SIGNAL( connectionClosed() ), SLOT( 
slotConnectionClosed() ) );
@@ -52,6 +53,7 @@
        _playerName = playerName;
 
        _socket->connectToHost( serverName, port );
+       _connected = true;
 }
 
 void ClientEngine::slotServerConnected()
@@ -71,13 +73,13 @@
 {
        QString typeString;
        switch( _subtype ) {
-           case DebugMsg:
+       case DebugMsg:
                typeString = "Debug";
                break;
-           case InfoMsg:
+       case InfoMsg:
                typeString = "Info";
                break;
-           case ChatMsg:
+       case ChatMsg:
                typeString = "Chat";
                break;
        default:
@@ -87,5 +89,15 @@
 
        typeString += source + " : " + msg;
        qDebug( "Client - %s from %s : %s", typeString.latin1(), 
source.latin1(), msg.latin1() );
+       QString text = source + " : " + msg;
+       emit sig_message( text );
 }
+
+void ClientEngine::sendMessage( const QString & msg )
+{
+       _send->sendMsg( InfoMsg, _playerName, msg );
+}
+
+
+
 
Index: camino/src/client/ClientEngine.h
diff -u camino/src/client/ClientEngine.h:1.3 
camino/src/client/ClientEngine.h:1.4
--- camino/src/client/ClientEngine.h:1.3        Sun Jan 26 17:15:20 2003
+++ camino/src/client/ClientEngine.h    Mon Jan 27 17:52:53 2003
@@ -5,7 +5,7 @@
 ** ClientEngine.h
 ** The intelligence of the client is here
 **
-** Version : $Id: ClientEngine.h,v 1.3 2003/01/26 22:15:20 pfremy Exp $
+** Version : $Id: ClientEngine.h,v 1.4 2003/01/27 22:52:53 Audoux Exp $
 ** Author(s) : Philippe Fremy, Pascal Audoux
 ** Creation : 14/01/2003
 ** Copyright: Pascal Audoux, Philippe Fremy 2003
@@ -54,8 +54,15 @@
 
        void connectToServer( const QString & serverName, int port, const 
QString & playerName );
 
+       bool isConnected() { return _connected; }
+
        void recvMsg( QString source, QString msg );
 
+       void sendMessage( const QString & msg );
+
+signals:
+       void sig_message( const QString & msg );
+
 protected slots:
        void slotServerConnected();
        void slotConnectionClosed();
@@ -64,7 +71,7 @@
        QSocket * _socket;
        MsgCoder * _send;
        QString _playerName;
-
+       bool _connected;
 };
  
 #endif // CLIENT_ENGINE_H   
Index: camino/src/client/ClientInterface.cpp
diff -u camino/src/client/ClientInterface.cpp:1.10 
camino/src/client/ClientInterface.cpp:1.11
--- camino/src/client/ClientInterface.cpp:1.10  Sun Jan 26 13:10:57 2003
+++ camino/src/client/ClientInterface.cpp       Mon Jan 27 17:52:53 2003
@@ -2,7 +2,7 @@
 **
 ** Camino
 **
-** Version : $Id: ClientInterface.cpp,v 1.10 2003/01/26 18:10:57 pfremy Exp $
+** Version : $Id: ClientInterface.cpp,v 1.11 2003/01/27 22:52:53 Audoux Exp $
 **
 ** Author(s) : Philippe Fremy, Pascal Audoux
 ** Creation : 15/01/2003
@@ -33,19 +33,17 @@
 #include <qstatusbar.h>
 #include <qlineedit.h>
 // application specific include files
-#include "server/ServerDialog.h"
-#include "client/ClientInterface.h"
 #include "client/DialogConnection.h"
-#include "client/Theme.h"
-#include "client/ClientEngine.h"
 #include "client/Game.h"
+#include "server/ServerDialog.h"
+#include "client/Theme.h"
+
+#include "client/ClientInterface.h"
 
 extern Theme theme;
 
 ClientInterface::ClientInterface()
 {
-       _clientEngine = new ClientEngine();
-
        _server = 0;
        setCaption( "Camino" );
        initActions();
@@ -53,7 +51,7 @@
        initStatusBar();
        theme.init();
 
-       _game = new Game( _clientEngine, this );
+       _game = new Game( this );
        setCentralWidget( _game );
 
        zoom( 2 );
@@ -179,9 +177,9 @@
 {
        DialogConnection dialog;
        if( dialog.exec() ) {
-           _clientEngine->connectToServer( dialog._serverHost->text(), 
-                                  dialog._serverPort->text().toInt(),
-                                  dialog._playerName->text() );
+               _game->connectToServer( dialog.getHost(),
+                       dialog.getPort(),
+                       dialog.getPlayer() );
        }
 }
 
Index: camino/src/client/ClientInterface.h
diff -u camino/src/client/ClientInterface.h:1.8 
camino/src/client/ClientInterface.h:1.9
--- camino/src/client/ClientInterface.h:1.8     Sun Jan 26 13:10:57 2003
+++ camino/src/client/ClientInterface.h Mon Jan 27 17:52:53 2003
@@ -5,7 +5,7 @@
 ** ClientInterface.h
 ** Interface of the client
 **
-** Version : $Id: ClientInterface.h,v 1.8 2003/01/26 18:10:57 pfremy Exp $
+** Version : $Id: ClientInterface.h,v 1.9 2003/01/27 22:52:53 Audoux Exp $
 ** Author(s) : Philippe Fremy, Pascal Audoux
 ** Creation : 14/01/2003
 ** Copyright: Pascal Audoux, Philippe Fremy 2003
@@ -38,7 +38,6 @@
 class QAction;
 
 class Game;
-class ClientEngine;
 class ServerDialog;
 
 /*              ------------------------------
@@ -103,7 +102,6 @@
        void zoom( int level );
 
        Game * _game;
-       ClientEngine * _clientEngine;
        ServerDialog * _server;
        QAction * _actions[NUMBER_OF_ACTION];
 };
Index: camino/src/client/Game.cpp
diff -u camino/src/client/Game.cpp:1.6 camino/src/client/Game.cpp:1.7
--- camino/src/client/Game.cpp:1.6      Sun Jan 26 13:10:57 2003
+++ camino/src/client/Game.cpp  Mon Jan 27 17:52:53 2003
@@ -2,7 +2,7 @@
 **
 ** Camino
 **
-** Version : $Id: Game.cpp,v 1.6 2003/01/26 18:10:57 pfremy Exp $
+** Version : $Id: Game.cpp,v 1.7 2003/01/27 22:52:53 Audoux Exp $
 **
 ** Author(s) : Philippe Fremy, Pascal Audoux
 ** Creation : 15/01/2003
@@ -30,27 +30,52 @@
 #include "Game.h"
 #include "client/BoardCanvas.h"
 #include "client/BoardView.h"
+#include "client/ChatWidget.h"
 #include "client/ClientEngine.h"
 
-Game::Game( ClientEngine * engine, QWidget * parent , const char * name )
+Game::Game( QWidget * parent , const char * name )
   : QWidget( parent, name, QWidget::WStyle_Customize | 
QWidget::WStyle_DialogBorder )
 {
-       _clientEngine = engine;
+       _engine = new ClientEngine();
 
        _board = new BoardCanvas( this );
        BoardView * boardView = new BoardView( _board, this );
 
+       _chat = new ChatWidget( this );
+
        QVBoxLayout * layout = new QVBoxLayout( this );
        layout->addWidget( boardView, 1 );
-       //layout->addWidget( _chat );
+       layout->addWidget( _chat, 1 );
        layout->activate();
 
        _board->addTile( 1, 1 );
+
+       connect( _chat, SIGNAL( sig_message( const QString & ) ), SLOT( 
slot_message( const QString & ) ) );
+       connect( _engine, SIGNAL( sig_message( const QString & ) ), SLOT( 
slot_serverMessage( const QString & ) ) );
 }
 
 Game::~Game()
 {
 }
 
+void Game::connectToServer( QString host, int port, QString player )
+{
+       _engine->connectToServer( host, port, player );
+}
+
+void Game::slot_message( const QString & msg )
+{
+        if( _engine->isConnected() ) {
+                _engine->sendMessage( msg );
+               _chat->newMessage( msg );
+        } else {
+                _chat->newMessage( "(Not connected) : " + msg );
+        }
+}
+
+void Game::slot_serverMessage( const QString & msg )
+{
+       _chat->newMessage( msg );
+}
 
 
Index: camino/src/client/Game.h
diff -u camino/src/client/Game.h:1.4 camino/src/client/Game.h:1.5
--- camino/src/client/Game.h:1.4        Sun Jan 26 13:10:57 2003
+++ camino/src/client/Game.h    Mon Jan 27 17:52:53 2003
@@ -5,7 +5,7 @@
 ** Game.h
 ** Main widget of the game
 **
-** Version : $Id: Game.h,v 1.4 2003/01/26 18:10:57 pfremy Exp $
+** Version : $Id: Game.h,v 1.5 2003/01/27 22:52:53 Audoux Exp $
 ** Author(s) : Philippe Fremy, Pascal Audoux
 ** Creation : 15/01/2003
 ** Copyright: Pascal Audoux, Philippe Fremy 2003
@@ -30,11 +30,13 @@
 
 // generic include files
 // include files for QT
+#include <qstring.h>
 #include <qwidget.h>
 // application specific include files
 #include "common/MsgDecoder.h"
 
 class BoardCanvas;
+class ChatWidget;
 class ClientEngine;
 
 /*              ------------------------------
@@ -46,14 +48,22 @@
 
 public:
        /** Constructor */
-       Game( ClientEngine *, QWidget * parent = 0, const char * name = 0 );
+       Game( QWidget * parent = 0, const char * name = 0 );
 
        /** Destructor */
        virtual ~Game();
 
+       void connectToServer( QString host, int port, QString player );
+
+public slots:
+       void slot_message( const QString & msg );
+
+       void slot_serverMessage( const QString & msg );
+
 protected:
        BoardCanvas * _board;
-       ClientEngine * _clientEngine;
+       ChatWidget * _chat;
+       ClientEngine * _engine;
 };
 
 #endif // GAME_H




reply via email to

[Prev in Thread] Current Thread [Next in Thread]