X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=PackRecalage%2Fsrc%2FbbPackRecalageImageSwitcherBox.cxx;h=0279f475ef5d5f760a92eded775a15a34ba2fe0d;hb=3434008d599bd7c195b743856f3591994d6ad773;hp=99c0a643b7227e955671a6fec333048642923f64;hpb=86c3482ce714b8d4201c8d819a10b59e4e4440c4;p=creaRigidRegistration.git diff --git a/PackRecalage/src/bbPackRecalageImageSwitcherBox.cxx b/PackRecalage/src/bbPackRecalageImageSwitcherBox.cxx index 99c0a64..0279f47 100644 --- a/PackRecalage/src/bbPackRecalageImageSwitcherBox.cxx +++ b/PackRecalage/src/bbPackRecalageImageSwitcherBox.cxx @@ -1,3 +1,29 @@ +/* +# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Santé) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# +# 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. +# ------------------------------------------------------------------------ +*/ + + #include "bbPackRecalageImageSwitcherBox.h" #include "bbPackRecalagePackage.h" namespace bbPackRecalage @@ -9,11 +35,12 @@ namespace bbPackRecalage MyTimer::~MyTimer() { - delete this; + //delete this; } void MyTimer::Notify() { + //This will be called each time the timer finishes a countdown _box->Change(); _box->bbSignalOutputModification(std::string("Out")); } @@ -23,6 +50,8 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ImageSwitcherBox,bbtk::WxBlackBox); void ImageSwitcherBox::Change() { + //Just changes the images each time the timer finishes a countdown + if(change == false) { bbSetOutputOut(bbGetInputIn2()); @@ -42,70 +71,61 @@ void ImageSwitcherBox::Process() if(firstTime == true) { + firstTime = false; if(bbGetInputIn1() != NULL) { bbSetOutputOut(bbGetInputIn1()); - firstTime = false; - } - else if(bbGetInputIn2() != NULL) - { + } else if(bbGetInputIn2() != NULL) { bbSetOutputOut(bbGetInputIn2()); - firstTime = false; } } - + if(myTimer == NULL) { myTimer = new MyTimer(this); myTimer->Start(time); oldTime = time; } - /* - if(oldTime != time && myTimer !=NULL) - { - myTimer->Stop(); - myTimer->Start(time); - oldTime = time; - }*/ - + if(!_on) { myTimer->Stop(); - } - else if(!myTimer->IsRunning()) - { + } else if(!myTimer->IsRunning()) { myTimer->Start(time); oldTime = time; - } - else if(oldTime != time) - { + } else if(oldTime != time) { myTimer->Stop(); myTimer->Start(time); oldTime=time; } } + + void ImageSwitcherBox::CreateWidget(wxWindow* parent) { + //Creates a simple text widget because it is necesary that a non-empty widget exists for creatingh the thread of the timer. bbSetOutputWidget( new wxStaticText(parent, -1, _T("Image Switcher")) ); } + + void ImageSwitcherBox::bbUserSetDefaultValues() { - myTimer = NULL; - change = false; - time = 500; - oldTime = 500; - firstTime = true; - _on=false; + myTimer = NULL; + change = false; + time = 500; + oldTime = 500; + firstTime = true; + _on = false; } void ImageSwitcherBox::bbUserInitializeProcessing() { - } + void ImageSwitcherBox::bbUserFinalizeProcessing() { myTimer->Stop(); delete myTimer; } -} -// EO namespace bbPackRecalage + +} // EO namespace bbPackRecalage