Author: egon
Date: 2004-10-12 07:14:22 -0400 (Tue, 12 Oct 2004)
New Revision: 396

Modified:
   trunk/clients/wxhaver/src/wxHaverFrame.cpp
   trunk/clients/wxhaver/src/wxHaverFrame.h
Log:
Changed the wxHaver interface.

Modified: trunk/clients/wxhaver/src/wxHaverFrame.cpp
===================================================================
--- trunk/clients/wxhaver/src/wxHaverFrame.cpp  2004-10-12 05:54:01 UTC (rev 
395)
+++ trunk/clients/wxhaver/src/wxHaverFrame.cpp  2004-10-12 11:14:22 UTC (rev 
396)
@@ -43,6 +43,9 @@
                const wxSize &size):
        wxFrame((wxFrame*)NULL, -1, title, pos, size), _splitSize(100)
 {
+       //---------------------------//
+       //  Menu stuff                           //
+       //---------------------------//
        wxMenu *File_menu = new wxMenu;
        File_menu->Append(WH_ID_Quit, "E&xit");
        File_menu->Append(WH_ID_Connect, "&Connect");
@@ -52,29 +55,54 @@
 
        SetMenuBar(menuBar);
 
+       //---------------------------//
+       //  Init widgets                         //
+       //---------------------------//
+
+       wxNotebookSizer *nbs = new wxNotebookSizer(mChannels);
+       
        mServerSplit = new wxSplitterWindow(this, WH_CTRL_ServerSplitter,
                wxDefaultPosition, wxDefaultSize, wxSP_LIVE_UPDATE);
-       mTextLines      = new wxTextCtrl(mServerSplit, -1, "", 
wxDefaultPosition,
-                       wxDefaultSize, wxTE_MULTILINE);
+       
        mTextEntry      = new wxTextCtrl(this, -1);
-       mUserList       = new  wxListBox(mServerSplit, -1);
+       
+       mChannels = new wxNotebook(mServerSplit, -1);
+       mUserList       = new wxListBox(mServerSplit, -1);
 
+       //---------------------------//
+       //  Miscellaeneous                       //
+       //---------------------------//
+
+       wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
+
        wxSize txtsize(mTextEntry->GetSize());
        wxSize boxsize(mUserList->GetSize());
        wxSize clientsize(GetClientSize());
        mTextEntry->SetSize(0, clientsize.y - txtsize.y, clientsize.x, 
txtsize.y);
        mUserList->SetSize(clientsize.x - 100, 0, 100, clientsize.y - 
txtsize.y);
-       mTextLines->SetSize(0, 0, clientsize.x - 100, clientsize.y - txtsize.y);
+       mChannels->SetSize(0, 0, clientsize.x - 100, clientsize.y - txtsize.y);
 
+       mServerSplit->SplitVertically(mChannels, mUserList, -_splitSize);
+
+       topsizer->Add(mServerSplit, 1, wxGROW|wxEXPAND);
+       topsizer->Add(mTextEntry, 0, wxGROW|wxEXPAND);
+
+       this->SetSizer(topsizer);
+       
+       wxPanel *panel = new wxPanel(mChannels, -1);
+       mTextLines      = new wxTextCtrl(panel, -1, "", wxDefaultPosition,
+                       wxDefaultSize, wxTE_MULTILINE);
+       wxBoxSizer *panelsizer = new wxBoxSizer(wxVERTICAL);
+       panelsizer->Add(mTextLines, 1, wxEXPAND);
+       panel->SetSizer(panelsizer);
+       mChannels->AddPage(panel, "[Server]");
+
        mTextLines->SetEditable(false);
-       mServerSplit->SplitVertically(mTextLines, mUserList, -_splitSize);
 
-       wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL);
-       topsizer->Add(mServerSplit, 1, wxGROW);
-       topsizer->Add(mTextEntry, 0, wxGROW);
+       //---------------------------//
+       //  Socket stuff                         //
+       //---------------------------//
 
-       SetSizer(topsizer);
-
        wxHaverCallback<wxHaverFrame> *want;
        want = new wxHaverCallback<wxHaverFrame>(this, &wxHaverFrame::OnWant);
 

Modified: trunk/clients/wxhaver/src/wxHaverFrame.h
===================================================================
--- trunk/clients/wxhaver/src/wxHaverFrame.h    2004-10-12 05:54:01 UTC (rev 
395)
+++ trunk/clients/wxhaver/src/wxHaverFrame.h    2004-10-12 11:14:22 UTC (rev 
396)
@@ -26,6 +26,7 @@
 
 #include "wx/splitter.h"
 #include "wx/socket.h"
+#include "wx/notebook.h"
 #include <vector>
 
 class wxHaverFrame : public wxFrame
@@ -48,6 +49,7 @@
        private:
                wxHaverSockClient *mSock;
                wxSplitterWindow *mServerSplit;
+               wxNotebook      *mChannels;
                wxTextCtrl      *mTextLines;
                wxTextCtrl      *mTextEntry;
                wxListBox       *mUserList;


Reply via email to