X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FInterface_ManagerContour_NDimensions%2FwxInstantChooserPanel.cxx;h=e47a1ad1563426eeb050887f96eef944aa5cd065;hb=refs%2Fheads%2Fvtk8itk4wx3-mingw64;hp=96e77abc2e5096ed547fa829149059fdbd8b8fa1;hpb=c7aa7286e02028ade712c1284fea9439d0d3c61c;p=creaContours.git diff --git a/lib/Interface_ManagerContour_NDimensions/wxInstantChooserPanel.cxx b/lib/Interface_ManagerContour_NDimensions/wxInstantChooserPanel.cxx index 96e77ab..e47a1ad 100644 --- a/lib/Interface_ManagerContour_NDimensions/wxInstantChooserPanel.cxx +++ b/lib/Interface_ManagerContour_NDimensions/wxInstantChooserPanel.cxx @@ -1,9 +1,38 @@ +/*# --------------------------------------------------------------------- +# +# 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. +# ------------------------------------------------------------------------ */ + //---------------------------------------------------------------------------------------------------------------- // Class definition include //---------------------------------------------------------------------------------------------------------------- #include "wxInstantChooserPanel.h" #include "wxContourMainFrame.h" +//Test JCP 13-10-08 +//#include "wxContourEventHandler.h" +//Test JCP 13-10-08 + //---------------------------------------------------------------------------------------------------------------- // Class implementation //---------------------------------------------------------------------------------------------------------------- @@ -52,7 +81,7 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) sizer->Add( _outSizer, 1, wxEXPAND| wxGROW ); sizer->Add( resolutionSizer, 1, wxEXPAND | wxGROW ); SetSizer( sizer ); - Connect( wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxInstantChooserPanel:: onChechBoxClicked ); + Connect( wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxInstantChooserPanel:: onCheckBoxClicked ); } @@ -67,7 +96,12 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) setVerticalMaxSelectedNums( groupConfig ); SetSize(size); +//EED 2017-09-16 Migration wxWidgets 2.8 to 3.0 +#if wxMAJOR_VERSION <= 2 _outSizer = new wxFlexGridSizer ( 1, 10, 10); +#else + _outSizer = new wxFlexGridSizer ( 10); +#endif _orientation = theOrientation; initializeResolutionSlider(); _actualInstant=new std::map(); @@ -75,7 +109,7 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) sizer->Add( _outSizer, 1, wxEXPAND| wxGROW ); sizer->Add( _resolutionSlider, 1, wxEXPAND | wxGROW ); SetSizer( sizer ); - Connect( wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxInstantChooserPanel:: onChechBoxClicked ); + Connect( wxID_ANY, wxEVT_COMMAND_CHECKBOX_CLICKED, (wxObjectEventFunction) &wxInstantChooserPanel:: onCheckBoxClicked ); } wxInstantChooserPanel :: ~wxInstantChooserPanel() @@ -126,13 +160,13 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) //------------------------------------------------------------------------------------------------------------ void wxInstantChooserPanel :: onResolutionSlider(wxScrollEvent& event) { - std::string lasConcept = _lastConceptUpdated->getName(); - int value = _lastConceptUpdated->getActualValue(); - int min = _lastConceptUpdated->getMinValue(); - int max = _lastConceptUpdated->getMaxValue(); - int delta = (int) (pow( 2, _resolutionSlider->GetValue() )); - int minTmp = value - delta/2; - int maxTmp = value + delta/2; + std::string lasConcept = _lastConceptUpdated->getName(); + int value = _lastConceptUpdated->getActualValue(); + int min = _lastConceptUpdated->getMinValue(); + int max = _lastConceptUpdated->getMaxValue(); + int delta = (int) (pow((double) 2, _resolutionSlider->GetValue() )); + int minTmp = value - delta/2; + int maxTmp = value + delta/2; if (minTmpsize(); i++) + for(int i=0; i< (int)(_concepts->size()); i++) { changeResolutionAtConceptControl( (*_concepts)[i] ); } @@ -157,9 +191,9 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) } //------------------------------------------------------------------------------------------------------------ - void wxInstantChooserPanel :: onChechBoxClicked( wxCommandEvent& event ) + void wxInstantChooserPanel :: onCheckBoxClicked( wxCommandEvent& event ) { - int groupID = (int)event.GetClientData(); + /*int groupID = (int)event.GetClientData(); wxConceptControl * eventConcept = (wxConceptControl *)event.GetEventObject(); if ( eventConcept->getIfChecked( groupID ) ) { @@ -182,6 +216,32 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) } } } + }*/ + + int groupID = *(int*)event.GetClientData(); + wxConceptControl * eventConcept = (wxConceptControl *)event.GetEventObject(); + if ( eventConcept->getIfChecked( groupID ) ) + { + int size = _concepts->size(); + wxConceptControl * aConcept = NULL; +// int accum = 0; + + for(int i = 0; i < eventConcept->getNumCheckBox();i++){ + if(i!=groupID){ + eventConcept->clearCheckAt(i); + } + } + for(int i=0; igetIfChecked( groupID ) ) + { + aConcept->clearCheckAt( groupID ); + } + } + } } } @@ -196,8 +256,19 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) // Sending the event of wxINSTANT_CHOOSER_CHANGE //------------------------------------------------- wxCommandEvent newevent(wxINSTANT_CHOOSER_CHANGE,GetId()); - _eventHandler->ProcessEvent(newevent); + //this->onChangeInstant(newevent); + ConceptDataWrap * dataConcept = getLastConceptData(); + if(getIfConceptCheckedAt( dataConcept->getName(), 0 )){ + wxContourMainFrame::getInstance()->onChangeInstantInstantPanel(dataConcept->getName(), dataConcept->getActualValue(), dataConcept->getMinShowedValue(), dataConcept->getMaxShowedValue()); + } + //((wxContourEventHandler*)_eventHandler)->onChangeInstant(newevent); + //_eventHandler->ProcessEvent(newevent); + } + + void wxInstantChooserPanel :: onChangeInstant( wxCommandEvent& event ){ + } + //------------------------------------------------------------------------------------------------------------ // Methods for sending events //------------------------------------------------------------------------------------------------------------ @@ -223,7 +294,7 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) void wxInstantChooserPanel :: setInstant(std::vector choiceInstant) { int max = _concepts->size(); - if( choiceInstant.size() == max ) + if( (int)(choiceInstant.size()) == max ) { int i = 0; while(i< max) @@ -347,7 +418,7 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) int value = theConceptToUpdate->getActualValue(); int min = theConceptToUpdate->getMinValue(); int max = theConceptToUpdate->getMaxValue(); - int delta = (int) (pow( 2, _resolutionSlider->GetValue() )); + int delta = (int) (pow((double) 2, _resolutionSlider->GetValue() )); int minTmp = value - delta/2; int maxTmp = value + delta/2; if (minTmpsize(); - wxConceptControl * aConcept = NULL; +// wxConceptControl * aConcept = NULL; for ( i=0; igetName().compare( theConceptName ) == 0 ) @@ -442,4 +513,20 @@ DEFINE_EVENT_TYPE( wxINSTANT_CHOOSER_CHANGE ) } return isChecked; - } \ No newline at end of file + } + + + void wxInstantChooserPanel::addConcepts(std::vector conceptNameVect,std::vector conceptSizeVect){ + int i=0; + int max = conceptNameVect.size(); + for( ; i