void wxWidgetSliderMinMax :: onStartChange_Bar(wxCommandEvent& event)
{
- mbbtkSliderMinMax->bbSetOutputOutStart(modBarRange->GetStart());
+ 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)
{
}
mwxwidget -> setIfWithActualDrawed(bbGetInputShowActual());
// mwxwidget -> SetStart(bbGetInputInMinShow());
// mwxwidget -> SetEnd(bbGetInputInMaxShow());
- //wxWidgetSliderMinMax * eventHandler = new wxWidgetSliderMinMax(this, mwxwidget); //JPRx
+
+
+ wxWidgetSliderMinMax * eventHandler = new wxWidgetSliderMinMax(this, mwxwidget); //JPRx //EED ?????
+
+
bbtkDebugDecTab("Core",9);
bbSetOutputWidget( mwxwidget );
EVT_LEFT_DOWN( mBarRange :: onLeftClicDown)
EVT_LEFT_UP( mBarRange :: onLeftClickUp)
+ EVT_CHAR( mBarRange :: onKey )
+
//how to catch the new event (our event)
//EVT_COMMAND (ID_MY_WINDOW, wxEVT_MY_EVENT, MyFrame::OnMyEvent)
END_EVENT_TABLE()
// Logical Start of the rectangle
//----------------------------------------------------------------------------
+int mBarRange::filtreValue(int value)
+{
+ if(value<_min)
+ value = _min;
+ else if (value>_max)
+ value = _max;
+
+ return value;
+}
+
+
int mBarRange::GetStart()
{
return _start;
-
}
//----------------------------------------------------------------------------
// param start: value real units
//----------------------------------------------------------------------------
void mBarRange::SetStart(int newstart)
{
- if(newstart<_min)
- newstart = _min;
- _start = newstart;
+ _start = filtreValue(newstart);
+ if (_start>_end) { _start=_end; }
+ if (_in_rangeProperty==true)
+ {
+ if (_start>_actual) { _start=_actual; }
+ }
RefreshForce();
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// param end: value pixel units
//----------------------------------------------------------------------------
-void mBarRange::SetEnd(int nwend)
+void mBarRange::SetEnd(int newend)
{
- if(nwend>_max)
- _end = _max;
- _end=nwend;
+ _end = filtreValue(newend);
+ if (_end<_start) { _end=_start; }
+ if (_in_rangeProperty==true)
+ {
+ if (_end<_actual) { _end=_actual; }
+ }
RefreshForce();
}
//----------------------------------------------------------------------------
return _actual;
}
//----------------------------------------------------------------------------
-void mBarRange::SetActual(int actual)
+void mBarRange::SetActual(int newactual)
{
- if(actual<_min)
- _actual = _min;
- else if (actual>_max)
- _actual = _max;
- _actual=actual;
+ _actual = filtreValue(newactual);
+ if (_in_rangeProperty==true)
+ {
+ if (_actual<_start) { _actual=_start; }
+ if (_actual>_end) { _actual=_end; }
+ }
RefreshForce();
}
//-------------------------------------------
createAndSendEvent( wxEVT_TSBAR_ACTUAL );
// createAndSendEvent( 98765 );
-
-//printf("EED creaMaracasVisu mBarRange::OnMouseMove XXXXXXX \n");
-
}
else if( validPos_ActualTri && _in_rangeProperty )
// the tringle in between start and end
// Sending the event that the bar ahs being moved
//-------------------------------------------
createAndSendEvent( wxEVT_TSBAR_MOVED );
+ //EED
+ createAndSendEvent( wxEVT_TSBAR_ACTUAL );
+ createAndSendEvent( wxEVT_TSBAR_END );
+ createAndSendEvent( wxEVT_TSBAR_START );
}
//if actual has to be between start and end
else if(_in_rangeProperty && ((next_start<=GetActual()) && (next_end>=GetActual()) && (next_end<=_max)&& (next_start>=_min)) )
// Sending the event that the bar ahs being moved
//-------------------------------------------
createAndSendEvent( wxEVT_TSBAR_MOVED );
+ //EED
+ createAndSendEvent( wxEVT_TSBAR_ACTUAL );
+ createAndSendEvent( wxEVT_TSBAR_END );
+ createAndSendEvent( wxEVT_TSBAR_START );
}
}
}
return guideLineColor;
}
+
void mBarRange ::onLeftClicDown(wxMouseEvent& event )
{
acceptedClick = true;
+ SetFocus();
}
- void mBarRange ::onLeftClickUp(wxMouseEvent& event )
+ void mBarRange::onLeftClickUp(wxMouseEvent& event )
{
acceptedClick = false;
}
+//EED 20 Juillet 2011
+ void mBarRange::onKey(wxKeyEvent& event)
+ {
+ int step=0;
+ if ((event.GetKeyCode()==314) || (event.GetKeyCode()==317))
+ {
+ step=-1;
+ }
+
+ if ((event.GetKeyCode()==315) || (event.GetKeyCode()==316))
+ {
+ step=1;
+ }
+
+ if (step!=0)
+ {
+ if (_selectionMoveId == 1) // start
+ {
+ SetStart(GetStart()+step);
+ createAndSendEvent( wxEVT_TSBAR_START );
+ }
+
+ if (_selectionMoveId == 2) // end
+ {
+ SetEnd(GetEnd()+step);
+ createAndSendEvent( wxEVT_TSBAR_END );
+ }
+
+ if (_selectionMoveId == 3) // actual
+ {
+ SetActual(GetActual()+step);
+ createAndSendEvent( wxEVT_TSBAR_ACTUAL );
+ }
+
+ if (_selectionMoveId == 4) // bar
+ {
+ if (( GetStart()+step>=_min ) && ( GetEnd()+step<=_max ))
+ {
+ SetStart(GetStart()+step);
+ SetEnd(GetEnd()+step);
+ if (_moveActualWithBar)
+ {
+ SetActual(GetActual()+step);
+ }
+ createAndSendEvent( wxEVT_TSBAR_START );
+ createAndSendEvent( wxEVT_TSBAR_END );
+ createAndSendEvent( wxEVT_TSBAR_ACTUAL );
+ createAndSendEvent( wxEVT_TSBAR_MOVED );
+ } // Start>_min && End<_max
+ }// _selectionMoveId == 4
+ } // step
+
+
+
+
+ printf("EED mBarRange::onKey code:%d\n", event.GetKeyCode());
+ }
+