X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_Icons_NDimensions%2FinterfMainPanel.cxx;h=21b1c630403aecab2f414f13af5a19aaa02e46c7;hb=6e3c929c883c405e0075fa8df10b12a935979367;hp=e4fe6a5d4dd73f20e7029c57fa3556d8110d5f47;hpb=c80a486f463943ea0ce295ebca58fc10e956c38c;p=creaContours.git diff --git a/lib/Interface_Icons_NDimensions/interfMainPanel.cxx b/lib/Interface_Icons_NDimensions/interfMainPanel.cxx index e4fe6a5..21b1c63 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,7 +23,13 @@ interfMainPanel::interfMainPanel(wxWindow * parent, int sizex, int sizey, wxEvtH PANEL3 = "Delete"; PANEL4 = "Tools"; PANEL5 = "Segmentation"; - + segmentPanel = NULL; + segmentPanelITK = NULL; + configPanel = NULL; + spreadPanel = NULL; + infoWin=NULL; + informationPanel=NULL; + splitterwindow = new wxSplitterWindow(this,-1, wxDefaultPosition, wxSize(sizex, sizey), wxSP_3DSASH, wxString(_T(""))); sizey = sizey/8; @@ -204,7 +210,7 @@ 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); @@ -276,6 +282,7 @@ void interfMainPanel::removeContourCheckBox(std::string id){ } void interfMainPanel::onActionButtonPressed1( wxCommandEvent& event ){ + //((interfToolsMenu*)menubar4)->hideAxis(); wxButton* b = (wxButton*)event.GetEventObject(); wxPanel* dmenu; wxStaticText* text; @@ -349,7 +356,7 @@ wxPanel* interfMainPanel::setMenuTextSizer(wxWindow* parent, wxPanel* panel, wxS ** Shows the panel in the **/ void interfMainPanel::showPanel(wxWindow* panel){ - + wxContourMainFrame::getInstance()->showAxis(false); wxSizer* sizer = infoPanel->GetSizer(); if(currentWindow != NULL){ @@ -363,6 +370,8 @@ void interfMainPanel::showPanel(wxWindow* panel){ splitterwindow->SetSashPosition(splitterwindow->GetSashPosition()+1); splitterwindow->SetSashPosition(splitterwindow->GetSashPosition()-1); + infoPanel->Layout(); + infoPanel->Refresh(); this->Layout(); this->Refresh(); @@ -374,3 +383,290 @@ 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::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::onSegmentationOneSlice(int isovalue,int sampling,int method){ + wxContourMainFrame::getInstance()->onSegmentationOneSlice(isovalue, sampling, method); +} + +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::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); + //contourevent->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){ + ((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 ); +} +