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=610d326f27ad54a47cea5246b1ba20d5c15fb80e;hpb=543dfcbe8f5ff78bbed90ef1e20c722bfa0ef248;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 610d326..a40409e 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_N_ViewersWidget.cxx @@ -1,10 +1,35 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + /*========================================================================= Program: wxMaracas Module: $RCSfile: wxMaracas_N_ViewersWidget.cxx,v $ Language: C++ - Date: $Date: 2012/11/14 07:30:52 $ - Version: $Revision: 1.23 $ + Date: $Date: 2012/11/15 14:14:35 $ + Version: $Revision: 1.24 $ Copyright: (c) 2002, 2003 License: @@ -51,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 @@ -229,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 ); @@ -239,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); @@ -252,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 ); @@ -284,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(); } @@ -307,7 +336,6 @@ if (wxwindow2!=NULL) { wxwindow2->SetImage(image); } if (wxwindow3!=NULL) { wxwindow3->SetImage(image); } if (wxwindow4!=NULL) { wxwindow4->SetImage(image); } - // ConfigureVTK(); } @@ -404,3 +432,12 @@ void wxMaracas_N_ViewersWidget::SetColorWindowLevel(double colorWindow, double c RefreshView(); } +//----------------------------------------------------------------------------------- +void wxMaracas_N_ViewersWidget::SetInterpolate(bool interpolate) +{ + mvtkmprbasedata->SetInterpolate(interpolate); + RefreshView(); +} + + +