Author: egon
Date: 2004-10-12 11:19:35 -0400 (Tue, 12 Oct 2004)
New Revision: 398

Modified:
   trunk/clients/wxhaver/src/wxHaverFrame.cpp
   trunk/clients/wxhaver/src/wxHaverFrame.h
   trunk/clients/wxhaver/src/wxHaverParser.cpp
Log:
Joining channels now works.

Modified: trunk/clients/wxhaver/src/wxHaverFrame.cpp
===================================================================
--- trunk/clients/wxhaver/src/wxHaverFrame.cpp  2004-10-12 14:54:19 UTC (rev 
397)
+++ trunk/clients/wxhaver/src/wxHaverFrame.cpp  2004-10-12 15:19:35 UTC (rev 
398)
@@ -69,7 +69,7 @@
        mTextEntry      = new wxTextCtrl(this, -1, _(""), wxDefaultPosition,
                        wxDefaultSize, wxTE_PROCESS_ENTER);
        
-       mChannels = new wxHaverWindows(mServerSplit, mSock);
+       mChannels = new wxHaverWindows(mServerSplit, -1);
        mUserList = new wxListBox(mServerSplit, -1);
 
        //---------------------------//
@@ -106,8 +106,10 @@
        mParser.AddCommand("WANT", want);
 
        // {Client Commands}
-/*     wxHaverCallback<wxHaverFrame> *join;
-       join = new wxHaverCallback<wxHaverFrame>;*/
+       wxHaverCallback<wxHaverFrame> *join;
+       join = new wxHaverCallback<wxHaverFrame>(this, &wxHaverFrame::OnUJoin);
+
+       mUserParser.AddCommand("/join", join);
        
        //---------------------------//
        //  Socket stuff                         //
@@ -118,6 +120,7 @@
        mSock->SetNotify(wxSOCKET_CONNECTION_FLAG | wxSOCKET_INPUT_FLAG |
                        wxSOCKET_LOST_FLAG);
        mSock->Notify(true);
+       mChannels->SetSock(mSock);
 }
 
 wxHaverFrame::~wxHaverFrame()
@@ -197,6 +200,7 @@
 {
        wxString cmd = mTextEntry->GetLineText(0);
        mUserParser.Parse(cmd);
+       mTextEntry->Clear();
 }
 
 void wxHaverFrame::OnQuit(wxCommandEvent&)
@@ -214,4 +218,16 @@
        if (args[0] == "IDENT") {
                *mSock << "IDENT" << "nornagon" << CRLF;
        }
+       return;
 }
+
+//------------------------------------------------------------------------
+//  User Command Callbacks
+//------------------------------------------------------------------------
+
+void wxHaverFrame::OnUJoin(vector<wxString> args)
+{
+       printf("args[0] = \"%s\"", args[0].c_str());
+       mChannels->Join(args[0]);
+       return;
+}

Modified: trunk/clients/wxhaver/src/wxHaverFrame.h
===================================================================
--- trunk/clients/wxhaver/src/wxHaverFrame.h    2004-10-12 14:54:19 UTC (rev 
397)
+++ trunk/clients/wxhaver/src/wxHaverFrame.h    2004-10-12 15:19:35 UTC (rev 
398)
@@ -47,6 +47,8 @@
                void OnEnterCommand(wxCommandEvent&);
 
                void OnWant(std::vector<wxString>);
+
+               void OnUJoin(std::vector<wxString>);
        private:
                wxHaverSockClient *mSock;
                wxSplitterWindow *mServerSplit;

Modified: trunk/clients/wxhaver/src/wxHaverParser.cpp
===================================================================
--- trunk/clients/wxhaver/src/wxHaverParser.cpp 2004-10-12 14:54:19 UTC (rev 
397)
+++ trunk/clients/wxhaver/src/wxHaverParser.cpp 2004-10-12 15:19:35 UTC (rev 
398)
@@ -128,6 +128,7 @@
 {
        printf("User did \"%s\"\n", line.c_str());
        vector<wxString> cmd = Split(line, " ", 2);
+       printf("Command is: |%s| args: |%s|\n", cmd[0].c_str(), cmd[1].c_str());
        if (_commands.find(cmd[0]) == _commands.end()) {
                printf("User command %s doesn't exist\n", cmd[0].c_str());
                return;
@@ -135,6 +136,7 @@
        printf("User command exists\n");
        wxString command = cmd[0];
        cmd.erase(cmd.begin());
+       printf("command = %s\n", command.c_str());
        (*_commands[command])(cmd);
        return;
 }


Reply via email to