contrib/brl/vvid/bin/videx_menus.cxx
Go to the documentation of this file.
00001 #include "videx_menus.h"
00002 #include <vgui/vgui.h>
00003 #include <vgui/vgui_key.h>
00004 #include <vgui/vgui_menu.h>
00005 #include <vvid/vvid_live_video_manager.h>
00006 
00007 //Static munu callback functions
00008 
00009 void videx_menus::quit_callback()
00010 {
00011   vvid_live_video_manager::instance()->quit();
00012 }
00013 
00014 
00015 void videx_menus::set_camera_params_callback()
00016 {
00017   vvid_live_video_manager::instance()->set_camera_params();
00018 }
00019 
00020 void videx_menus::set_detection_params_callback()
00021 {
00022   vvid_live_video_manager::instance()->set_detection_params();
00023 }
00024 
00025 void videx_menus::no_op_callback()
00026 {
00027   vvid_live_video_manager::instance()->no_op();
00028 }
00029 
00030 void videx_menus::start_live_video_callback()
00031 {
00032   vvid_live_video_manager::instance()->start_live_video();
00033 }
00034 
00035 void videx_menus::stop_live_video_callback()
00036 {
00037   vvid_live_video_manager::instance()->stop_live_video();
00038 }
00039 
00040 void videx_menus::toggle_histogram_callback()
00041 {
00042   vvid_live_video_manager::instance()->toggle_histogram();
00043 }
00044 
00045 void videx_menus::capture_sequence_callback()
00046 {
00047   vvid_live_video_manager::instance()->capture_sequence();
00048 }
00049 
00050 void videx_menus::init_capture_callback()
00051 {
00052   vvid_live_video_manager::instance()->init_capture();
00053 }
00054 
00055 void videx_menus::stop_capture_callback()
00056 {
00057   vvid_live_video_manager::instance()->stop_capture();
00058 }
00059 
00060 
00061 //videx_menus definition
00062 vgui_menu videx_menus::get_menu()
00063 {
00064   vgui_menu menubar;
00065   vgui_menu menufile;
00066   vgui_menu menuview;
00067   vgui_menu menuedit;
00068   //file menu entries
00069   menufile.add( "Quit", quit_callback,(vgui_key)'q', vgui_CTRL);
00070   menufile.add( "Capture(old)", capture_sequence_callback);
00071   menufile.add( "Init Capture", init_capture_callback, (vgui_key)'i');
00072   menufile.add( "Stop Capture", stop_capture_callback, (vgui_key)'e');
00073 
00074   //view menu entries
00075   menuview.add( "Start Live Video", start_live_video_callback, (vgui_key)'s');
00076   menuview.add( "Stop Live Video", stop_live_video_callback, (vgui_key)'s', vgui_CTRL);
00077   menuview.add( "Toggle Histogram", toggle_histogram_callback, (vgui_key)'h');
00078 
00079   //edit menu entries
00080   menuedit.add("Camera Settings", set_camera_params_callback, (vgui_key)'p', vgui_CTRL);
00081   menuedit.add("Edge Detection Settings", set_detection_params_callback);
00082   menuedit.add("No Live Operation", no_op_callback);
00083 
00084   //Top level menu layout
00085   menubar.add( "File", menufile);
00086   menubar.add( "View", menuview);
00087   menubar.add( "Edit", menuedit);
00088   return menubar;
00089 }
00090