Exemple #1
0
bool nuiRange::FromString(const nglString& Value)
{
  double value=0,min=0,max=0,increment=0,pageincrement=0,pagesize=0,origin=0;
  long res;
  nglString str=Value;
  if (!str.GetLength() || str[0]!='[' || str[str.GetLength()-1]!=']')
    return false;
    
  str.DeleteLeft(1);
  str.DeleteRight(1);
  std::vector<nglString> vec;
  res = str.Tokenize(vec);
  
  if (vec.size() == 7)
  {
    value         = vec[0].GetCDouble();
    min           = vec[1].GetCDouble();
    max           = vec[2].GetCDouble();
    increment     = vec[3].GetCDouble();
    pageincrement = vec[4].GetCDouble();
    pagesize      = vec[5].GetCDouble();
    origin        = vec[6].GetCDouble();
    
    SetValue(value);
    SetRange(min,max);
    SetIncrement(increment);
    SetPageIncrement(pageincrement);
    SetPageSize(pagesize);
    SetOrigin(origin);
    return true;
  }
  return false;
}
SerialisableSpinButton::SerialisableSpinButton(wxWindow* parent, 
	double value, double min, double max, double step, unsigned int digits) : 
	wxSpinCtrlDouble(parent, wxID_ANY)
{
	SetRange(min, max);
	SetValue(value);
	SetIncrement(step);
	SetDigits(digits);
}
void OddsSpinCtrl::SetValue(double value) {
    previousValue = value;
    wxSpinCtrlDouble::SetValue(value);
    SetIncrement();
}
void OddsSpinCtrl::OnSpin(wxSpinDoubleEvent& spinEvent) {
    SetIncrement();
    AdjustValue();
    previousValue = GetValue();
    spinEvent.Skip();
}
void OddsSpinCtrl::OnTextChange(wxCommandEvent& event) {
    SetIncrement();
    event.Skip();
}