]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx
#3358 creaMaracasVisu Feature New Normal - Box::ColorLayerImageView Change informat...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracas_N_ViewersWidget.cxx
index dffd79522154124021ace3b0c8f3ddb95134e02d..5fe704df34b3df6fd0bb6552f645e6ee579c5e6d 100644 (file)
                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
 
        void wxMaracas_N_ViewersWidget::RefreshView()
        {
-
                if (wxwindow1!=NULL) {wxwindow1->RefreshView(); }
                if (wxwindow2!=NULL) {wxwindow2->RefreshView(); }
                if (wxwindow3!=NULL) {wxwindow3->RefreshView(); }
                }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  );
                        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);
                        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   );
                        
                //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(); }
         if (wxwindow2!=NULL) { wxwindow2->SetImage(image); }
         if (wxwindow3!=NULL) { wxwindow3->SetImage(image); }
         if (wxwindow4!=NULL) { wxwindow4->SetImage(image); }
-        
 //      ConfigureVTK();
  }
 
@@ -429,3 +431,12 @@ void wxMaracas_N_ViewersWidget::SetColorWindowLevel(double colorWindow, double c
        RefreshView();
 }
 
+//-----------------------------------------------------------------------------------
+void wxMaracas_N_ViewersWidget::SetInterpolate(bool interpolate)
+{
+       mvtkmprbasedata->SetInterpolate(interpolate);
+       RefreshView();
+}
+
+
+