1 #include <iostream> 2 #include <algorithm> 3 #include <sstream> 4 #include "bwm_tableau_fiducial.h" 5 #include "bwm_site_mgr.h" 6 //: 7 // \file 8 #include <bwm/bwm_tableau_mgr.h> 9 #include <bwm/bwm_observer_mgr.h> 10 #include <bwm/bwm_tableau_text.h> 11 #include <bwm/bwm_popup_menu.h> 12 #include <bwm/algo/bwm_utils.h> 13 #include <bwm/algo/bwm_algo.h> 14 15 #include <vsol/vsol_point_2d.h> 16 #include <vsol/vsol_polygon_2d_sptr.h> 17 #include <vgui/vgui_dialog.h> 18 #include <vgui/vgui_dialog_extensions.h> 19 #include <vgui/vgui_viewer2D_tableau.h> 20 #include <vgui/vgui_shell_tableau.h> 21 #include <vul/vul_file.h> 22 23 #ifdef _MSC_VER 24 # include <vcl_msvc_warnings.h> 25 #endif 26 #include <vul/vul_file.h> 27 get_popup(vgui_popup_params const & params,vgui_menu & menu)28void bwm_tableau_fiducial::get_popup(vgui_popup_params const ¶ms, vgui_menu &menu) 29 { 30 menu.clear(); 31 32 bwm_popup_menu pop(this); 33 vgui_menu submenu; 34 pop.get_menu(menu); 35 } 36 37 help_pop()38void bwm_tableau_fiducial::help_pop() 39 { 40 bwm_tableau_text* text_tab = new bwm_tableau_text(500, 500); 41 42 std::string h("help goes here\n"); 43 text_tab->set_string(h); 44 vgui_tableau_sptr v = vgui_viewer2D_tableau_new(text_tab); 45 vgui_tableau_sptr s = vgui_shell_tableau_new(v); 46 vgui_dialog popup("FIDUCIAL TABLEAU HELP"); 47 popup.inline_tableau(s, 550, 550); 48 return; 49 } 50 save_fiducial_corrs()51void bwm_tableau_fiducial::save_fiducial_corrs(){ 52 std::string path = ""; 53 std::string ext = ".xml"; 54 vgui_dialog fid_save_dlg("Save Fiducial Correspondences"); 55 fid_save_dlg.file("Fiducial corr file", ext, path); 56 if (!fid_save_dlg.ask()) 57 return; 58 std::string ex = vul_file::extension(path); 59 if(ex != ext) 60 path = path + ext; 61 my_observer_->save_fiducial_corrs(path); 62 } 63 handle(const vgui_event & e)64bool bwm_tableau_fiducial::handle(const vgui_event& e) 65 { 66 return bwm_tableau_img::handle(e); 67 } 68 enable_fid_corrs()69void bwm_tableau_fiducial::enable_fid_corrs(){ 70 my_observer_->start_fid_corrs(); 71 } 72 disable_fid_corrs()73void bwm_tableau_fiducial::disable_fid_corrs(){ 74 my_observer_->stop_fid_corrs(); 75 } 76 77