include('wintools') include('wincontrolworks') include('includes') func _create(_data) var(ctrl) fvar(old) addInclude('AngularMeter.h',1) addIncludePath('../extras/kwxIC') addSource('../extras/kwxIC/AngularMeter', 'cpp') println(ameter, ' = new kwxAngularMeter(this, ID_', upper(ameter), ', _T("Focus me"), wxPoint(', Left, ', ', Top, '), wxSize(', Width, ', ', Height, '));') ctrl = ameter registerId(ctrl) println(ameter, '->SetRange(', Minimum, ', ', Maximum, ');') println(ameter, '->SetAngle(', MinAngle, ', ', MaxAngle, ');') println(ameter, '->SetNumTick(', NumTicks, ');') println(ameter, '->SetValue(', Value, ');') println(ameter, '->SetTextColour(', lng.to_color(TextColor, '255'), ');') if (isndef(NeedleColor) or isndef(NeedleAlpha)) println(ameter, '->SetNeedleColour('+lng.to_color(NeedleColor, NeedleAlpha)+');') end if (isndef(NumSectors)) println(ameter, '->SetNumSectors(', NumSectors, ');') end if (isndef(BackColor)) println(ameter, '->SetBackColour(', lng.to_color(BackColor, '255'), ');') end end func doMaximum(_data) println(ctrl, '->SetRange(', ctrl, '->GetMinimum(), ', _data@int, ');') end func doMinimum(_data) println(ctrl, '->SetRange(', _data@int, ', ', ctrl, '->GetMaximum());') end func doMaxAngle(_data) println(ctrl, '->SetAngle(', ctrl, '->GetMinimumAngle(), ', _data@int, ');') end func doMinAngle(_data) println(ctrl, '->SetAngle(', _data@int, ', ', ctrl, '->GetMaximumAngle());') end func doValue(_data) println(ctrl, '->SetValue(', _data@int, ');') end func CurrentValue() return(ctrl + '->GetValue();') end func doSectorColor(_data) println('wxColour ', col, ';') println(col, '.Set(', e_str(_data), ');') println(ctrl, '->SetSectorColor(', SectorNum, ', ', col, ');') end func initFree() _create('') end func init() lng.decl_priv_var(ameter, 'kwxAngularMeter*') if(not linked(doCreate)) fvar(old) old = block.select(BLK_BODY) _create('') block.select(old) end end func doCreate(_data) _create(_data) end