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(); }