X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasRenderTabbedPanel.cpp;h=fd6463b8b8b17a90615aac22737a93ad95912d55;hb=f40ea0e58a37e5419541915fdf7a24107513d9f3;hp=703af86cc4296eba79ba772ae11182a53ecfbefa;hpb=fc309690300a29fbfbac04f6fdf72783202617ad;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp index 703af86..fd6463b 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.cpp @@ -16,6 +16,7 @@ #include "Color.xpm" //#include "creaSystem.h" +#include "creaWx.h" BEGIN_EVENT_TABLE( wxMaracasRenderTabbedPanel, wxPanel ) EVT_MENU( 12121, wxMaracasRenderTabbedPanel::OnRefreshView ) @@ -26,13 +27,13 @@ ** Class constructor **/ wxMaracasRenderTabbedPanel::wxMaracasRenderTabbedPanel(wxWindow* parent, int id, wxVtk3DBaseView* _baseView) -: wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize) + : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize) { _id = id; baseView = _baseView; dialog = NULL; - volmanager = new wxMaracasMultipleVolumeRendererManager(); + volmanager = new wxMaracasMultipleVolumeRendererManager(); surrendmanager1 = new wxMaracasSurfaceRenderingManager(); surrendmanager2 = new wxMaracasSurfaceRenderingManager(); surrendmanager3 = new wxMaracasSurfaceRenderingManager(); @@ -47,12 +48,13 @@ wxMaracasRenderTabbedPanel::~wxMaracasRenderTabbedPanel() //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorSA(_propid, false); //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorSB(_propid, false); //wxMaracasRenderTabbedPanel::getInstance()->addRemoveActorSC(_propid, false); - if( vtkmpr3Ddataviewer ) { delete vtkmpr3Ddataviewer; } - if( mwxvtkmpr3Dview ) { delete mwxvtkmpr3Dview; } + addRemoveActorMPR(false); + if( vtkmpr3Ddataviewer ) { delete vtkmpr3Ddataviewer; } + if( mwxvtkmpr3Dview ) { delete mwxvtkmpr3Dview; } this->deleteVolume(_id); delete dialog; - delete wxtabs; + delete wxtabs; } /** @@ -109,12 +111,12 @@ void wxMaracasRenderTabbedPanel::createControls(vtkImageData* inImg, std::string //vtkImageData* img3 = surrendmanager3->getImageData(pathfile); if(img!=NULL /*&& img1!=NULL && img2!=NULL && img3!=NULL*/) { - addVolume(img, filename); + addVolume(img, filename); addSurface1(img, filename); addSurface2(img, filename); addSurface3(img, filename); addMPROptions(); - volname = (wxString) filename; + volname = crea::std2wx(filename); wxtabs->Refresh(); } } @@ -446,7 +448,49 @@ void wxMaracasRenderTabbedPanel::addRemoveActorSC(int id, bool addremove) diag->ShowModal(); delete diag; } -} +} + +void wxMaracasRenderTabbedPanel::addRemoveActorMPR(bool addremove) +{ + int id = 4; + wxtabs->SetSelection(id); + if(addremove) + { + wxtabs->GetPage(id)->Enable(); + + bool valueX = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleX(); + bool valueY = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleY(); + bool valueZ = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleZ(); + bool valueXYZ = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleXYZ(); + bool valuePlane = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisiblePlane(); + + mwxvtkmpr3Dview->VisibleImageActor( 0, valueX ); + mwxvtkmpr3Dview->VisibleImageActor( 1, valueY ); + mwxvtkmpr3Dview->VisibleImageActor( 2, valueZ ); + mwxvtkmpr3Dview->VisiblePointWidget(valueXYZ); + mwxvtkmpr3Dview->VisiblePlaneWidget(valuePlane); + mwxvtkmpr3Dview->showOutlineActor(true); + + mwxvtkmpr3Dview->Refresh(); + + + } + else + { + wxtabs->GetPage(id)->Disable(); + + mwxvtkmpr3Dview->VisiblePointWidget(false); + mwxvtkmpr3Dview->VisiblePlaneWidget(false); + mwxvtkmpr3Dview->VisibleImageActor(0, false ); + mwxvtkmpr3Dview->VisibleImageActor(1, false ); + mwxvtkmpr3Dview->VisibleImageActor(2, false ); + mwxvtkmpr3Dview->showOutlineActor(false); + mwxvtkmpr3Dview->Refresh(); + + wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh + mwxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); + } +} /** @@ -710,10 +754,13 @@ void wxMaracasRenderTabbedPanel::onCheckBoxSCChange(wxCommandEvent& event) **/ void wxMaracasRenderTabbedPanel::onMPROptions(wxCommandEvent& event) { + addRemoveActorMPR(checkboxViewer->IsChecked()); + /* int id = 4; wxtabs->SetSelection(id); if(checkboxViewer->IsChecked()) { + wxtabs->GetPage(id)->Enable(); bool valueX = ((wxVtkMPR3DViewCntrlPanel*) controlPanelMPR3D)->GetVisibleX(); @@ -747,7 +794,7 @@ void wxMaracasRenderTabbedPanel::onMPROptions(wxCommandEvent& event) wxCommandEvent newevent1(wxEVT_COMMAND_MENU_SELECTED,12121); // Refresh mwxvtkmpr3Dview->GetWxvtk3Dbaseview()->GetWxVTKRenderWindowInteractor()->GetParent()->ProcessEvent(newevent1); - } + }*/ } void wxMaracasRenderTabbedPanel::OnRefreshView(wxCommandEvent & event) @@ -851,4 +898,4 @@ vtkImageData* wxMaracasRenderTabbedPanel::getSurfCImage() int wxMaracasRenderTabbedPanel::getPropIdV() { return _id; -} \ No newline at end of file +}