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=ed4001b153edb3f1896b98ab3b283a5507ef475e;hb=4ebf92429cae4c60761aa8798a5135c7512d83bc;hp=53d7a4b683d98a74407f476ea458cfc0aa263aa3;hpb=7030de3ff8576fd8111ad4d2cbb4335d169418b6;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 53d7a4b..ed4001b 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/05/30 17:23:12 $ - Version: $Revision: 1.21 $ + Date: $Date: 2012/11/15 14:14:35 $ + Version: $Revision: 1.24 $ Copyright: (c) 2002, 2003 License: @@ -229,6 +254,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 +266,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 +282,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 ); @@ -307,10 +341,11 @@ if (wxwindow2!=NULL) { wxwindow2->SetImage(image); } if (wxwindow3!=NULL) { wxwindow3->SetImage(image); } if (wxwindow4!=NULL) { wxwindow4->SetImage(image); } - ConfigureVTK(); - + +// ConfigureVTK(); } + //----------------------------------------------------------------------------------- void wxMaracas_N_ViewersWidget::ConfigureVTK() { @@ -345,53 +380,61 @@ double wxMaracas_N_ViewersWidget :: GetZ() // return wxwindow1->GetZ(); } -void wxMaracas_N_ViewersWidget :: invariant(){ - if(mvtkmprbasedata == 0){ +//----------------------------------------------------------------------------------- +void wxMaracas_N_ViewersWidget :: invariant() +{ + if(mvtkmprbasedata == 0) + { throw "The image has not been set in the viewer"; } } -void wxMaracas_N_ViewersWidget::setColorTransferFunction(vtkColorTransferFunction* colortable){ - if (wxwindow1!=NULL) { +//----------------------------------------------------------------------------------- +void wxMaracas_N_ViewersWidget::setColorTransferFunction(vtkColorTransferFunction* colortable) +{ + if (wxwindow1!=NULL) + { wxwindow1->setColorTransferFunction(colortable); } - if (wxwindow2!=NULL) { + + if (wxwindow2!=NULL) + { wxwindow2->setColorTransferFunction(colortable); } - if (wxwindow3!=NULL) { + + if (wxwindow3!=NULL) + { wxwindow3->setColorTransferFunction(colortable); } - if (wxwindow4!=NULL) { + + if (wxwindow4!=NULL) + { wxwindow4->setColorTransferFunction(colortable); } } -void wxMaracas_N_ViewersWidget::setWindowLevel(double level){ - if (wxwindow1!=NULL) { - wxwindow1->setWindowLevel(level); - } - if (wxwindow2!=NULL) { - wxwindow2->setWindowLevel(level); - } - if (wxwindow3!=NULL) { - wxwindow3->setWindowLevel(level); - } - if (wxwindow4!=NULL) { - wxwindow4->setWindowLevel(level); - } -} -void wxMaracas_N_ViewersWidget::setColorLevel(double level){ - if (wxwindow1!=NULL) { - wxwindow1->setColorLevel(level); +//----------------------------------------------------------------------------------- +void wxMaracas_N_ViewersWidget::SetColorWindowLevel(double colorWindow, double colorLevel) +{ + if (wxwindow1!=NULL) + { + wxwindow1->SetColorWindowLevel(colorWindow, colorLevel); } - if (wxwindow2!=NULL) { - wxwindow2->setColorLevel(level); + + if (wxwindow2!=NULL) + { + wxwindow2->SetColorWindowLevel(colorWindow, colorLevel); } - if (wxwindow3!=NULL) { - wxwindow3->setColorLevel(level); + + if (wxwindow3!=NULL) + { + wxwindow3->SetColorWindowLevel(colorWindow, colorLevel); } - if (wxwindow4!=NULL) { - wxwindow4->setColorLevel(level); + + if (wxwindow4!=NULL) + { + wxwindow4->SetColorWindowLevel(colorWindow, colorLevel); } + RefreshView(); }