X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_Icons_NDimensions%2FinterfMainPanel.cxx;h=4b8c16e9037c8b040bbeb4340c531f02a7b5d41b;hb=26f06d2da9f31bca99fe2266d5b7e5c38a00bdbb;hp=e4fe6a5d4dd73f20e7029c57fa3556d8110d5f47;hpb=c7aa7286e02028ade712c1284fea9439d0d3c61c;p=creaContours.git diff --git a/lib/Interface_Icons_NDimensions/interfMainPanel.cxx b/lib/Interface_Icons_NDimensions/interfMainPanel.cxx index e4fe6a5..4b8c16e 100644 --- a/lib/Interface_Icons_NDimensions/interfMainPanel.cxx +++ b/lib/Interface_Icons_NDimensions/interfMainPanel.cxx @@ -1,6 +1,6 @@ #include "interfMainPanel.h" - +/* #include "interfNewContourMenu.h" #include "interfIOMenu.h" #include "interfEditMenu.h" @@ -9,7 +9,7 @@ #include "interfToolsSpreadPanel.h" #include "interfMenuBar.h" #include "interfSegmentationMenu.h" - +*/ interfMainPanel* interfMainPanel::interfmainpanel=NULL; @@ -23,11 +23,22 @@ interfMainPanel::interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtH PANEL3 = "Delete"; PANEL4 = "Tools"; PANEL5 = "Segmentation"; - - splitterwindow = new wxSplitterWindow(this,-1, wxDefaultPosition, wxSize(sizex, sizey), wxSP_3DSASH, wxString(_T(""))); + segmentPanel = NULL; + segmentPanelITK = NULL; + configPanel = NULL; + spreadPanel = NULL; + infoWin = NULL; + informationPanel = NULL; + mirrorPanel = NULL; + thresholdPanel = NULL; + currentWindow = NULL; + splitterwindow = new wxSplitterWindow(this,-1, wxDefaultPosition, wxSize(sizex, sizey), wxSP_3DSASH, wxString(_T(""))); + + splitterwindow->SetMinimumPaneSize( 10 ); sizey = sizey/8; - currentWindow = NULL; + + wxPanel* toolpanel = new wxPanel(splitterwindow, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString(_T(""))); @@ -96,6 +107,7 @@ interfMainPanel::interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtH infoPanel->SetAutoLayout( true ); splitterwindow->Initialize(toolpanel); + splitterwindow->SetSashGravity(1); splitterwindow->SplitHorizontally(toolpanel, infoPanel); Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); @@ -106,111 +118,19 @@ interfMainPanel::interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtH Connect(b5->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); this->Layout(); - /*sizey = sizey/8; - currentWindow = NULL; - - PANEL = "New Contour"; - PANEL1 = "I/O"; - PANEL2 = "Edit"; - PANEL3 = "Delete"; - PANEL4 = "Tools"; - - - wxPanel* toolpanel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - - wxFlexGridSizer* flexsizer = new wxFlexGridSizer(6,2,2,2); - toolpanel->SetSizer(flexsizer, true); - toolpanel->SetAutoLayout( true ); - - wxButton* b = getButton(toolpanel); - b->SetClientData(&PANEL); - wxButton* b1 = getButton(toolpanel); - b1->SetClientData(&PANEL1); - wxButton* b2 = getButton(toolpanel); - b2->SetClientData(&PANEL2); - wxButton* b3 = getButton(toolpanel); - b3->SetClientData(&PANEL3); - wxButton* b4 = getButton(toolpanel); - b4->SetClientData(&PANEL4); - - - wxPanel* mentex = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - wxPanel* mentex1 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - wxPanel* mentex2 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - wxPanel* mentex3 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - wxPanel* mentex4 = new wxPanel(toolpanel, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE, wxString("")); - - menubar = new interfNewContourMenu(mentex, sizex, sizey, evtHandler); - menubar1 = new interfIOMenu(mentex1, sizex, sizey, evtHandler); - menubar2 = new interfEditMenu(mentex2, sizex, sizey, evtHandler); - menubar3 = new interfDeleteMenu(mentex3, sizex, sizey, evtHandler); - menubar4 = new interfToolsMenu(mentex4, sizex,sizey, evtHandler); - -// this->initializeToolsPanel(mentex4, sizex, sizey, evtHandler); - - statictext = getText(mentex, PANEL); - statictext1 = getText(mentex1, PANEL1); - statictext2 = getText(mentex2, PANEL2); - statictext3 = getText(mentex3, PANEL3); - statictext4 = getText(mentex4, PANEL4); - - - - flexsizer->Add(b, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex, menubar,statictext), wxFIXED_MINSIZE); - - flexsizer->Add(b1, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex1, menubar1,statictext1), wxFIXED_MINSIZE); - - flexsizer->Add(b2, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex2, menubar2,statictext2), wxFIXED_MINSIZE); - - flexsizer->Add(b3, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex3, menubar3,statictext3), wxFIXED_MINSIZE); - - flexsizer->Add(b4, wxFIXED_MINSIZE); - flexsizer->Add(setMenuTextSizer(mentex4, menubar4,statictext4), wxFIXED_MINSIZE); - - toolpanel->Layout(); - - infoPanel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString("")); - wxFlexGridSizer* infosizer = new wxFlexGridSizer(5,2,2,2); - infoPanel->SetSizer(infosizer, true); - infoPanel->SetAutoLayout( true ); - - - - wxFlexGridSizer* mainsizer = new wxFlexGridSizer(1); - this->SetSizer(mainsizer, true); - this->SetAutoLayout( true ); - - - mainsizer->Add(toolpanel,wxEXPAND); - mainsizer->Add(new wxSplitterWindow(this,-1, wxDefaultPosition, wxDefaultSize, wxSP_3DBORDER, wxString("")), wxEXPAND); - mainsizer->Add(infoPanel, wxEXPAND); - - - Connect(b->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - Connect(b1->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - Connect(b2->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - Connect(b3->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - Connect(b4->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction)&interfMainPanel::onActionButtonPressed1); - - this->Layout();*/ - } interfMainPanel::~interfMainPanel(void) { } -interfMainPanel* interfMainPanel::getInstance(wxWindow* parent, wxEvtHandler * evtHandler, std::string datadir){ +interfMainPanel* interfMainPanel::getInstance(wxWindow* parent, std::string datadir, wxEvtHandler * evtHandler){ - 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); + wxFrame* newframe = new wxFrame(parent, -1, wxT(" Contour Tools "), wxPoint(25,50), wxSize(350,850),wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT); if(interfmainpanel == NULL){ - interfmainpanel = new interfMainPanel(newframe, 380, 750, evtHandler, datadir); + interfmainpanel = new interfMainPanel(newframe, 350, 850, evtHandler, datadir); } newframe->Show(TRUE); @@ -219,21 +139,27 @@ interfMainPanel* interfMainPanel::getInstance(wxWindow* parent, wxEvtHandler * e interfMainPanel* interfMainPanel::getInstance(wxWindow* parent, wxEvtHandler * evtHandler){ - 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 ); + wxFrame* newframe = new wxFrame(parent, -1, wxT(" Contour Tools "), wxPoint(25,50), wxSize(350,850),wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT ); if(interfmainpanel == NULL){ - interfmainpanel = new interfMainPanel(newframe, 380, 750, evtHandler); + interfmainpanel = new interfMainPanel(newframe, 350, 850, evtHandler); } newframe->Show(TRUE); return interfmainpanel; } -interfMainPanel* interfMainPanel::getInstance(){ +interfMainPanel* interfMainPanel::getInstance() +{ return interfmainpanel; } +void interfMainPanel :: resetInstance() +{ + delete interfmainpanel; + interfmainpanel = NULL; +} wxPanel* interfMainPanel::initializeToolsPanel(wxWindow* parent, int sizex, int sizey, wxEvtHandler * evtHandler){ @@ -276,6 +202,7 @@ void interfMainPanel::removeContourCheckBox(std::string id){ } void interfMainPanel::onActionButtonPressed1( wxCommandEvent& event ){ + //((interfToolsMenu*)menubar4)->hideAxis(); wxButton* b = (wxButton*)event.GetEventObject(); wxPanel* dmenu; wxStaticText* text; @@ -348,8 +275,9 @@ wxPanel* interfMainPanel::setMenuTextSizer(wxWindow* parent, wxPanel* panel, wxS /** ** Shows the panel in the **/ -void interfMainPanel::showPanel(wxWindow* panel){ - +void interfMainPanel::showPanel(wxWindow* panel) +{ + wxContourMainFrame::getInstance()->showAxis(false); wxSizer* sizer = infoPanel->GetSizer(); if(currentWindow != NULL){ @@ -363,9 +291,35 @@ void interfMainPanel::showPanel(wxWindow* panel){ splitterwindow->SetSashPosition(splitterwindow->GetSashPosition()+1); splitterwindow->SetSashPosition(splitterwindow->GetSashPosition()-1); + infoPanel->Layout(); + infoPanel->Refresh(); this->Layout(); this->Refresh(); +} + +/** +** Hide the panel in the +**/ +void interfMainPanel::hidePanel( ){ + wxContourMainFrame::getInstance()->showAxis(false); + wxSizer* sizer = infoPanel->GetSizer(); + + if(currentWindow != NULL){ + currentWindow->Hide(); + sizer->Remove(currentWindow); + } + wxPanel * emptyPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); + sizer->Add(emptyPanel); + currentWindow = emptyPanel; + currentWindow->Show(true); + + splitterwindow->SetSashPosition(splitterwindow->GetSashPosition()+1); + splitterwindow->SetSashPosition(splitterwindow->GetSashPosition()-1); + infoPanel->Layout(); + infoPanel->Refresh(); + this->Layout(); + this->Refresh(); } /** @@ -374,3 +328,409 @@ void interfMainPanel::showPanel(wxWindow* panel){ wxPanel* interfMainPanel::getInfoPanel(){ return infoPanel; } + +void interfMainPanel::onCreateContourSpline( ){ + wxContourMainFrame::getInstance()->showAxis(false); + wxContourMainFrame::getInstance()->onCreateContourSpline(); +} +void interfMainPanel::onCreateContourRectangle( ){ + wxContourMainFrame::getInstance()->showAxis(false); + wxContourMainFrame::getInstance()->onCreateContourRectangle(); +} +void interfMainPanel::onCreateContourCircle( ){ + wxContourMainFrame::getInstance()->showAxis(false); + wxContourMainFrame::getInstance()->onCreateContourCircle(); +} +void interfMainPanel::onCreateContourLine( ){ + wxContourMainFrame::getInstance()->showAxis(false); + wxContourMainFrame::getInstance()->onCreateContourLine(); +} +void interfMainPanel::onCreateContoursBullEye(wxPanel* panBull){ + wxContourMainFrame::getInstance()->showAxis(false); + wxContourMainFrame::getInstance()->onCreateContourBullEye(panBull); +} +void interfMainPanel::onDeleteContour(){ + wxContourMainFrame::getInstance()->showAxis(false); + wxContourMainFrame::getInstance()->onDeleteContour(); +} +void interfMainPanel::onDeleteContoursActSlice(){ + wxContourMainFrame::getInstance()->showAxis(false); + wxContourMainFrame::getInstance()->onDeleteContoursActSlice(); +} +void interfMainPanel::onDeleteAllContours(){ + wxContourMainFrame::getInstance()->showAxis(false); + wxContourMainFrame::getInstance()->onDeleteAllContours(); +} + +void interfMainPanel::onCopy(){ + wxContourMainFrame::getInstance()->onCopy(); +} +void interfMainPanel::onPaste(){ + wxContourMainFrame::getInstance()->onPaste(); +} +void interfMainPanel::onUndo(){ + wxContourMainFrame::getInstance()->onUndo(); +} +void interfMainPanel::onRedo(){ + wxContourMainFrame::getInstance()->onRedo(); +} +void interfMainPanel::onLoad(){ + wxContourMainFrame::getInstance()->onLoad(); +} +void interfMainPanel::onSave(){ + wxContourMainFrame::getInstance()-> onSave(); +} +void interfMainPanel::RefreshInterface(){ + wxContourMainFrame::getInstance()->RefreshInterface(); +} + +vtkImageData* interfMainPanel::getImageData(){ + return wxContourMainFrame::getInstance()->getImageData(); +} + +void interfMainPanel::getImageRange(double range[2] ) +{ + vtkImageData * img = getImageData(); + img->GetScalarRange(range); +} + +void interfMainPanel::onSegmentationOneSlice(int isovalue,int sampling,int method) +{ + wxContourMainFrame::getInstance()->onSegmentationOneSlice(isovalue, sampling, method); +} + +void interfMainPanel::onSegmentationOneSliceITK(wxString distance, wxString sigma, wxString alfa, wxString beta, wxString propagation, wxString iterations, wxString inflation){ + wxContourMainFrame::getInstance()->onSegmentationOneSliceITK(distance, sigma, alfa, beta, propagation, iterations, inflation); +} + +int interfMainPanel::GetImageDataSizeZ(){ + return wxContourMainFrame::getInstance()->GetImageDataSizeZ(); +} + +void interfMainPanel::GetImageDataRange(double *range){ + wxContourMainFrame::getInstance()->GetImageDataRange(range); +} + +void interfMainPanel::onSegmentationAllSlice(int minZ,int maxZ,int isovalue,int sampling,int method){ + wxContourMainFrame::getInstance()->onSegmentationAllSlice(minZ, maxZ,isovalue,sampling,method); +} + +void interfMainPanel::onMirror() +{ + wxContourMainFrame::getInstance()->onMirror(); +} + +void interfMainPanel::onMirrorChangeWidth(int width) +{ + wxContourMainFrame::getInstance()->refLineChangeWidth(width); +} + +void interfMainPanel::setLabelSegmentationPanelVTK(wxString tmpString){ + ((interfSegmentationPanelVTK*)segmentationPanel)->setLabel(tmpString); +} +void interfMainPanel::onSegmentationPressed(){ + if(segmentPanel == NULL){ + segmentPanel = new wxPanel(getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); + wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); + segmentPanel->SetSizer(flexsizer, true); + segmentPanel->SetAutoLayout( true ); + segmentPanel->SetEventHandler(this); + + //wxPanel* panel = contourevent->getSegmentationPanel(segmentPanel); + segmentationPanel = new interfSegmentationPanelVTK(segmentPanel); + + + wxStaticText* stattext = new wxStaticText(segmentPanel, -1, wxString(_T(" Automatic Segmentation ")), wxDefaultPosition, + wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T(""))); + + flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE); + flexsizer->Add(segmentationPanel, wxEXPAND); + segmentPanel->Layout(); + } + showPanel(segmentPanel); + wxContourMainFrame::getInstance()->showAxis(true); + axisshown = true; +} + +void interfMainPanel::onSegmentationPressedITK(){ + if(segmentPanelITK == NULL){ + segmentPanelITK = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); + + + wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); + segmentPanelITK->SetSizer(flexsizer, true); + segmentPanelITK->SetAutoLayout( true ); + //segmentPanelITK->SetEventHandler(this->contourevent); + + //wxPanel* panel = contourevent->getSegmentationPanelITK(segmentPanelITK); + wxPanel* panel = new interfSegmentationPanelITK(segmentPanelITK); + + + wxStaticText* stattext = new wxStaticText(segmentPanelITK, -1, wxString(_T(" Automatic ITK Segmentation ")), wxDefaultPosition, + wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T(""))); + + flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE); + flexsizer->Add(panel, wxEXPAND); + segmentPanelITK->Layout(); + } + showPanel(segmentPanelITK); + wxContourMainFrame::getInstance()->showAxis(true); + axisshown = true; +} + +void interfMainPanel::onRigidPressed(){ + wxContourMainFrame::getInstance()->onRigidPressed(); +} + +void interfMainPanel::onWidthOfContour(double width){ + wxContourMainFrame::getInstance()->onWidthOfContour(width); +} + +int interfMainPanel::getColorWindow(){ + return wxContourMainFrame::getInstance()->getColorWindow(); +} +int interfMainPanel::getWindowLevel(){ + return wxContourMainFrame::getInstance()->getWindowLevel(); +} +void interfMainPanel::onBrigthnessColorWindowLevel(int colorwindow,int windowlevel){ + wxContourMainFrame::getInstance()->onBrigthnessColorWindowLevel(colorwindow, windowlevel); +} + +void interfMainPanel::onInterpolation(bool interpolate){ + wxContourMainFrame::getInstance()->onInterpolation(interpolate); +} + +void interfMainPanel::onConfigurationPressed(){ + + if(configPanel == NULL){ + configPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxNO_BORDER, wxString(_T(""))); + wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); + configPanel->SetSizer(flexsizer, true); + configPanel->SetAutoLayout( true ); + //configPanel->SetEventHandler(this->contourevent); + + wxPanel* panel = new interfConfigurationPanel(configPanel); + + wxStaticText* stattext = new wxStaticText(configPanel, -1, wxString(_T(" Interface Configuration ")), wxDefaultPosition, + wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T(""))); + + flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE); + + flexsizer->Add(panel, wxEXPAND); + configPanel->Layout(); + + } + showPanel(configPanel); +} + +void interfMainPanel::onSpreadPressed(){ + if(spreadPanel==NULL){ + + spreadPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); + wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); + spreadPanel->SetSizer(flexsizer, true); + spreadPanel->SetAutoLayout( true ); + //spreadPanel->SetEventHandler(this->contourevent); + + //wxPanel* panel = contourevent->getSpreadPanel(spreadPanel); + panelSpread = new interfSpreadPanel(spreadPanel); + + + wxStaticText* stattext = new wxStaticText(spreadPanel, -1, wxString(_T(" Automatic Spread ")), wxDefaultPosition, + wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T(""))); + + flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE); + flexsizer->Add(panelSpread, wxEXPAND); + spreadPanel->Layout(); + } + showPanel(spreadPanel); + //hideAxis(); +} + +void interfMainPanel::resetAppend(){ + wxContourMainFrame::getInstance()->resetAppend(); +} + +void interfMainPanel::onSpreadAdd(){ + wxContourMainFrame::getInstance()->onSpreadAdd(); +} + +void interfMainPanel::appendStringSpread(std::string val){ + panelSpread->appendStringSpread(val); +} + +void interfMainPanel::onSpreadGo(int type){ + wxContourMainFrame::getInstance()->onSpreadGo(type); +} +void interfMainPanel::setStringSpread(std::string stringtemp){ + panelSpread->setStringSpread(stringtemp); +} + +void interfMainPanel::onInformationPressed(){ + if(infoWin ==NULL){ + infoWin = new wxFrame (this, -1,_T(" Spread "), wxDefaultPosition, wxDefaultSize, wxFRAME_TOOL_WINDOW|wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN |wxFRAME_FLOAT_ON_PARENT | wxRESIZE_BORDER ); + infoWin->SetSize( wxSize(500,450) ); + + wxSize sizepanel(200,300); + informationPanel = new interfInformationPanel(infoWin);//contourevent->getInformationPanel(infoWin); + + wxBoxSizer * sizerPanel = new wxBoxSizer(wxHORIZONTAL); + sizerPanel -> Add( informationPanel , 1, wxEXPAND ,0); + + infoWin->SetSizer( sizerPanel ); + infoWin->SetAutoLayout( true ); + infoWin->Layout(); + + infoWin->Show(); + + }else { + + if (infoWin->IsShown()==true) + { + infoWin->Show(false); + } else { + //contourevent->FillGridWithContoursInformation(); + infoWin->Show(true); + } + } +} + +void interfMainPanel::getInstantVector(std::vector& tempVector){ + wxContourMainFrame::getInstance()->getInstantVector(tempVector); +} + +std::vector interfMainPanel::getOutlinesName(int slide){ + return wxContourMainFrame::getInstance()->getOutlinesName(slide); +} + +void interfMainPanel::onInformationContourLabels(int typeContourGroup,int selection,int minZ,int maxZ){ + wxContourMainFrame::getInstance()->onInformationContourLabels(typeContourGroup, selection, minZ, maxZ); +} + +void interfMainPanel::setStringInfoPanel(wxString tmpString){ + if(informationPanel!=NULL){ + ((interfInformationPanel*)informationPanel)->setStringInfoPanel(tmpString); + } +} + +void interfMainPanel::setRowLabelInfoPanel(int z, wxString tempString){ + ((interfInformationPanel*)informationPanel)->setRowLabelInfoPanel(z, tempString); +} + +int interfMainPanel::getNumberColsInformationPanel(){ + return ((interfInformationPanel*)informationPanel)->getNumberCols(); +} + +void interfMainPanel::appendColsInformationPanel(int _numberOfVariablesStatistics){ + ((interfInformationPanel*)informationPanel)->appendCols(_numberOfVariablesStatistics); +} + +void interfMainPanel::setCellValueInfoPanel(int z,int tmpIntA,wxString tempString){ + ((interfInformationPanel*)informationPanel)->setCellValue(z, tmpIntA, tempString); +} + +void interfMainPanel::setColLableInfoPanel(int tmpIntB,wxString tmpTitleString){ + ((interfInformationPanel*)informationPanel)->setColLabel(tmpIntB, tmpTitleString); + +} + +void interfMainPanel::onSaveResults(std::string directory,std::string namefile, std::string filename, int typeContourGroup){ + wxContourMainFrame::getInstance()->onSaveResults(directory, namefile,filename, typeContourGroup); +} + +wxString interfMainPanel::getCellValue(int j,int i){ + return ((interfInformationPanel*)informationPanel)->getCellValue(j, i ); +} + +void interfMainPanel::onSnakePressed(){ + wxContourMainFrame::getInstance()->onSnakePressed(); +} + +void interfMainPanel::onMirrorPressed(){ + if(mirrorPanel==NULL) + { + + mirrorPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); + wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); + mirrorPanel->SetSizer(flexsizer, true); + mirrorPanel->SetAutoLayout( true ); + panelMirror = new interfMirrorPanel(mirrorPanel); + + wxStaticText* stattext = new wxStaticText(mirrorPanel, -1, wxString(_T(" Mirroring Tool ")), wxDefaultPosition, + wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T(""))); + + flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE); + flexsizer->Add(panelMirror, wxEXPAND); + mirrorPanel->Layout(); + + refLineShown=true; + + showPanel(mirrorPanel); + wxContourMainFrame::getInstance()->referenceLine(); + } + + else + { + if(refLineShown) + { + wxContourMainFrame::getInstance()->refLineHide(); + refLineShown=false; + + hidePanel(); + } + + else if (!refLineShown) + { + wxContourMainFrame::getInstance()->refLineShow(); + refLineShown=true; + + showPanel(mirrorPanel); + } + } + +} + + +void interfMainPanel::onThreshold(int minVal, int maxVal) +{ + wxContourMainFrame::getInstance()->onThreshold(minVal, maxVal); +} + +void interfMainPanel::onThresholdPressed() +{ + if(thresholdPanel==NULL) + { + + thresholdPanel = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T(""))); + wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1); + thresholdPanel->SetSizer(flexsizer, true); + thresholdPanel->SetAutoLayout( true ); + panelThreshold = new interfThresholdPanel(thresholdPanel); + + wxStaticText* stattext = new wxStaticText(thresholdPanel, -1, wxString(_T(" Threshold Tool ")), wxDefaultPosition, + wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T(""))); + + flexsizer->Add(stattext,wxALIGN_CENTER | wxALIGN_CENTRE); + flexsizer->Add(panelThreshold, wxEXPAND); + thresholdPanel->Layout(); + showPanel(thresholdPanel); + } + + + else + { + if(thresholdShown) + { + thresholdShown=false; + panelThreshold->onThresholdStop(); + + hidePanel(); + } + + else if (!thresholdShown) + { + thresholdShown=true; + showPanel(thresholdPanel); + } + } +}