module progress_page; import awebview.gui.html; import awebview.gui.widgets.progress; import carbon.functional; class ProgressPage : TemplateHTMLPage!(import(`progress_page.html`)) { this() { super("progressPage", null); this ~= new Progress("p1").passTo!((a){ _p1 = a; }); this ~= new Progress("p2"); } override void onUpdate() { if(_backward){ --cnt; if(cnt == 0) _backward = false; } else{ ++cnt; if(cnt == 1000){ _backward = true; } } _p1.value = cnt / 1000.0; } private: bool _backward; size_t cnt; IProgress _p1; }