1 /**
2 * Whiteboard share with chatroom dialog
3 *
4 * Authors:
5 * David Yip <yipdw@rose-hulman.edu>
6 * Jason Segal, Jonas Collaros, Stephen Montgomery, Brandi Soggs, Matthew Weinstock (original C/Gtk version)
7 *
8 * Copyright (c) 2004-2005 Authors
9 *
10 * Released under GNU GPL, read the file 'COPYING' for more information
11 */
13 #ifndef __WHITEBOARD_SHAREWITHCHAT_DIALOG_H__
14 #define __WHITEBOARD_SHAREWITHCHAT_DIALOG_H__
16 #include "verbs.h"
17 #include "dialog.h"
19 #include <gtkmm/table.h>
20 #include "jabber_whiteboard/session-file-selector.h"
22 struct SPDesktop;
24 namespace Inkscape {
26 namespace Whiteboard {
28 class SessionManager;
30 }
32 namespace UI {
34 namespace Dialog {
36 class WhiteboardShareWithChatroomDialog : public Dialog {
37 public:
38 WhiteboardShareWithChatroomDialog() : Dialog("dialogs.whiteboard_sharewithuser", SP_VERB_DIALOG_WHITEBOARD_SHAREWITHUSER)
39 {
41 }
43 static WhiteboardShareWithChatroomDialog* create();
45 virtual ~WhiteboardShareWithChatroomDialog()
46 {
48 }
49 };
52 class WhiteboardShareWithChatroomDialogImpl : public WhiteboardShareWithChatroomDialog {
53 public:
54 WhiteboardShareWithChatroomDialogImpl();
55 ~WhiteboardShareWithChatroomDialogImpl();
56 void setSessionManager();
58 private:
59 // Response flags
60 static unsigned int const SHARE = 0;
61 static unsigned int const CANCEL = 2;
63 // GTK+ widgets
64 Gtk::Table _layout;
66 Gtk::HBox _buttonsbox;
67 Whiteboard::SessionFileSelectorBox _sfsbox;
69 Gtk::Entry _roomname;
70 Gtk::Entry _roompass;
71 Gtk::Entry _confserver;
72 Gtk::Entry _handle;
74 Gtk::Label _labels[4];
76 Gtk::Button _share, _cancel;
78 // Construction and callback
79 void _construct();
80 void _respCallback(int resp);
82 // SessionManager and SPDesktop pointers
83 ::SPDesktop* _desktop;
84 Whiteboard::SessionManager* _sm;
85 };
87 }
89 }
91 }
93 #endif