]> Creatis software - creaContours.git/blob - lib/Interface_Icons_NDimensions/interfNewContourMenu.cxx
35cb02bfd61a3b774ecb2a6f11092817d5007383
[creaContours.git] / lib / Interface_Icons_NDimensions / interfNewContourMenu.cxx
1 #include "interfNewContourMenu.h"
2
3
4 interfNewContourMenu::interfNewContourMenu(wxWindow * parent, int sizex, int sizey, wxEvtHandler* evtHandler, std::string datdir)
5         : interfMenuBar(parent, sizex, sizey)
6 {
7         this->datadir = datdir;
8         //eventHandler = (wxContourEventHandler*)evtHandler;
9
10         panBull = NULL;
11         created = false;
12
13         initButtons(this);      
14 }
15
16 void interfNewContourMenu::initButtons(wxEvtHandler* evtHandler) {
17
18         std::vector<std::string> path, nom;
19         std::vector<wxObjectEventFunction> funct;
20         std::vector<wxEvtHandler*> hand;
21         
22         path.push_back(datadir + "/Spline.png");
23         nom.push_back("Create a contour using splines");        
24         funct.push_back((wxObjectEventFunction)&interfNewContourMenu::onCreateContourSpline);
25         hand.push_back(evtHandler);
26
27         path.push_back(datadir+"/Rectangle.png");
28         nom.push_back("Create a contour using the basic shape of a rectangle");
29         funct.push_back((wxObjectEventFunction)&interfNewContourMenu::onCreateContourRectangle);
30         hand.push_back(evtHandler);
31
32         path.push_back(datadir + "/Circle.png");
33         nom.push_back("Create a contour using the basic shape of a Circle");
34         funct.push_back((wxObjectEventFunction)&interfNewContourMenu::onCreateContourCircle);
35         hand.push_back(evtHandler);
36
37         path.push_back(datadir + "/bullseye.png");
38         nom.push_back("Create a contour using the bulls eye");
39         funct.push_back((wxObjectEventFunction) &interfNewContourMenu::onCreateContourBullseye);
40         hand.push_back(this);
41
42         path.push_back(datadir + "/Line.png");
43         nom.push_back("Create a Line");
44         funct.push_back((wxObjectEventFunction) &interfNewContourMenu::onCreateContourLine);
45         hand.push_back(this);
46
47         // RaC 09-09 ---------------------
48         path.push_back(datadir + "/Points.png");
49         nom.push_back("Create Points");
50         funct.push_back((wxObjectEventFunction) &interfNewContourMenu::onCreateContourPoints);
51         hand.push_back(this);
52         // RaC 09-09 ---------------------      
53
54     this->addButtons(path, nom);
55
56         this->setVectorFunction(funct); 
57         this->setEventHandlers(hand);   
58         this->connectEvents();
59
60 }
61
62
63
64 interfNewContourMenu::~interfNewContourMenu()
65 {
66 }
67
68 void interfNewContourMenu::onCreateContourBullseye(wxCommandEvent& event){
69
70
71         if(!created){
72
73                 panBull = new PanelBullEyeOptions(interfMainPanel::getInstance()->getInfoPanel(), 
74                                                                 wxSize(100,200));
75                 created = true;
76         }
77         interfMainPanel::getInstance()->onCreateContoursBullEye(panBull);
78         //eventHandler->createContourBullsEye(panBull);
79         interfMainPanel::getInstance()->showPanel(panBull);
80
81 }
82
83 void interfNewContourMenu::onCreateContourSpline( wxCommandEvent& event ){
84         interfMainPanel::getInstance()->onCreateContourSpline();
85 }
86 void interfNewContourMenu::onCreateContourRectangle( wxCommandEvent& event ){
87         interfMainPanel::getInstance()->onCreateContourRectangle();
88 }
89 void interfNewContourMenu::onCreateContourCircle( wxCommandEvent& event ){
90         interfMainPanel::getInstance()->onCreateContourCircle();
91 }
92 void interfNewContourMenu::onCreateContourLine( wxCommandEvent& event ){
93         interfMainPanel::getInstance()->onCreateContourLine();
94 }
95
96 // RaC 09-09 ---------------------
97 void interfNewContourMenu::onCreateContourPoints( wxCommandEvent& event ){
98         interfMainPanel::getInstance()->onCreateContourPoints();
99 }
100 // RaC 09-09 ---------------------
101