ultimatepp/examples/ScatterCtrl_Demo/tab14_UserEquation.cpp
koldo 6bb2664c59 ScatterCtrl_Demo: Fixed margins
git-svn-id: svn://ultimatepp.org/upp/trunk@13547 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2019-08-15 17:43:48 +00:00

44 lines
975 B
C++

#include "ScatterCtrl_Demo.h"
void TabUserEquation::Init()
{
CtrlLayout(*this);
SizePos();
equation <<= "25 + 10*sin(0.5*x + 5)";
fromX <<= 0;
toX <<= 100;
fromY <<= 0;
toY <<= 50;
update.WhenAction = THISBACK(OnUpdate);
scatter.SetMouseHandling(true, true).ShowContextMenu().ShowPropertiesDlg().ShowProcessDlg();
OnUpdate();
}
void TabUserEquation::OnUpdate()
{
if (fromX >= toX || fromY >= toY) {
Exclamation("Wrong limits");
return;
}
userEquation.Init("Reach flow (Coull)", ~equation);
scatter.RemoveAllSeries();
scatter.AddSeries(userEquation).Legend(userEquation.GetFullName()).NoMark().Stroke(2).Units("m3/s");
scatter.SetXYMin(fromX, fromY);
scatter.SetRange(toX - fromX, toY - fromY);
scatter.ZoomToFit(true, true);
}
ScatterDemo *ConstructUserEquation()
{
static TabUserEquation tab;
return &tab;
}
INITBLOCK {
RegisterExample("User equation", ConstructUserEquation, __FILE__);
}