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;
}