]> 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 a8020e41a0c4af6d47a28e1f1a14969f1f9edd68..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
@@ -41,26 +44,27 @@ namespace bbcreaMaracasVisu
 
                void wxWidgetSliderMinMax :: onActualChange_Bar(wxCommandEvent& event)
                {
-printf ("EED wxWidgetSliderMinMax :: onActualChange_Bar \n"); 
                        mbbtkSliderMinMax->bbSetOutputOutActual(modBarRange->GetActual());
-                       mbbtkSliderMinMax->bbSignalOutputModification("OutActual");
+                       mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutActual"));
                }
 
                void wxWidgetSliderMinMax :: onStartChange_Bar(wxCommandEvent& event)
                {
-printf ("EED wxWidgetSliderMinMax :: onStartChange_Bar \n"); 
                        mbbtkSliderMinMax->bbSetOutputOutStart(modBarRange->GetStart());
-                       mbbtkSliderMinMax->bbSignalOutputModification("OutStart");
+                       mbbtkSliderMinMax->bbSetInputInMinShow(modBarRange->GetStart());
+                       mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutStart"));
                }
+       
                void wxWidgetSliderMinMax :: onEndChange_Bar(wxCommandEvent& event)
                {
-printf ("EED wxWidgetSliderMinMax :: onEndChange_Bar \n"); 
                        mbbtkSliderMinMax->bbSetOutputOutEnd(modBarRange->GetEnd());
-                       mbbtkSliderMinMax->bbSignalOutputModification("OutEnd");
+                       mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutEnd"));
                }
+       
                void wxWidgetSliderMinMax :: onSelectionEnd(wxCommandEvent& event)
                {
                }
+
                void wxWidgetSliderMinMax :: onMovedBar(wxCommandEvent& event)
                {
                }
@@ -78,29 +82,43 @@ BBTK_BLACK_BOX_IMPLEMENTATION(SliderMinMax,bbtk::WxBlackBox);
 //------------------------------------------------------
 void SliderMinMax::Process()
 {
-       bbSetOutputOutStart(mwxwidget->GetStart());
-       bbSetOutputOutEnd(mwxwidget->GetEnd());
-       bbSetOutputOutActual(mwxwidget->GetActual());
+       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());
+       } // mwxwidget
 }
 
 //------------------------------------------------------
-void SliderMinMax::CreateWidget()
+void SliderMinMax::CreateWidget(wxWindow* parent)
 {
 
     bbtkDebugMessageInc("Core",9,"SliderMinMax::CreateWidget()"<<std::endl);
 
-               mwxwidget = new mBarRange( bbGetWxParent() ,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 );
 
@@ -108,8 +126,10 @@ void SliderMinMax::CreateWidget()
 }
 
 //------------------------------------------------------
-void SliderMinMax::bbUserConstructor()
+void SliderMinMax::bbUserSetDefaultValues()
 {
+               firsttime       =       true;
+               mwxwidget       =       NULL;
                bbSetInputOrientation(1);
                bbSetInputInW(200);
                bbSetInputInH(65);
@@ -125,15 +145,18 @@ void SliderMinMax::bbUserConstructor()
                bbSetOutputOutActual(0);
 }
 
-//------------------------------------------------------
-void SliderMinMax::bbUserCopyConstructor()
-{
-}
-
-//------------------------------------------------------
-void SliderMinMax::bbUserDestructor()
-{
-}
+               
+       //-----------------------------------------------------------------     
+       void SliderMinMax::bbUserInitializeProcessing()
+       {
+       }
+       
+       //-----------------------------------------------------------------     
+       void SliderMinMax::bbUserFinalizeProcessing()
+       {
+       }
+       
+       //-----------------------------------------------------------------     
 
 }
 // EO namespace bbcreaMaracasVisu