]> Creatis software - creaContours.git/blob - lib/Interface_Icons_NDimensions/interfToolsMenu.cxx
Version with out wxEventHandler
[creaContours.git] / lib / Interface_Icons_NDimensions / interfToolsMenu.cxx
1 #include "interfToolsMenu.h"
2 #include "interfMainPanel.h"
3
4 interfToolsMenu::interfToolsMenu(wxWindow * parent, int sizex, int sizey,wxEvtHandler* evtHandler, std::string datdir)
5         : interfMenuBar(parent, sizex, sizey)
6 {
7         this->datadir = datdir;
8         //contourevent = (wxContourEventHandler*)evtHandler;
9         //infoWin = NULL;
10         configPanel = NULL;
11         segmentPanel = NULL;
12         spreadPanel = NULL;
13         segmentPanelITK = NULL;
14         
15 //      eventHandler = evtHandler;
16
17         initButtons(this);
18 }
19
20 void interfToolsMenu::initButtons(wxEvtHandler* evtHandler) {
21
22         std::vector<std::string> path, nom;
23         std::vector<wxObjectEventFunction> funct;
24
25         path.push_back(datadir + "/Spread.png");
26         nom.push_back("The selected contour will spread through all slides");
27         funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onRigidPressed);
28
29         path.push_back(datadir + "/Spread1.png");
30         nom.push_back("Select more than one contour and find the contours between them");
31         funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onSpreadPressed);
32
33         
34         path.push_back(datadir + "/info.png");
35         nom.push_back("Information of the contours in the scene");
36         funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onInformationPressed);
37
38         path.push_back(datadir + "/pignon.png");
39         nom.push_back("Configuration of the window");
40         funct.push_back((wxObjectEventFunction) &interfToolsMenu:: onConfigurationPressed);
41
42         this->addButtons(path, nom);    
43         this->setVectorFunction(funct);
44
45         //this->setButtonName(0, wxContour_ActionCommandsID::CHANGE_TOOL);
46
47         this->connectEvents(evtHandler);
48            
49
50 }
51
52 interfToolsMenu::~interfToolsMenu()
53 {
54 }
55
56 /**
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*)
61         **/
62 void interfToolsMenu::onRigidPressed(wxCommandEvent& event){
63         interfMainPanel::getInstance()->onRigidPressed();
64 }
65
66 void  interfToolsMenu::onSpreadPressed(wxCommandEvent& event){
67
68         interfMainPanel::getInstance()->onSpreadPressed();
69
70         
71 }
72
73
74 void  interfToolsMenu::onInformationPressed(wxCommandEvent& event){
75
76         interfMainPanel::getInstance()->onInformationPressed();
77
78         
79 }
80
81 void  interfToolsMenu::onConfigurationPressed(wxCommandEvent& event){
82
83         interfMainPanel::getInstance()->onConfigurationPressed();
84
85 }
86