--- /dev/null
+/*=========================================================================
+ Program: bbtk
+ Module: $RCSfile: bbkwSlider.h,v $
+ Language: C++
+ Date: $Date: 2008/11/29 21:41:58 $
+ Version: $Revision: 1.1 $
+=========================================================================*/
+
+/* ---------------------------------------------------------------------
+
+* 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
+ *
+ * Long description which
+ * can span multiple lines
+*/
+
+/**
+ * \class bbkw::Slider
+ * \brief
+
+ * \class bbkw::SliderWidget
+ * \brief
+ */
+
+#ifdef USE_KWWIDGETS
+
+// Prevents multiple inclusions : use symbols of the form
+// __FILENAME_INCLUDED__
+// where FILENAME must be replaced by the actual file name
+#ifndef __bbkwSlider_h_INCLUDED__
+#define __bbkwSlider_h_INCLUDED__
+
+// Include KWBlackBox definition
+#include "bbtkKWBlackBox.h"
+
+
+
+// Namespace of the package "kw" is "bbkw"
+// Namespace associated to packages should be of the form :
+// bbPACKAGENAME
+namespace bbkw
+{
+
+
+ /* //--------------------------------------------------------------------------
+ // Forward declaration of the box
+ class Slider;
+
+ //--------------------------------------------------------------------------
+ // The widget created by the box
+ class SliderWidget : public kwPanel
+ {
+ public:
+ /// Ctor with the two first params the parent window and the creator box
+ /// which must be passed to the KwBlackBoxWidget constructor.
+ /// The other params initialize the widget
+ SliderWidget(Slider* box, kwWindow *parent,
+ int orientation,
+ bool changeresolution,
+ bool label,
+ kwString title,
+ int vmin,
+ int vmax,
+ int value,
+ int track);
+ /// Dtor
+ ~SliderWidget();
+ /// Events callbacks
+ /// Called when the slider is moved
+ void OnSliderTrack(kwScrollEvent& event);
+ /// Called when the slider is released
+ void OnSliderRelease(kwScrollEvent& event);
+ /// Called when the little slider which controls the resolution
+ /// of the main slider is moved (if activated)
+ void OnResolutionOfSlider(kwScrollEvent& event);
+
+ // Accessors
+ int GetValue() { return mkwSlider->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;
+ kwSlider *mkwSlider;
+ kwSlider *mResolutionOfSlider;
+ int min;
+ int max;
+ int reactiveOnTrack;
+ kwStaticText *label_vertical;
+ kwStaticText *label_min;
+ kwStaticText *label_max;
+ };
+ //------------------------------------------------------------------------
+ //------------------------------------------------------------------------
+ //------------------------------------------------------------------------
+
+ */
+
+
+ //------------------------------------------------------------------------
+ // The black box
+ class /*BBTK_EXPORT*/ Slider : public bbtk::KWBlackBox
+ {
+
+ BBTK_BLACK_BOX_INTERFACE(Slider,bbtk::KWBlackBox);
+ BBTK_DECLARE_INPUT(In,int);
+ BBTK_DECLARE_INPUT(Min,int);
+ BBTK_DECLARE_INPUT(Max,int);
+ BBTK_DECLARE_INPUT(Label,bool);
+ BBTK_DECLARE_INPUT(Title,std::string);
+ BBTK_DECLARE_INPUT(Orientation,std::string);
+ BBTK_DECLARE_INPUT(ChangeResolution,bool);
+ BBTK_DECLARE_INPUT(ReactiveOnTrack,int);
+ BBTK_DECLARE_OUTPUT(Out,int);
+ BBTK_PROCESS(Process);
+ BBTK_CREATE_KWWIDGET(CreateWidget);
+ void Process();
+ void CreateWidget(vtkKWWidget*);
+
+ protected:
+ virtual void bbUserConstructor();
+ };
+ //=================================================================
+
+ //=================================================================
+ // the black box description
+ BBTK_BEGIN_DESCRIBE_BLACK_BOX(Slider,bbtk::KWBlackBox);
+ BBTK_NAME("Slider");
+ BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
+ // Already inserted for any KWBlackBox BBTK_CATEGORY("widget");
+ BBTK_DESCRIPTION("Slider widget (vtkKWScale)");
+ BBTK_INPUT(Slider,In,"Initial position of the slider (default 0)",int,"");
+ BBTK_INPUT(Slider,Min,"Minimum value of the slider (default 0)",int,"");
+ BBTK_INPUT(Slider,Max,"Maximum value of the slider (default 500)",int,"");
+ BBTK_INPUT(Slider,Label,"Show slider labels ? (default FALSE) ",bool,"");
+ BBTK_INPUT(Slider,Title,"Title shown above the slider (default '') ", std::string,"");
+ BBTK_INPUT(Slider,Orientation, "Orientation : (default H) 0=H=HORIZONTAL, 1=V=VERTICAL ",std::string,"");
+ BBTK_INPUT(Slider,ChangeResolution, "Can the user change the resolution of the slider ? (default FALSE) ",bool,"");
+ BBTK_INPUT(Slider,ReactiveOnTrack, "Slider sends info when track moves (default 0 = no)",int,"");
+ BBTK_OUTPUT(Slider,Out,"Current position of the slider",int,"");
+ BBTK_END_DESCRIBE_BLACK_BOX(Slider);
+ //=================================================================
+
+
+
+} //namespace bbkw
+
+#endif //__bbtkkwSlider_h_INCLUDED__
+
+#endif // USE_KWWIDGETS