Program: bbtk
Module: $RCSfile: bbwxSlider.cxx,v $
Language: C++
- Date: $Date: 2008/01/22 15:41:35 $
- Version: $Revision: 1.2 $
+ 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
*
*/
-
#ifdef _USE_WXWIDGETS_
-
-
#include "bbwxSlider.h"
#include "bbwxPackage.h"
-
-
-
+#include "bbtkUtilities.h"
namespace bbwx
{
int vmin,
int vmax,
int value,
- int reactiveontrack)
+ int reactiveontrack)
:
wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL),
mBox(box),
reactiveOnTrack(reactiveontrack)
{
wxPanel * panel = this;
-
+
label_min = NULL;
label_max = NULL;
label_vertical = NULL;
mResolutionOfSlider = NULL;
-
+
int sizeX,sizeY;
long wxlabels=0;
long wxorientation=0;
(void (wxPanel::*)(wxScrollEvent&))
&SliderWidget::OnSliderTrack );
+ Connect( mwxSlider->GetId(),
+ wxEVT_SCROLL_CHANGED,
+ (wxObjectEventFunction)
+ (void (wxPanel::*)(wxScrollEvent&))
+ &SliderWidget::OnSliderTrack );
+
// If asked : creation of the other little slider which allows to change
// the resolution of the main slider
if (changeresolution==true){
RefreshLabels();
// Insert the sizer in the main panel and refresh the layout
panel->SetSizer(sizer);
- // panel->SetAutoLayout(true);
- // panel->Layout();
}
//-------------------------------------------------------------------------
{
// When user releases the slider
// we update the output of the box
+
mBox->bbSetOutputOut( mwxSlider->GetValue() );
mBox->bbSetInputIn( mwxSlider->GetValue() );
// and signal that the output has changed
mBox->bbSignalOutputModification("Out");
}
- RefreshLabels();
+ RefreshLabels();
}
//-------------------------------------------------------------------------
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
- BBTK_USER_BLACK_BOX_IMPLEMENTATION(Slider,bbtk::WxBlackBox);
+ BBTK_BLACK_BOX_IMPLEMENTATION(Slider,bbtk::WxBlackBox);
BBTK_ADD_BLACK_BOX_TO_PACKAGE(wx,Slider);
- //--------------------------------------------------------------------------
-
+
//--------------------------------------------------------------------------
void Slider::bbUserConstructor()
{
bbSetInputMin(0);
bbSetInputMax(500);
bbSetOutputOut(0);
- bbSetInputOrientation(0);
+ bbSetInputOrientation("HORIZONTAL");
bbSetInputChangeResolution(false);
bbSetInputLabel(true);
bbSetInputReactiveOnTrack(0);
}
- //--------------------------------------------------------------------------
-
+
//--------------------------------------------------------------------------
void Slider::Process()
{
void Slider::CreateWidget()
{
- bbSetOutputWidget( new SliderWidget(this,
+
+ int orientation=0;
+ if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true) { orientation=0; }
+ if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true) { orientation=1; }
+
+
+ // std::cout << "bbGetWxParent = "<<bbGetWxParent()<<std::endl;
+ SliderWidget *w = new SliderWidget(this,
bbGetWxParent(),
- bbGetInputOrientation() ,
+ orientation ,
bbGetInputChangeResolution(),
bbGetInputLabel(),
bbtk::std2wx( bbGetInputTitle() ),
bbGetInputMax(),
bbGetInputIn(),
bbGetInputReactiveOnTrack()
- )
- );
+ );
+ // std::cout << "w = "<<w<<std::endl;
+ // w->SetName( bbtk::std2wx( bbGetInputWinTitle() ) );
+
+ bbSetOutputWidget( w );
}
- //--------------------------------------------------------------------------
- /*
- //--------------------------------------------------------------------------
- bbtk::WxBlackBoxWidget* Slider::bbUserCreateWidget(wxWindow *parent)
- {
-
-
- }
- //--------------------------------------------------------------------------
- */
-
} //namespace bbwx