]> Creatis software - creaMaracasVisu.git/blob - bbtk/src/bbmaracasvisuSliderMinMax.cxx
2c074cab6cfb9e224db87a0f74c45b0c68281dbe
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuSliderMinMax.cxx
1 #include "bbmaracasvisuSliderMinMax.h"
2 #include "bbcreaMaracasVisuPackage.h"
3
4
5 namespace bbcreaMaracasVisu
6 {
7
8   //------------------------------------------------------------------------------------------------------------------------------------
9   // Event handling auxiliar class
10   //------------------------------------------------------------------------------------------------------------------------------------
11  
12           //--------------------------------------------------------------------------------------------------------------------------------
13           // Constructors ans destructors
14           //--------------------------------------------------------------------------------------------------------------------------------
15                 wxWidgetSliderMinMax :: wxWidgetSliderMinMax(SliderMinMax *bbParent,mBarRange * modelBarRange)//(wxWindow *parent, mBarRange * modelBarRange)
16                 :wxEvtHandler()
17                 {                       
18                         modBarRange = modelBarRange;
19                         mbbtkSliderMinMax = bbParent;
20                         modBarRange->PushEventHandler(this);
21                         Connect(modBarRange->GetId(),wxEVT_TSBAR,(wxObjectEventFunction) (wxCommandEventFunction) &wxWidgetSliderMinMax::onBarrange );
22 //                      Connect(modBarRange->GetId(),98765,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onActualChange_Bar );
23                         Connect(modBarRange->GetId(),wxEVT_TSBAR_ACTUAL,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onActualChange_Bar );
24                         Connect(modBarRange->GetId(),wxEVT_TSBAR_START,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onStartChange_Bar );            
25                         Connect(modBarRange->GetId(),wxEVT_TSBAR_END,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onEndChange_Bar );
26                         Connect(modBarRange->GetId(),wxEVT_SELECTION_END,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onSelectionEnd );
27                         Connect(modBarRange->GetId(),wxEVT_TSBAR_MOVED,(wxObjectEventFunction) (wxCommandEventFunction)  &wxWidgetSliderMinMax::onMovedBar );           
28                 }
29
30                 wxWidgetSliderMinMax ::  ~wxWidgetSliderMinMax()
31                 {
32                 }
33                 
34
35           //--------------------------------------------------------------------------------------------------------------------------------
36           // Min-Max Barrange received events
37           //--------------------------------------------------------------------------------------------------------------------------------
38                 void wxWidgetSliderMinMax :: onBarrange(wxCommandEvent& event)
39                 {
40                 }
41
42                 void wxWidgetSliderMinMax :: onActualChange_Bar(wxCommandEvent& event)
43                 {
44                         mbbtkSliderMinMax->bbSetOutputOutActual(modBarRange->GetActual());
45                         mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutActual"));
46                 }
47
48                 void wxWidgetSliderMinMax :: onStartChange_Bar(wxCommandEvent& event)
49                 {
50                         mbbtkSliderMinMax->bbSetOutputOutStart(modBarRange->GetStart());
51                         mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutStart"));
52                 }
53                 void wxWidgetSliderMinMax :: onEndChange_Bar(wxCommandEvent& event)
54                 {
55                         mbbtkSliderMinMax->bbSetOutputOutEnd(modBarRange->GetEnd());
56                         mbbtkSliderMinMax->bbSignalOutputModification(std::string("OutEnd"));
57                 }
58                 void wxWidgetSliderMinMax :: onSelectionEnd(wxCommandEvent& event)
59                 {
60                 }
61                 void wxWidgetSliderMinMax :: onMovedBar(wxCommandEvent& event)
62                 {
63                 }
64
65
66   //--------------------------------------------------------------------------
67   //-------------------------------------------------------------------------
68   //--------------------------------------------------------------------------
69   //--------------------------------------------------------------------------
70
71
72 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,SliderMinMax)
73 BBTK_BLACK_BOX_IMPLEMENTATION(SliderMinMax,bbtk::WxBlackBox);
74
75 //------------------------------------------------------
76 void SliderMinMax::Process()
77 {
78         if (mwxwidget!=NULL){
79                 if (firsttime==true)
80                 {
81                         firsttime=false;
82                         mwxwidget -> setRepresentedValues( bbGetInputInMin(), bbGetInputInMax() );
83                         mwxwidget -> SetStart(bbGetInputInMinShow());
84                         mwxwidget -> SetEnd(bbGetInputInMaxShow());  
85                 }
86                 bbSetOutputOutStart(mwxwidget->GetStart());
87                 bbSetOutputOutEnd(mwxwidget->GetEnd());
88                 bbSetOutputOutActual(mwxwidget->GetActual());
89         } // mwxwidget
90 }
91
92 //------------------------------------------------------
93 void SliderMinMax::CreateWidget(wxWindow* parent)
94 {
95
96     bbtkDebugMessageInc("Core",9,"SliderMinMax::CreateWidget()"<<std::endl);
97
98                 mwxwidget = new mBarRange(parent ,bbGetInputInW(), bbGetInputInH()); 
99                 mwxwidget -> SetOrientation( bbGetInputOrientation()==1 );
100                 mwxwidget -> setActiveStateTo(true);
101                 mwxwidget -> setVisibleLabels( bbGetInputShowLabels()==1 );
102                 mwxwidget -> setDeviceEndMargin(10);
103 //          mwxwidget -> setRepresentedValues(bbGetInputInMin(), bbGetInputInMax());
104                 mwxwidget -> setDeviceBlitStart(10,10); 
105                 mwxwidget -> setIfWithActualDrawed(bbGetInputShowActual());
106 //              mwxwidget -> SetStart(bbGetInputInMinShow());
107 //              mwxwidget -> SetEnd(bbGetInputInMaxShow());  
108                 //wxWidgetSliderMinMax * eventHandler = new wxWidgetSliderMinMax(this, mwxwidget); //JPRx
109                 bbtkDebugDecTab("Core",9);
110
111         bbSetOutputWidget( mwxwidget );
112
113
114 }
115
116 //------------------------------------------------------
117 void SliderMinMax::bbUserSetDefaultValues()
118 {
119                 firsttime       =       true;
120                 mwxwidget       =       NULL;
121                 bbSetInputOrientation(1);
122                 bbSetInputInW(200);
123                 bbSetInputInH(65);
124                 bbSetInputInMax(200);
125                 bbSetInputInMin(1);
126                 bbSetInputInMaxShow(200);
127                 bbSetInputInMinShow(1);
128                 bbSetInputShowLabels(1);
129                 bbSetInputShowActual(true);
130
131                 bbSetOutputOutStart(0);
132                 bbSetOutputOutEnd(0);
133                 bbSetOutputOutActual(0);
134 }
135
136                 
137         //-----------------------------------------------------------------     
138         void SliderMinMax::bbUserInitializeProcessing()
139         {
140         }
141         
142         //-----------------------------------------------------------------     
143         void SliderMinMax::bbUserFinalizeProcessing()
144         {
145         }
146         
147         //-----------------------------------------------------------------     
148
149 }
150 // EO namespace bbcreaMaracasVisu
151
152