]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbmaracasvisuSliderMinMax.cxx
Feature #1606 Add a new entry to ColorLayerImageView to select the fitting mode betwe...
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuSliderMinMax.cxx
index ce4ea2f904c03b4708c0570b88947d299b1e15fe..b04dbb97584e451d96731992ed44ab513488312c 100644 (file)
@@ -12,12 +12,11 @@ namespace bbcreaMaracasVisu
          //--------------------------------------------------------------------------------------------------------------------------------
          // Constructors ans destructors
          //--------------------------------------------------------------------------------------------------------------------------------
-               wxWidgetSliderMinMax :: wxWidgetSliderMinMax(SliderMinMax *bbParent,mBarRange * modelBarRange)//(wxWindow *parent, mBarRange * modelBarRange)
+               wxWidgetSliderMinMax :: wxWidgetSliderMinMax(SliderMinMax *bbParent,mBarRange * modelBarRange)
                :wxEvtHandler()
                {                       
-                       modBarRange = modelBarRange;
-                       mbbtkSliderMinMax = bbParent;
-                       modBarRange->PushEventHandler(this);
+                       modBarRange         = modelBarRange;
+                       mbbtkSliderMinMax   = bbParent;
                        Connect(modBarRange->GetId(),wxEVT_TSBAR,(wxObjectEventFunction) (wxCommandEventFunction) &wxWidgetSliderMinMax::onBarrange );
 //                     Connect(modBarRange->GetId(),98765,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onActualChange_Bar );
                        Connect(modBarRange->GetId(),wxEVT_TSBAR_ACTUAL,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onActualChange_Bar );
@@ -31,6 +30,10 @@ namespace bbcreaMaracasVisu
                {
                }
                
+               void wxWidgetSliderMinMax::PushEventHandler()
+               {
+                       modBarRange->PushEventHandler(this);
+               }
 
          //--------------------------------------------------------------------------------------------------------------------------------
          // Min-Max Barrange received events
@@ -48,16 +51,20 @@ namespace bbcreaMaracasVisu
                void wxWidgetSliderMinMax :: onStartChange_Bar(wxCommandEvent& event)
                {
                        mbbtkSliderMinMax->bbSetOutputOutStart(modBarRange->GetStart());
+                       mbbtkSliderMinMax->bbSetInputInMinShow(modBarRange->GetStart());
                        mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutStart"));
                }
+       
                void wxWidgetSliderMinMax :: onEndChange_Bar(wxCommandEvent& event)
                {
                        mbbtkSliderMinMax->bbSetOutputOutEnd(modBarRange->GetEnd());
                        mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutEnd"));
                }
+       
                void wxWidgetSliderMinMax :: onSelectionEnd(wxCommandEvent& event)
                {
                }
+
                void wxWidgetSliderMinMax :: onMovedBar(wxCommandEvent& event)
                {
                }
@@ -76,6 +83,13 @@ BBTK_BLACK_BOX_IMPLEMENTATION(SliderMinMax,bbtk::WxBlackBox);
 void SliderMinMax::Process()
 {
        if (mwxwidget!=NULL){
+               if (firsttime==true)
+               {
+                       firsttime=false;
+                       mwxwidget -> setRepresentedValues( bbGetInputInMin(), bbGetInputInMax() );
+                       mwxwidget -> SetStart(bbGetInputInMinShow());
+                       mwxwidget -> SetEnd(bbGetInputInMaxShow());  
+               }
                bbSetOutputOutStart(mwxwidget->GetStart());
                bbSetOutputOutEnd(mwxwidget->GetEnd());
                bbSetOutputOutActual(mwxwidget->GetActual());
@@ -88,18 +102,23 @@ void SliderMinMax::CreateWidget(wxWindow* parent)
 
     bbtkDebugMessageInc("Core",9,"SliderMinMax::CreateWidget()"<<std::endl);
 
-               mwxwidget = new mBarRange(parent ,bbGetInputInW(), bbGetInputInH()); 
-               mwxwidget -> SetOrientation( bbGetInputOrientation()==1 );
-               mwxwidget -> setActiveStateTo(true);
-               mwxwidget -> setVisibleLabels( bbGetInputShowLabels()==1 );
-               mwxwidget -> setDeviceEndMargin(10);
-           mwxwidget -> setRepresentedValues(bbGetInputInMin(), bbGetInputInMax());
-               mwxwidget -> setDeviceBlitStart(10,10); 
-               mwxwidget -> setIfWithActualDrawed(bbGetInputShowActual());
-               mwxwidget -> SetStart(bbGetInputInMinShow());
-               mwxwidget -> SetEnd(bbGetInputInMaxShow());  
-               //wxWidgetSliderMinMax * eventHandler = new wxWidgetSliderMinMax(this, mwxwidget); //JPRx
-               bbtkDebugDecTab("Core",9);
+       mwxwidget = new mBarRange(parent ,bbGetInputInW(), bbGetInputInH()); 
+       mwxwidget -> SetOrientation( bbGetInputOrientation()==1 );
+       mwxwidget -> setActiveStateTo(true);
+       mwxwidget -> setVisibleLabels( bbGetInputShowLabels()==1 );
+       mwxwidget -> setDeviceEndMargin(10);
+//         mwxwidget -> setRepresentedValues(bbGetInputInMin(), bbGetInputInMax());
+       mwxwidget -> setDeviceBlitStart(10,10); 
+       mwxwidget -> setIfWithActualDrawed(bbGetInputShowActual());
+//             mwxwidget -> SetStart(bbGetInputInMinShow());
+//             mwxwidget -> SetEnd(bbGetInputInMaxShow());  
+
+
+       wxWidgetSliderMinMax *eventHandler = new wxWidgetSliderMinMax(this, mwxwidget); 
+       eventHandler->PushEventHandler();
+
+
+       bbtkDebugDecTab("Core",9);
 
        bbSetOutputWidget( mwxwidget );
 
@@ -109,7 +128,8 @@ void SliderMinMax::CreateWidget(wxWindow* parent)
 //------------------------------------------------------
 void SliderMinMax::bbUserSetDefaultValues()
 {
-               mwxwidget = NULL;
+               firsttime       =       true;
+               mwxwidget       =       NULL;
                bbSetInputOrientation(1);
                bbSetInputInW(200);
                bbSetInputInH(65);