#include using namespace Upp; #define LAYOUTFILE #include struct App : public WithAppLayout { EditDouble editdbl; App(); }; struct SqrNumberConvert : Convert { virtual Value Format(const Value& q) const { return IsNull(q) ? (double)Null : (double)q * (double)q; } }; void EditDblMinMaxFactory(One& ctrl) { ctrl.Create().MinMax(0, 1); } App::App() { CtrlLayout(*this); list.AddColumn("Number").Edit(editdbl); list.AddColumnAt(0, "Number^2").SetConvert(Single()); list.AddColumn("Text").Ctrls(); list.AddColumn("Limited number").Ctrls(EditDblMinMaxFactory); list.AddCtrl(editor); list.AddCtrl(option); list.Appending().Removing(); list.SetLineCy(EditField::GetStdHeight()); list.ColumnWidths("49 63 74 96"); } GUI_APP_MAIN { App().Run(); }