1 #include "interfSegmentationMenu.h"
2 #include "interfMainPanel.h"
4 interfSegmentationMenu::interfSegmentationMenu(wxWindow * parent, int sizex, int sizey,wxEvtHandler* evtHandler, std::string datdir)
5 : interfMenuBar(parent, sizex, sizey)
7 this->datadir = datdir;
8 //contourevent = (wxContourEventHandler*)evtHandler;
12 segmentPanelITK = NULL;
14 //eventHandler = evtHandler;
19 void interfSegmentationMenu::initButtons(wxEvtHandler* evtHandler) {
21 std::vector<std::string> path, nom;
22 std::vector<wxObjectEventFunction> funct;
24 path.push_back(datadir + "/Segmentation.png");
25 nom.push_back("Find shapes by automatic segmentation");
26 funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onSegmentationPressed);
28 path.push_back(datadir + "/ITK.png");
29 nom.push_back("Find shapes by automatic segmentation with ITK");
30 funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onSegmentationPressedITK);
32 path.push_back(datadir + "/snake.png");
33 nom.push_back("Find shapes using border snake interaction");
34 funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onSnakePressed);
36 path.push_back(datadir + "/Mirror.png");
37 nom.push_back("Create an Axis and select a contour to mirror it accordingly");
38 funct.push_back((wxObjectEventFunction) &interfSegmentationMenu:: onMirrorPressed);
40 path.push_back(datadir + "/Threshold.png");
41 nom.push_back("Superpose a 'Red Image' to the selected Image Threshold");
42 funct.push_back((wxObjectEventFunction)&interfSegmentationMenu::onThreshold);
44 this->addButtons(path, nom);
45 this->setVectorFunction(funct);
47 this->connectEvents(evtHandler);
52 interfSegmentationMenu::~interfSegmentationMenu()
57 ** Responds to the events of the buttons, when the same panel is responsible for it. It gets the name
58 ** of the button corresponding to the method that has to be executed,
59 ** it uses attribute eventHandler to call the methods define by the application.
60 ** see setEventHandler(wxEventHandler*)
64 void interfSegmentationMenu::onSegmentationPressed(wxCommandEvent& event){
66 interfMainPanel::getInstance()->onSegmentationPressed();
71 void interfSegmentationMenu::onSegmentationPressedITK(wxCommandEvent& event){
73 interfMainPanel::getInstance()->onSegmentationPressedITK();
78 void interfSegmentationMenu::onSnakePressed(wxCommandEvent& event){
80 interfMainPanel::getInstance()->onSnakePressed();
84 void interfSegmentationMenu::onMirrorPressed(wxCommandEvent& event){
86 interfMainPanel::getInstance()->onMirrorPressed();
90 void interfSegmentationMenu::onThreshold(wxCommandEvent& event){
92 interfMainPanel::getInstance()->onThresholdPressed();
96 //------------------------------------------------------------------------------------------------------------