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)28 void bwm_tableau_fiducial::get_popup(vgui_popup_params const &params, 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()38 void 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()51 void 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)64 bool bwm_tableau_fiducial::handle(const vgui_event& e)
65 {
66  return bwm_tableau_img::handle(e);
67 }
68 
enable_fid_corrs()69 void bwm_tableau_fiducial::enable_fid_corrs(){
70     my_observer_->start_fid_corrs();
71 }
72 
disable_fid_corrs()73 void bwm_tableau_fiducial::disable_fid_corrs(){
74   my_observer_->stop_fid_corrs();
75 }
76 
77