1 #include "interfMainPanel.h"
4 #include "interfNewContourMenu.h"
5 #include "interfIOMenu.h"
6 #include "interfEditMenu.h"
7 #include "interfDeleteMenu.h"
8 #include "interfToolsMenu.h"
9 #include "interfToolsSpreadPanel.h"
10 #include "interfMenuBar.h"
11 #include "interfSegmentationMenu.h"
14 interfMainPanel* interfMainPanel::interfmainpanel=NULL;
16 interfMainPanel::interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtHandler * evtHandler, std::string datadir)
17 : wxPanel(parent, -1, wxDefaultPosition, wxSize(sizex, sizey), wxBORDER_SUNKEN)
20 PANEL = "New Contour";
25 PANEL5 = "Segmentation";
27 segmentPanelITK = NULL;
31 informationPanel=NULL;
34 splitterwindow = new wxSplitterWindow(this,-1, wxDefaultPosition, wxSize(sizex, sizey), wxSP_3DSASH, wxString(_T("")));
39 wxPanel* toolpanel = new wxPanel(splitterwindow, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
41 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(6,2,1,1);
42 toolpanel->SetSizer(flexsizer, true);
43 toolpanel->SetAutoLayout( true );
45 wxButton* b = getButton(toolpanel);
46 b->SetClientData(&PANEL);
47 wxButton* b1 = getButton(toolpanel);
48 b1->SetClientData(&PANEL1);
49 wxButton* b2 = getButton(toolpanel);
50 b2->SetClientData(&PANEL2);
51 wxButton* b3 = getButton(toolpanel);
52 b3->SetClientData(&PANEL3);
53 wxButton* b4 = getButton(toolpanel);
54 b4->SetClientData(&PANEL4);
55 wxButton* b5 = getButton(toolpanel);
56 b5->SetClientData(&PANEL5);
58 wxPanel* mentex = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
59 wxPanel* mentex1 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
60 wxPanel* mentex2 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
61 wxPanel* mentex3 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
62 wxPanel* mentex4 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
63 wxPanel* mentex5 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T("")));
65 menubar = new interfNewContourMenu(mentex, sizex, sizey, evtHandler, datadir);
66 menubar1 = new interfIOMenu(mentex1, sizex, sizey, evtHandler, datadir);
67 menubar2 = new interfEditMenu(mentex2, sizex, sizey, evtHandler, datadir);
68 menubar3 = new interfDeleteMenu(mentex3, sizex, sizey, evtHandler, datadir);
69 menubar4 = new interfToolsMenu(mentex4, sizex,sizey, evtHandler, datadir);
70 menubar5 = new interfSegmentationMenu(mentex5, sizex,sizey, evtHandler, datadir);
72 statictext = getText(mentex, PANEL);
73 statictext1 = getText(mentex1, PANEL1);
74 statictext2 = getText(mentex2, PANEL2);
75 statictext3 = getText(mentex3, PANEL3);
76 statictext4 = getText(mentex4, PANEL4);
77 statictext5 = getText(mentex5, PANEL5);
79 flexsizer->Add(b, wxFIXED_MINSIZE);
80 flexsizer->Add(setMenuTextSizer(mentex, menubar,statictext), wxFIXED_MINSIZE);
82 flexsizer->Add(b1, wxFIXED_MINSIZE);
83 flexsizer->Add(setMenuTextSizer(mentex1, menubar1,statictext1), wxFIXED_MINSIZE);
85 flexsizer->Add(b2, wxFIXED_MINSIZE);
86 flexsizer->Add(setMenuTextSizer(mentex2, menubar2,statictext2), wxFIXED_MINSIZE);
88 flexsizer->Add(b3, wxFIXED_MINSIZE);
89 flexsizer->Add(setMenuTextSizer(mentex3, menubar3,statictext3), wxFIXED_MINSIZE);
91 flexsizer->Add(b4, wxFIXED_MINSIZE);
92 flexsizer->Add(setMenuTextSizer(mentex4, menubar4,statictext4), wxFIXED_MINSIZE);
94 flexsizer->Add(b5, wxFIXED_MINSIZE);
95 flexsizer->Add(setMenuTextSizer(mentex5, menubar5,statictext5), wxFIXED_MINSIZE);
100 infoPanel = new wxPanel(splitterwindow, -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString(_T("")));
101 wxFlexGridSizer* infosizer = new wxFlexGridSizer(1,1,2,2);
102 infoPanel->SetSizer(infosizer, true);
103 infoPanel->SetAutoLayout( true );
105 splitterwindow->Initialize(toolpanel);
106 splitterwindow->SplitHorizontally(toolpanel, infoPanel);
108 Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
109 Connect(b1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
110 Connect(b2->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
111 Connect(b3->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
112 Connect(b4->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
113 Connect(b5->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
117 currentWindow = NULL;
119 PANEL = "New Contour";
126 wxPanel* toolpanel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(""));
128 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(6,2,2,2);
129 toolpanel->SetSizer(flexsizer, true);
130 toolpanel->SetAutoLayout( true );
132 wxButton* b = getButton(toolpanel);
133 b->SetClientData(&PANEL);
134 wxButton* b1 = getButton(toolpanel);
135 b1->SetClientData(&PANEL1);
136 wxButton* b2 = getButton(toolpanel);
137 b2->SetClientData(&PANEL2);
138 wxButton* b3 = getButton(toolpanel);
139 b3->SetClientData(&PANEL3);
140 wxButton* b4 = getButton(toolpanel);
141 b4->SetClientData(&PANEL4);
144 wxPanel* mentex = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(""));
145 wxPanel* mentex1 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(""));
146 wxPanel* mentex2 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(""));
147 wxPanel* mentex3 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(""));
148 wxPanel* mentex4 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(""));
150 menubar = new interfNewContourMenu(mentex, sizex, sizey, evtHandler);
151 menubar1 = new interfIOMenu(mentex1, sizex, sizey, evtHandler);
152 menubar2 = new interfEditMenu(mentex2, sizex, sizey, evtHandler);
153 menubar3 = new interfDeleteMenu(mentex3, sizex, sizey, evtHandler);
154 menubar4 = new interfToolsMenu(mentex4, sizex,sizey, evtHandler);
156 // this->initializeToolsPanel(mentex4, sizex, sizey, evtHandler);
158 statictext = getText(mentex, PANEL);
159 statictext1 = getText(mentex1, PANEL1);
160 statictext2 = getText(mentex2, PANEL2);
161 statictext3 = getText(mentex3, PANEL3);
162 statictext4 = getText(mentex4, PANEL4);
166 flexsizer->Add(b, wxFIXED_MINSIZE);
167 flexsizer->Add(setMenuTextSizer(mentex, menubar,statictext), wxFIXED_MINSIZE);
169 flexsizer->Add(b1, wxFIXED_MINSIZE);
170 flexsizer->Add(setMenuTextSizer(mentex1, menubar1,statictext1), wxFIXED_MINSIZE);
172 flexsizer->Add(b2, wxFIXED_MINSIZE);
173 flexsizer->Add(setMenuTextSizer(mentex2, menubar2,statictext2), wxFIXED_MINSIZE);
175 flexsizer->Add(b3, wxFIXED_MINSIZE);
176 flexsizer->Add(setMenuTextSizer(mentex3, menubar3,statictext3), wxFIXED_MINSIZE);
178 flexsizer->Add(b4, wxFIXED_MINSIZE);
179 flexsizer->Add(setMenuTextSizer(mentex4, menubar4,statictext4), wxFIXED_MINSIZE);
183 infoPanel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString(""));
184 wxFlexGridSizer* infosizer = new wxFlexGridSizer(5,2,2,2);
185 infoPanel->SetSizer(infosizer, true);
186 infoPanel->SetAutoLayout( true );
190 wxFlexGridSizer* mainsizer = new wxFlexGridSizer(1);
191 this->SetSizer(mainsizer, true);
192 this->SetAutoLayout( true );
195 mainsizer->Add(toolpanel,wxEXPAND);
196 mainsizer->Add(new wxSplitterWindow(this,-1, wxDefaultPosition, wxDefaultSize, wxSP_3DBORDER, wxString("")), wxEXPAND);
197 mainsizer->Add(infoPanel, wxEXPAND);
200 Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
201 Connect(b1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
202 Connect(b2->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
203 Connect(b3->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
204 Connect(b4->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1);
210 interfMainPanel::~interfMainPanel(void)
214 interfMainPanel* interfMainPanel::getInstance(wxWindow* parent, std::string datadir, wxEvtHandler * evtHandler){
216 wxFrame* newframe = new wxFrame(parent, -1, wxT("New Interface"), wxPoint(1,1), wxSize(380,750),wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT);
219 if(interfmainpanel == NULL){
220 interfmainpanel = new interfMainPanel(newframe, 380, 750, evtHandler, datadir);
223 newframe->Show(TRUE);
224 return interfmainpanel;
227 interfMainPanel* interfMainPanel::getInstance(wxWindow* parent, wxEvtHandler * evtHandler){
229 wxFrame* newframe = new wxFrame(parent, -1, wxT("New Interface"), wxPoint(1,1), wxSize(380,750),wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT );
231 if(interfmainpanel == NULL){
232 interfmainpanel = new interfMainPanel(newframe, 380, 750, evtHandler);
235 newframe->Show(TRUE);
236 return interfmainpanel;
239 interfMainPanel* interfMainPanel::getInstance(){
241 return interfmainpanel;
245 wxPanel* interfMainPanel::initializeToolsPanel(wxWindow* parent, int sizex, int sizey, wxEvtHandler * evtHandler){
248 wxPanel* panel = new wxPanel(parent, -1, wxDefaultPosition, wxSize(sizex, sizey), wxBORDER_SUNKEN, wxString(_T("Spread")));
250 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(2,1,2,2) ;
251 panel->SetSizer(flexsizer, true);
252 panel->SetAutoLayout( true );
254 interfToolsMenu* menu = new interfToolsMenu(panel, sizex, sizey, evtHandler);
255 toolspread = new interfToolsSpreadPanel(panel, sizex, 300, evtHandler);
257 flexsizer->Add(menu, wxFIXED_MINSIZE);
258 flexsizer->Add(toolspread, wxFIXED_MINSIZE);
268 ** Adds a new checkbox to the scrolledwindow using the checkboxsizer
269 ** @Params id of contour
272 void interfMainPanel::addContourCheckBox(std::string id){
273 toolspread->addContourCheckBox(id);
277 ** Removes a checkbox from the list of checkboxes in the flexsizer (checkboxsizer)
278 ** @Params id of contour
281 void interfMainPanel::removeContourCheckBox(std::string id){
282 toolspread->removeContourCheckBox(id);
285 void interfMainPanel::onActionButtonPressed1( wxCommandEvent& event ){
286 //((interfToolsMenu*)menubar4)->hideAxis();
287 wxButton* b = (wxButton*)event.GetEventObject();
290 std::string dstring = *((std::string*) b->GetClientData());
294 if(dstring.compare(PANEL)==0){
297 }else if(dstring.compare(PANEL1)==0 ){
300 }else if(dstring.compare(PANEL2)==0){
303 }else if(dstring.compare(PANEL3)==0){
306 }else if(dstring.compare(PANEL4)==0){
309 }else if(dstring.compare(PANEL5)==0){
314 if(wxStrcmp(b->GetLabel(),_T("+"))==0 ){
317 b->SetLabel(_T("-"));
321 b->SetLabel(_T("+"));
324 sizechange *= dmenu->GetSize().GetHeight();
325 splitterwindow->SetSashPosition(splitterwindow->GetSashPosition()+sizechange);
331 wxStaticText* interfMainPanel::getText(wxWindow* parent, std::string nom){
332 return new wxStaticText(parent, -1, wxString(nom.c_str(),wxConvUTF8), wxDefaultPosition,
333 wxDefaultSize, wxALIGN_CENTRE, wxString(nom.c_str(),wxConvUTF8));
336 wxButton* interfMainPanel::getButton(wxWindow* parent){
337 wxButton* b = new wxButton(parent, -1, wxString(_T("-")), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT,
338 wxDefaultValidator, wxString(_T("-")));
342 wxPanel* interfMainPanel::setMenuTextSizer(wxWindow* parent, wxPanel* panel, wxStaticText* text){
344 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(2,1,2,2);
345 parent->SetSizer(flexsizer, true);
346 parent->SetAutoLayout( true );
348 flexsizer->Add(text, wxFLEX_GROWMODE_ALL);
349 flexsizer->Add(panel, wxFLEX_GROWMODE_ALL);
352 return (wxPanel*)parent;
357 ** Shows the panel in the
359 void interfMainPanel::showPanel(wxWindow* panel){
360 wxContourMainFrame::getInstance()->showAxis(false);
361 wxSizer* sizer = infoPanel->GetSizer();
363 if(currentWindow != NULL){
364 currentWindow->Hide();
365 sizer->Remove(currentWindow);
368 currentWindow = panel;
369 currentWindow->Show(true);
371 splitterwindow->SetSashPosition(splitterwindow->GetSashPosition()+1);
372 splitterwindow->SetSashPosition(splitterwindow->GetSashPosition()-1);
375 infoPanel->Refresh();
382 ** Gets the Information panel
384 wxPanel* interfMainPanel::getInfoPanel(){
388 void interfMainPanel::onCreateContourSpline( ){
389 wxContourMainFrame::getInstance()->showAxis(false);
390 wxContourMainFrame::getInstance()->onCreateContourSpline();
392 void interfMainPanel::onCreateContourRectangle( ){
393 wxContourMainFrame::getInstance()->showAxis(false);
394 wxContourMainFrame::getInstance()->onCreateContourRectangle();
396 void interfMainPanel::onCreateContourCircle( ){
397 wxContourMainFrame::getInstance()->showAxis(false);
398 wxContourMainFrame::getInstance()->onCreateContourCircle();
400 void interfMainPanel::onCreateContourLine( ){
401 wxContourMainFrame::getInstance()->showAxis(false);
402 wxContourMainFrame::getInstance()->onCreateContourLine();
404 void interfMainPanel::onCreateContoursBullEye(wxPanel* panBull){
405 wxContourMainFrame::getInstance()->showAxis(false);
406 wxContourMainFrame::getInstance()->onCreateContourBullEye(panBull);
408 void interfMainPanel::onDeleteContour(){
409 wxContourMainFrame::getInstance()->showAxis(false);
410 wxContourMainFrame::getInstance()->onDeleteContour();
412 void interfMainPanel::onDeleteContoursActSlice(){
413 wxContourMainFrame::getInstance()->showAxis(false);
414 wxContourMainFrame::getInstance()->onDeleteContoursActSlice();
416 void interfMainPanel::onDeleteAllContours(){
417 wxContourMainFrame::getInstance()->showAxis(false);
418 wxContourMainFrame::getInstance()->onDeleteAllContours();
421 void interfMainPanel::onCopy(){
422 wxContourMainFrame::getInstance()->onCopy();
424 void interfMainPanel::onPaste(){
425 wxContourMainFrame::getInstance()->onPaste();
427 void interfMainPanel::onUndo(){
428 wxContourMainFrame::getInstance()->onUndo();
430 void interfMainPanel::onRedo(){
431 wxContourMainFrame::getInstance()->onRedo();
433 void interfMainPanel::onLoad(){
434 wxContourMainFrame::getInstance()->onLoad();
436 void interfMainPanel::onSave(){
437 wxContourMainFrame::getInstance()-> onSave();
439 void interfMainPanel::RefreshInterface(){
440 wxContourMainFrame::getInstance()->RefreshInterface();
443 vtkImageData* interfMainPanel::getImageData(){
444 return wxContourMainFrame::getInstance()->getImageData();
447 void interfMainPanel::onSegmentationOneSlice(int isovalue,int sampling,int method)
449 wxContourMainFrame::getInstance()->onSegmentationOneSlice(isovalue, sampling, method);
452 int interfMainPanel::GetImageDataSizeZ(){
453 return wxContourMainFrame::getInstance()->GetImageDataSizeZ();
456 void interfMainPanel::GetImageDataRange(double *range){
457 wxContourMainFrame::getInstance()->GetImageDataRange(range);
460 void interfMainPanel::onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method){
461 wxContourMainFrame::getInstance()->onSegmentationAllSlice(minZ, maxZ,isovalue,sampling,method);
464 void interfMainPanel::onMirror()
466 wxContourMainFrame::getInstance()->onMirror();
469 void interfMainPanel::setLabelSegmentationPanelVTK(wxString tmpString){
470 ((interfSegmentationPanelVTK*)segmentationPanel)->setLabel(tmpString);
472 void interfMainPanel::onSegmentationPressed(){
473 if(segmentPanel == NULL){
474 segmentPanel = new wxPanel(getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T("")));
475 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1);
476 segmentPanel->SetSizer(flexsizer, true);
477 segmentPanel->SetAutoLayout( true );
478 segmentPanel->SetEventHandler(this);
480 //wxPanel* panel = contourevent->getSegmentationPanel(segmentPanel);
481 segmentationPanel = new interfSegmentationPanelVTK(segmentPanel);
484 wxStaticText* stattext = new wxStaticText(segmentPanel, -1, wxString(_T(" Automatic Segmentation ")), wxDefaultPosition,
485 wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
487 flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE);
488 flexsizer->Add(segmentationPanel, wxEXPAND);
489 segmentPanel->Layout();
491 showPanel(segmentPanel);
492 wxContourMainFrame::getInstance()->showAxis(true);
496 void interfMainPanel::onSegmentationPressedITK(){
497 if(segmentPanelITK == NULL){
498 segmentPanelITK = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T("")));
501 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1);
502 segmentPanelITK->SetSizer(flexsizer, true);
503 segmentPanelITK->SetAutoLayout( true );
504 //segmentPanelITK->SetEventHandler(this->contourevent);
506 //wxPanel* panel = contourevent->getSegmentationPanelITK(segmentPanelITK);
507 wxPanel* panel = new interfSegmentationPanelITK(segmentPanelITK);
510 wxStaticText* stattext = new wxStaticText(segmentPanelITK, -1, wxString(_T(" Automatic ITK Segmentation ")), wxDefaultPosition,
511 wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
513 flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE);
514 flexsizer->Add(panel, wxEXPAND);
515 segmentPanelITK->Layout();
517 showPanel(segmentPanelITK);
518 //contourevent->showAxis(true);
522 void interfMainPanel::onRigidPressed(){
523 wxContourMainFrame::getInstance()->onRigidPressed();
526 void interfMainPanel::onWidthOfContour(double width){
527 wxContourMainFrame::getInstance()->onWidthOfContour(width);
530 int interfMainPanel::getColorWindow(){
531 return wxContourMainFrame::getInstance()->getColorWindow();
533 int interfMainPanel::getWindowLevel(){
534 return wxContourMainFrame::getInstance()->getWindowLevel();
536 void interfMainPanel::onBrigthnessColorWindowLevel(int colorwindow,int windowlevel){
537 wxContourMainFrame::getInstance()->onBrigthnessColorWindowLevel(colorwindow, windowlevel);
540 void interfMainPanel::onInterpolation(bool interpolate){
541 wxContourMainFrame::getInstance()->onInterpolation(interpolate);
544 void interfMainPanel::onConfigurationPressed(){
546 if(configPanel == NULL){
547 configPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString(_T("")));
548 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1);
549 configPanel->SetSizer(flexsizer, true);
550 configPanel->SetAutoLayout( true );
551 //configPanel->SetEventHandler(this->contourevent);
553 wxPanel* panel = new interfConfigurationPanel(configPanel);
555 wxStaticText* stattext = new wxStaticText(configPanel, -1, wxString(_T(" Interface Configuration ")), wxDefaultPosition,
556 wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
558 flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE);
560 flexsizer->Add(panel, wxEXPAND);
561 configPanel->Layout();
564 showPanel(configPanel);
567 void interfMainPanel::onSpreadPressed(){
568 if(spreadPanel==NULL){
570 spreadPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T("")));
571 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1);
572 spreadPanel->SetSizer(flexsizer, true);
573 spreadPanel->SetAutoLayout( true );
574 //spreadPanel->SetEventHandler(this->contourevent);
576 //wxPanel* panel = contourevent->getSpreadPanel(spreadPanel);
577 panelSpread = new interfSpreadPanel(spreadPanel);
580 wxStaticText* stattext = new wxStaticText(spreadPanel, -1, wxString(_T(" Automatic Spread ")), wxDefaultPosition,
581 wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
583 flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE);
584 flexsizer->Add(panelSpread, wxEXPAND);
585 spreadPanel->Layout();
587 showPanel(spreadPanel);
591 void interfMainPanel::resetAppend(){
592 wxContourMainFrame::getInstance()->resetAppend();
595 void interfMainPanel::onSpreadAdd(){
596 wxContourMainFrame::getInstance()->onSpreadAdd();
599 void interfMainPanel::appendStringSpread(std::string val){
600 panelSpread->appendStringSpread(val);
603 void interfMainPanel::onSpreadGo(int type){
604 wxContourMainFrame::getInstance()->onSpreadGo(type);
606 void interfMainPanel::setStringSpread(std::string stringtemp){
607 panelSpread->setStringSpread(stringtemp);
610 void interfMainPanel::onInformationPressed(){
612 infoWin = new wxFrame (this, -1,_T(" Spread "), wxDefaultPosition, wxDefaultSize, wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT | wxRESIZE_BORDER );
613 infoWin->SetSize( wxSize(500,450) );
615 wxSize sizepanel(200,300);
616 informationPanel = new interfInformationPanel(infoWin);//contourevent->getInformationPanel(infoWin);
618 wxBoxSizer * sizerPanel = new wxBoxSizer(wxHORIZONTAL);
619 sizerPanel -> Add( informationPanel , 1, wxEXPAND ,0);
621 infoWin->SetSizer( sizerPanel );
622 infoWin->SetAutoLayout( true );
629 if (infoWin->IsShown()==true)
631 infoWin->Show(false);
633 //contourevent->FillGridWithContoursInformation();
639 void interfMainPanel::getInstantVector(std::vector<int>& tempVector){
640 wxContourMainFrame::getInstance()->getInstantVector(tempVector);
643 std::vector<std::string> interfMainPanel::getOutlinesName(int slide){
644 return wxContourMainFrame::getInstance()->getOutlinesName(slide);
647 void interfMainPanel::onInformationContourLabels(int typeContourGroup,int selection,int minZ,int maxZ){
648 wxContourMainFrame::getInstance()->onInformationContourLabels(typeContourGroup, selection, minZ, maxZ);
651 void interfMainPanel::setStringInfoPanel(wxString tmpString){
652 ((interfInformationPanel*)informationPanel)->setStringInfoPanel(tmpString);
655 void interfMainPanel::setRowLabelInfoPanel(int z, wxString tempString){
656 ((interfInformationPanel*)informationPanel)->setRowLabelInfoPanel(z, tempString);
659 int interfMainPanel::getNumberColsInformationPanel(){
660 return ((interfInformationPanel*)informationPanel)->getNumberCols();
663 void interfMainPanel::appendColsInformationPanel(int _numberOfVariablesStatistics){
664 ((interfInformationPanel*)informationPanel)->appendCols(_numberOfVariablesStatistics);
667 void interfMainPanel::setCellValueInfoPanel(int z,int tmpIntA,wxString tempString){
668 ((interfInformationPanel*)informationPanel)->setCellValue(z, tmpIntA, tempString);
671 void interfMainPanel::setColLableInfoPanel(int tmpIntB,wxString tmpTitleString){
672 ((interfInformationPanel*)informationPanel)->setColLabel(tmpIntB, tmpTitleString);
676 void interfMainPanel::onSaveResults(std::string directory,std::string namefile, std::string filename, int typeContourGroup){
677 wxContourMainFrame::getInstance()->onSaveResults(directory, namefile,filename, typeContourGroup);
680 wxString interfMainPanel::getCellValue(int j,int i){
681 return ((interfInformationPanel*)informationPanel)->getCellValue(j, i );
684 void interfMainPanel::onSnakePressed(){
685 wxContourMainFrame::getInstance()->onSnakePressed();
688 void interfMainPanel::onMirrorPressed(){
689 if(mirrorPanel==NULL){
691 mirrorPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T("")));
692 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1);
693 mirrorPanel->SetSizer(flexsizer, true);
694 mirrorPanel->SetAutoLayout( true );
695 panelMirror = new interfMirrorPanel(mirrorPanel);
697 wxStaticText* stattext = new wxStaticText(mirrorPanel, -1, wxString(_T(" Mirroring Tool ")), wxDefaultPosition,
698 wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
700 flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE);
701 flexsizer->Add(panelMirror, wxEXPAND);
702 mirrorPanel->Layout();
704 showPanel(mirrorPanel);