fuse_viewer_gui.h
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 class NetworkCamera;
00037 class FuseImageListWidget;
00038 class ImageWidget;
00039
00040 namespace fawkes {
00041 class AvahiDispatcher;
00042 }
00043
00044 class FuseViewerGtkWindow : public Gtk::Window
00045 {
00046 public:
00047 FuseViewerGtkWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade::Xml> ref_xml);
00048 virtual ~FuseViewerGtkWindow();
00049
00050 private:
00051 void on_service_added(fawkes::NetworkService* service);
00052 void on_service_removed(fawkes::NetworkService* service);
00053
00054 void on_fuse_image_selected();
00055 void on_auto_save_cbt_change();
00056 void on_save_type_change();
00057 void on_save_image_clicked();
00058
00059 void close_image();
00060 void set_status(std::string img_id, std::string host = "", unsigned short port = 0);
00061
00062 private:
00063
00064 Gtk::ScrolledWindow *__image_list_scroll;
00065 Gtk::Viewport *__image_viewport;
00066 Gtk::AspectFrame *__save_box;
00067 Gtk::ComboBoxText *__save_type;
00068 Gtk::FileChooserButton *__save_filechooser;
00069 Gtk::CheckButton *__auto_save;
00070 Gtk::Button *__save_btn;
00071 Gtk::Statusbar *__statusbar;
00072
00073 fawkes::AvahiThread *__avahi_thread;
00074 fawkes::AvahiDispatcher *__avahi_dispatcher;
00075
00076 FuseImageListWidget *__img_list_widget;
00077
00078 ImageWidget *__img_widget;
00079 NetworkCamera *__cam;
00080
00081
00082 std::map<std::string, std::string> __host_service_map;
00083
00084 std::string __cur_service_name;
00085 unsigned int __img_num;
00086 };
00087
00088 #endif