X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracas_N_ViewersWidget.cxx;h=a40409ec2e72d4943fcf182c1b9d07bf2ea97cc4;hb=9a8f7c9cb08ffcb57f1558b9d20f7fbcd95df017;hp=dffd79522154124021ace3b0c8f3ddb95134e02d;hpb=e4ef2b5df5aac431ff3b806f83b7dd5e55e89d86;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx index dffd795..a40409e 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx @@ -76,18 +76,14 @@ wxwindow4 = NULL; _currentwxw = NULL; mvtkmprbasedata = NULL; - wxSizer *sizer = new wxBoxSizer(wxVERTICAL); this->SetSizer(sizer); this->SetAutoLayout(true); - - - if(imagedata!=NULL && nTypeView!=NULL ){ + if(imagedata!=NULL && nTypeView!=NULL ) + { this->SetType(nTypeView); this->UpdateLayout(imagedata); } - - } /** * @pre A wxWindow* object must be provided as a parent for the viewer and the type of layout for the viewer @@ -254,6 +250,8 @@ }else if (nTypeView->size()==2) { wxSplitterWindow *spliter = new wxSplitterWindow( this , -1); spliter->SetMinimumPaneSize(1); + //RaC Nov2012 Correctly resize internal panels with the window resize event + spliter->SetSashGravity(0.5); wxwindow1 = new wxMaracas_ViewerWidget(spliter, imagedata, (*nTypeView)[0], mvtkmprbasedata); wxwindow2 = new wxMaracas_ViewerWidget(spliter, imagedata, (*nTypeView)[1], mvtkmprbasedata); spliter -> SplitHorizontally( wxwindow1 , wxwindow2 ); @@ -264,6 +262,9 @@ wxSplitterWindow *spliterA = new wxSplitterWindow( spliter , -1); spliter->SetMinimumPaneSize(1); spliterA->SetMinimumPaneSize(1); + //RaC Nov2012 Correctly resize internal panels with the window resize event + spliter->SetSashGravity(0.5); + spliterA->SetSashGravity(0.5); wxwindow1 = new wxMaracas_ViewerWidget(spliter , imagedata, (*nTypeView)[0], mvtkmprbasedata); wxwindow2 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[1], mvtkmprbasedata); wxwindow3 = new wxMaracas_ViewerWidget(spliterA, imagedata, (*nTypeView)[2], mvtkmprbasedata); @@ -277,6 +278,10 @@ spliter->SetMinimumPaneSize(1); spliterA->SetMinimumPaneSize(1); spliterB->SetMinimumPaneSize(1); + //RaC Nov2012 Correctly resize internal panels with the window resize event + spliter->SetSashGravity(0.5); + spliterA->SetSashGravity(0.5); + spliterB->SetSashGravity(0.5); spliter -> SplitVertically( spliterA , spliterB ); @@ -309,7 +314,6 @@ //this->Layout(); //this->Refresh(); - // I don't undestand how this works and not the opposite ... if (wxwindow4!=NULL) {wxwindow4->ConfigureVTK(); } if (wxwindow3!=NULL) {wxwindow3->ConfigureVTK(); } @@ -332,7 +336,6 @@ if (wxwindow2!=NULL) { wxwindow2->SetImage(image); } if (wxwindow3!=NULL) { wxwindow3->SetImage(image); } if (wxwindow4!=NULL) { wxwindow4->SetImage(image); } - // ConfigureVTK(); } @@ -429,3 +432,12 @@ void wxMaracas_N_ViewersWidget::SetColorWindowLevel(double colorWindow, double c RefreshView(); } +//----------------------------------------------------------------------------------- +void wxMaracas_N_ViewersWidget::SetInterpolate(bool interpolate) +{ + mvtkmprbasedata->SetInterpolate(interpolate); + RefreshView(); +} + + +