X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxVtkMPR3DViewCntrlPanel.cxx;h=25a2781e3497d37acb1ab4077ea483a806b55568;hb=2725f81fc97c9faa92749159bdbaf9cedeef7af4;hp=68c7ee1b444a22f3bf7a5c7260d8de5654977cee;hpb=137b9086a50f1413faf6eeb3e6fefc718a398d6b;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx index 68c7ee1..25a2781 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DViewCntrlPanel.cxx @@ -5,7 +5,6 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DView *wxvtkmpr3Dview, bool align ) : wxPanel(parent, -1) { - wxPanel *panel = this; _wxvtkmpr3Dview = wxvtkmpr3Dview; @@ -13,9 +12,9 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV int maxY = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionY(); int maxZ = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetMaxPositionZ();*/ - int maxX = 1; - int maxY = 1; - int maxZ = 1; + //int maxX = 1; + //int maxY = 1; + //int maxZ = 1; //CPR: Modified 30 Nov 2009 /* @@ -29,11 +28,11 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV */ ckBoxX = new wxCheckBox(panel,-1,_T("X ")); - _positionX = new wxSlider(panel,-1,maxX/2,0,maxX, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS); + _positionX = new wxSlider(panel,-1,0,0,1, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS); ckBoxY = new wxCheckBox(panel,-1,_T("Y ")); - _positionY = new wxSlider(panel,-1,maxY/2,0,maxY, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS); + _positionY = new wxSlider(panel,-1,0,0,1, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS); ckBoxZ = new wxCheckBox(panel,-1,_T("Z ")); - _positionZ = new wxSlider(panel,-1,maxZ/2,0,maxZ, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS); + _positionZ = new wxSlider(panel,-1,0,0,1, wxDefaultPosition, wxSize(300,40), wxSL_HORIZONTAL | wxSL_LABELS); wxButton *btnColorTable = new wxButton (panel, -1, _T("Color Table") ); _ckBoxXYZ = new wxCheckBox(panel,-1,_T("Show XYZ axis ")); @@ -44,14 +43,12 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV _ckFreePlaneZ= new wxCheckBox(panel,-1,_T("free Z"));; _ckFreePlaneInteraction= new wxCheckBox(panel,-1,_T("Interaction "));; - //EED: If-else statements added 30 Nov 2009 - _ckFreePlaneX->SetValue(false); + _ckFreePlaneX->SetValue(true); _ckFreePlaneY->SetValue(false); _ckFreePlaneZ->SetValue(false); _ckFreePlaneInteraction->SetValue(true); - ckBoxX->SetValue(false); ckBoxY->SetValue(false); ckBoxZ->SetValue(false); @@ -73,10 +70,10 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV Connect(_ckBoxXYZ->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleAxisXYZ ); Connect(_ckBoxPlane->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisiblePlane ); - Connect(_ckFreePlaneX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX ); - Connect(_ckFreePlaneY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY ); - Connect(_ckFreePlaneZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ ); - Connect(_ckFreePlaneInteraction->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED , (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction ); + Connect(_ckFreePlaneX->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneX ); + Connect(_ckFreePlaneY->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneY ); + Connect(_ckFreePlaneZ->GetId() , wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneZ ); + Connect(_ckFreePlaneInteraction->GetId(), wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxVtkMPR3DViewCntrlPanel::OnVisibleFreePlaneInteraction ); wxFlexGridSizer *sizer; @@ -92,27 +89,27 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV sizer = new wxFlexGridSizer(3); sizerH4 = new wxFlexGridSizer(2); - sizerH4->Add( _positionX ,1,wxGROW , 0 ); - sizerH4->Add( ckBoxX ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 ); - sizerH4->Add( _positionY ,1,wxGROW , 0 ); - sizerH4->Add( ckBoxY ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 ); - sizerH4->Add( _positionZ ,1,wxGROW , 0 ); - sizerH4->Add( ckBoxZ ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED , 0 ); + sizerH4->Add( _positionX ,1,wxGROW , 0 ); + sizerH4->Add( ckBoxX ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); + sizerH4->Add( _positionY ,1,wxGROW, 0 ); + sizerH4->Add( ckBoxY ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); + sizerH4->Add( _positionZ ,1,wxGROW, 0 ); + sizerH4->Add( ckBoxZ ,0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); sizerH5 = new wxFlexGridSizer(1); - sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); - sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND , 0); - sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); - sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND , 0); - sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); - sizerH5->Add( btnColorTable , 0,wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); - //sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0); + sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0); + sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH5->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); + //sizerH5->Add( new wxStaticText(panel, -1,_T(" ")), 1, wxALL|wxEXPAND, 0); sizerH6 = new wxFlexGridSizer(1); - sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND , 0); - sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND , 0); - sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND , 0); - sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( _ckFreePlaneX, 1, wxALL|wxEXPAND, 0); + sizerH6->Add( _ckFreePlaneY, 1, wxALL|wxEXPAND, 0); + sizerH6->Add( _ckFreePlaneZ, 1, wxALL|wxEXPAND, 0); + sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND, 0); } else { sizer = new wxFlexGridSizer(1); @@ -121,31 +118,29 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV sizerH5 = new wxFlexGridSizer(10); sizerH6 = new wxFlexGridSizer(10); - sizerH4->Add( _positionX , 1, wxGROW , 0 ); + sizerH4->Add( _positionX , 1, wxGROW , 0 ); sizerH4->Add( ckBoxX , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); - sizerH4->Add( _positionY , 1, wxGROW , 0 ); + sizerH4->Add( _positionY , 1, wxGROW , 0 ); sizerH4->Add( ckBoxY , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); - sizerH4->Add( _positionZ , 1, wxGROW , 0 ); + sizerH4->Add( _positionZ , 1, wxGROW , 0 ); sizerH4->Add( ckBoxZ , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); sizerH4->Add( btnColorTable , 0, wxALIGN_CENTER_VERTICAL|wxSHAPED, 0 ); - sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0); - sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0); - sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH5->Add( _ckBoxXYZ , 1, wxALL|wxEXPAND, 0); + sizerH5->Add( _ckBoxPlane , 1, wxALL|wxEXPAND, 0); + sizerH5->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); sizerH6 = new wxFlexGridSizer(10); - sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND , 0); - sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); - sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND , 0); - sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); - sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND , 0); - sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND , 0); - sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND , 0); + sizerH6->Add( _ckFreePlaneX , 1, wxALL|wxEXPAND, 0); + sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH6->Add( _ckFreePlaneY , 1, wxALL|wxEXPAND, 0); + sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH6->Add( _ckFreePlaneZ , 1, wxALL|wxEXPAND, 0); + sizerH6->Add( new wxStaticText(panel, -1,_T(" ")) , 1, wxALL|wxEXPAND, 0); + sizerH6->Add( _ckFreePlaneInteraction , 1, wxALL|wxEXPAND, 0); } - - - + //EED 28 sep 2006 // wxFlexGridSizer *sizerH6 = new wxFlexGridSizer(10); // wxFlexGridSizer *sizerH7 = new wxFlexGridSizer(10); @@ -185,21 +180,19 @@ wxVtkMPR3DViewCntrlPanel::wxVtkMPR3DViewCntrlPanel(wxWindow *parent, wxVtkMPR3DV panel->Layout(); panel->SetEventHandler((wxEvtHandler*)this); - + //this->UpdateControlPanel(); } void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() { - vtkMPRBaseData* basedata = _wxvtkmpr3Dview->GetVtkMPR3DDataViewer()->GetVtkMPRBaseData(); if(basedata != NULL){ /*int maxX = basedata->GetMaxPositionX(); int maxY = basedata->GetMaxPositionY(); int maxZ = basedata->GetMaxPositionZ();*/ + vtkImageData* img = basedata->GetImageData(); int x0,x1,y0,y1,z0,z1; - - basedata->GetDimensionExtention(&x0,&x1,&y0,&y1,&z0,&z1); /*int maxX = x1-x0;//basedata->GetMaxPositionX(); int maxY = y1-y0;//basedata->GetMaxPositionY(); int maxZ = z1-z0;//basedata->GetMaxPositionZ();*/ @@ -208,18 +201,22 @@ void wxVtkMPR3DViewCntrlPanel::UpdateControlPanel() /*_positionX->SetRange(0,maxX); _positionY->SetRange(0,maxY); _positionZ->SetRange(0,maxZ);*/ - _positionX->SetRange(x0,x1); - _positionY->SetRange(y0,y1); - _positionZ->SetRange(z0,z1); - - _positionX->SetValue((x0+x1)/2); - _positionY->SetValue((y0+y1)/2); - _positionZ->SetValue((z0+z1)/2); - - _positionX->Update(); - _positionY->Update(); - _positionZ->Update(); - this->Update(); + if(img){ + img->GetExtent(x0,x1,y0,y1,z0,z1); + _positionX->SetRange(x0,x1); + _positionY->SetRange(y0,y1); + _positionZ->SetRange(z0,z1); + + _positionX->SetValue((x0+x1)/2); + _positionY->SetValue((y0+y1)/2); + _positionZ->SetValue((z0+z1)/2); + + _positionX->Update(); + _positionY->Update(); + _positionZ->Update(); + this->Update(); + } + } }