]> code.citadel.org Git - citadel.git/commitdiff
Got the goto command working and opening a new window
authorArt Cancro <ajc@citadel.org>
Tue, 23 Mar 1999 05:04:33 +0000 (05:04 +0000)
committerArt Cancro <ajc@citadel.org>
Tue, 23 Mar 1999 05:04:33 +0000 (05:04 +0000)
daphne/Makefile
daphne/includes.hpp
daphne/roomtree.cpp
daphne/roomview.cpp [new file with mode: 0644]

index 6ac46bff087723bbc77a50f43feb9c2c3f9b3537..cfeb4543a1995faa886073f259972d4ebd6c8a89 100644 (file)
@@ -3,10 +3,10 @@ LFLAGS=`wx-config --libs`
 
 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
@@ -38,3 +38,6 @@ send_express.o: send_express.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
index 3523e6210933241f68d6eb276d410d0896d65a13..e79f1812c6aed9cf71ea93559a253d1ef5bf1bb2 100644 (file)
@@ -199,12 +199,13 @@ private:
 
 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()
@@ -212,6 +213,15 @@ private:
 
 
 
+// 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
index 46108ea4503aab19265233bd90ef084e70068305..bef684a3a955bf0f45e671f27976ae8c011dbc4a 100644 (file)
@@ -36,7 +36,7 @@ END_EVENT_TABLE()
 
 
 
-RoomTree::RoomTree(wxWindow* parent, CitClient *sock)
+RoomTree::RoomTree(wxMDIParentFrame *parent, CitClient *sock)
                : wxTreeCtrl(
                         parent,
                        ROOMTREE_CTRL,
@@ -46,6 +46,7 @@ RoomTree::RoomTree(wxWindow* parent, CitClient *sock)
                         "RoomList") {
 
        citsock = sock;
+       citMyMDI = parent;
        InitTreeIcons();
 
 }
@@ -155,4 +156,6 @@ void RoomTree::OnDoubleClick(wxTreeEvent& evt) {
        r = (RoomItem *)GetItemData(itemId);
 
        cout << r->RoomName << "\n";
+       new RoomView(citsock, citMyMDI, r->RoomName);
 }
+
diff --git a/daphne/roomview.cpp b/daphne/roomview.cpp
new file mode 100644 (file)
index 0000000..aab794c
--- /dev/null
@@ -0,0 +1,27 @@
+#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);
+
+}