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