daphne: main.o citclient.o userlogin.o testwindow.o who.o \
utils.o tcp_sockets.o express_message.o send_express.o \
- roomtree.o
+ roomtree.o roomview.o
c++ main.o citclient.o userlogin.o testwindow.o who.o \
utils.o tcp_sockets.o express_message.o send_express.o \
- roomtree.o \
+ roomtree.o roomview.o \
$(LFLAGS) -o daphne
main.o: main.cpp includes.hpp
roomtree.o: roomtree.cpp includes.hpp
c++ -c $(CFLAGS) roomtree.cpp
+
+roomview.o: roomview.cpp includes.hpp
+ c++ -c $(CFLAGS) roomview.cpp
class RoomTree : public wxTreeCtrl {
public:
- RoomTree(wxWindow *parent, CitClient *sock);
+ RoomTree(wxMDIParentFrame *parent, CitClient *sock);
void LoadRoomList(void);
private:
void InitTreeIcons(void);
void OnDoubleClick(wxTreeEvent& evt);
CitClient *citsock;
+ wxMDIParentFrame *citMyMDI;
wxTreeItemId floorboards[MAXFLOORS];
wxImageList *TreeIcons;
DECLARE_EVENT_TABLE()
+// A window representing an open room.
+class RoomView : public wxMDIChildFrame {
+public:
+ RoomView(CitClient *sock, wxMDIParentFrame *MyMDI, wxString roomname);
+private:
+ CitClient *citsock;
+};
+
+
// Stuff from utils.cpp
-RoomTree::RoomTree(wxWindow* parent, CitClient *sock)
+RoomTree::RoomTree(wxMDIParentFrame *parent, CitClient *sock)
: wxTreeCtrl(
parent,
ROOMTREE_CTRL,
"RoomList") {
citsock = sock;
+ citMyMDI = parent;
InitTreeIcons();
}
r = (RoomItem *)GetItemData(itemId);
cout << r->RoomName << "\n";
+ new RoomView(citsock, citMyMDI, r->RoomName);
}
+
--- /dev/null
+#include "includes.hpp"
+
+// frame constructor
+RoomView::RoomView(
+ CitClient *sock, wxMDIParentFrame *MyMDI, wxString roomname)
+ : wxMDIChildFrame(MyMDI, //parent
+ -1, //window id
+ roomname,
+ wxDefaultPosition,
+ wxDefaultSize,
+ wxDEFAULT_FRAME_STYLE,
+ roomname
+ ) {
+
+ wxString sendcmd, recvcmd;
+
+ citsock = sock;
+
+ if (citsock->GotoRoom(roomname, "", recvcmd) != 2) {
+ delete this;
+ }
+
+
+ SetAutoLayout(TRUE);
+ Show(TRUE);
+
+}