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;