-/*=========================================================================
-
+/*=========================================================================
Program: bbtk
Module: $RCSfile: bbwxSlider.cxx,v $
Language: C++
- Date: $Date: 2008/10/06 09:05:07 $
- Version: $Revision: 1.13 $
-
- Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
- l'Image). All rights reserved. See Doc/License.txt or
- http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
-
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the above copyright notices for more information.
-
+ Date: $Date: 2008/12/11 15:30:14 $
+ Version: $Revision: 1.16 $
=========================================================================*/
+
+/* ---------------------------------------------------------------------
+
+* Copyright (c) CREATIS-LRMN (Centre de Recherche en Imagerie Medicale)
+* Authors : Eduardo Davila, Laurent Guigues, Jean-Pierre Roux
+*
+* 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.
+* ------------------------------------------------------------------------ */
+
/**
* \file
* \brief Short description in one line
namespace bbwx
{
+ //--------------------------------------------------------------------------
+ // The widget created by the box
+ class SliderWidget : public wxPanel
+ {
+ public:
+ /// Ctor with the two first params the parent window and the creator box
+ /// which must be passed to the WxBlackBoxWidget constructor.
+ /// The other params initialize the widget
+ SliderWidget(Slider* box, wxWindow *parent,
+ int orientation,
+ bool changeresolution,
+ bool label,
+ wxString title,
+ int vmin,
+ int vmax,
+ int value,
+ int track);
+ /// Dtor
+ ~SliderWidget();
+ /// Events callbacks
+ /// Called when the slider is moved
+ void OnSliderTrack(wxScrollEvent& event);
+ /// Called when the slider is released
+ void OnSliderRelease(wxScrollEvent& event);
+ /// Called when the little slider which controls the resolution
+ /// of the main slider is moved (if activated)
+ void OnResolutionOfSlider(wxScrollEvent& event);
+
+ // Accessors
+ int GetValue() { return mwxSlider->GetValue(); }
+ void SetRange(int min, int max);
+ // Update the texts which display the min/max/current values of the slider
+ void RefreshLabels();
+
+ private:
+ Slider* mBox;
+ wxSlider *mwxSlider;
+ wxSlider *mResolutionOfSlider;
+ int min;
+ int max;
+ int reactiveOnTrack;
+ wxStaticText *label_vertical;
+ wxStaticText *label_min;
+ wxStaticText *label_max;
+ };
+ //------------------------------------------------------------------------
+ //------------------------------------------------------------------------
+ //------------------------------------------------------------------------
+
+
//-------------------------------------------------------------------------
SliderWidget::SliderWidget(Slider* box, wxWindow *parent,
int orientation,
bbSetOutputOut( bbGetInputIn() );
}
- void Slider::CreateWidget()
+ void Slider::CreateWidget(wxWindow* parent)
{
int orientation=0;
// std::cout << "bbGetWxParent = "<<bbGetWxParent()<<std::endl;
SliderWidget *w = new SliderWidget(this,
- bbGetWxParent(),
+ parent, //bbGetWxParent(),
orientation ,
bbGetInputChangeResolution(),
bbGetInputLabel(),