+/*
+# ---------------------------------------------------------------------
+#
+# 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
void MyTimer::Notify()
{
+ //This will be called each time the timer finishes a countdown
_box->Change();
_box->bbSignalOutputModification(std::string("Out"));
}
void ImageSwitcherBox::Change()
{
+ //Just changes the images each time the timer finishes a countdown
+
if(change == false)
{
bbSetOutputOut(bbGetInputIn2());
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 = 150;
+ oldTime = 150;
+ bbSetInputTime(time);
+ firstTime = true;
+ _on = false;
}
void ImageSwitcherBox::bbUserInitializeProcessing()
{
-
}
+
void ImageSwitcherBox::bbUserFinalizeProcessing()
{
myTimer->Stop();
delete myTimer;
}
-}
-// EO namespace bbPackRecalage
+
+} // EO namespace bbPackRecalage