1 /** @file
2 * @brief Whiteboard share with chatroom dialog
3 */
4 /* Authors:
5 * David Yip <yipdw@rose-hulman.edu>
6 * Jason Segal
7 * Jonas Collaros
8 * Stephen Montgomery
9 * Brandi Soggs
10 * Matthew Weinstock (original C/Gtk version)
11 *
12 * Copyright (c) 2004-2005 Authors
13 * Released under GNU GPL, read the file 'COPYING' for more information
14 */
16 #ifndef __WHITEBOARD_SHAREWITHCHAT_DIALOG_H__
17 #define __WHITEBOARD_SHAREWITHCHAT_DIALOG_H__
19 #include "verbs.h"
20 #include "dialog.h"
22 #include <gtkmm/table.h>
23 #include "jabber_whiteboard/session-file-selector.h"
25 struct SPDesktop;
27 namespace Inkscape {
29 namespace Whiteboard {
31 class SessionManager;
33 }
35 namespace UI {
37 namespace Dialog {
39 class WhiteboardShareWithChatroomDialog : public Dialog {
40 public:
41 WhiteboardShareWithChatroomDialog() : Dialog("/dialogs/whiteboard_sharewithuser", SP_VERB_DIALOG_WHITEBOARD_SHAREWITHUSER)
42 {
44 }
46 static WhiteboardShareWithChatroomDialog* create();
48 virtual ~WhiteboardShareWithChatroomDialog()
49 {
51 }
52 };
55 class WhiteboardShareWithChatroomDialogImpl : public WhiteboardShareWithChatroomDialog {
56 public:
57 WhiteboardShareWithChatroomDialogImpl();
58 ~WhiteboardShareWithChatroomDialogImpl();
59 void setSessionManager();
61 private:
62 // Response flags
63 static unsigned int const SHARE = 0;
64 static unsigned int const CANCEL = 2;
66 // GTK+ widgets
67 Gtk::Table _layout;
69 Gtk::HBox _buttonsbox;
70 Whiteboard::SessionFileSelectorBox _sfsbox;
72 Gtk::Entry _roomname;
73 Gtk::Entry _roompass;
74 Gtk::Entry _confserver;
75 Gtk::Entry _handle;
77 Gtk::Label _labels[4];
79 Gtk::Button _share, _cancel;
81 // Construction and callback
82 void _construct();
83 void _respCallback(int resp);
85 // SessionManager and SPDesktop pointers
86 ::SPDesktop* _desktop;
87 Whiteboard::SessionManager* _sm;
88 };
90 }
92 }
94 }
96 #endif