00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __FIREVISION_TOOLS_LOC_VIEWER_LOC_VIEWER_GUI_H_
00024 #define __FIREVISION_TOOLS_LOC_VIEWER_LOC_VIEWER_GUI_H_
00025
00026 #define FUSE_PLUGIN_NAME "fvfountain"
00027 #define FOUNTAIN_PORT_PATH "/firevision/fountain/tcp_port"
00028
00029 #include <netcomm/dns-sd/avahi_thread.h>
00030
00031 #include <map>
00032
00033 #include <gtkmm.h>
00034 #include <libglademm/xml.h>
00035
00036 namespace firevision {
00037 class NetworkCamera;
00038 class FuseImageListWidget;
00039 class ImageWidget;
00040 }
00041 namespace fawkes {
00042 class AvahiDispatcher;
00043 }
00044
00045 class FuseViewerGtkWindow : public Gtk::Window
00046 {
00047 public:
00048 FuseViewerGtkWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml> ref_xml);
00049 virtual ~FuseViewerGtkWindow();
00050
00051 private:
00052 void on_service_added(fawkes::NetworkService* service);
00053 void on_service_removed(fawkes::NetworkService* service);
00054
00055 void on_fuse_image_selected();
00056 void on_auto_save_cbt_change();
00057 void on_save_type_change();
00058 void on_save_image_clicked();
00059
00060 void close_image();
00061 void set_status(std::string img_id, std::string host = "", unsigned short port = 0);
00062
00063 private:
00064
00065 Gtk::ScrolledWindow *__image_list_scroll;
00066 Gtk::Viewport *__image_viewport;
00067 Gtk::AspectFrame *__save_box;
00068 Gtk::ComboBoxText *__save_type;
00069 Gtk::FileChooserButton *__save_filechooser;
00070 Gtk::CheckButton *__auto_save;
00071 Gtk::Button *__save_btn;
00072 Gtk::Statusbar *__statusbar;
00073
00074 fawkes::AvahiThread *__avahi_thread;
00075 fawkes::AvahiDispatcher *__avahi_dispatcher;
00076
00077 firevision::FuseImageListWidget *__img_list_widget;
00078
00079 firevision::ImageWidget *__img_widget;
00080 firevision::NetworkCamera *__cam;
00081
00082
00083 std::map<std::string, std::string> __host_service_map;
00084
00085 std::string __cur_service_name;
00086 unsigned int __img_num;
00087 };
00088
00089 #endif