110 likes | 269 Vues
pages and boxes. Building quick user interfaces. l earning objectives. Build a quick UI with pages and boxes understand how pages and boxes work click events on boxes n ote: only available on web version (no phone support). pages. similar to an action
E N D
pages and boxes Building quick user interfaces
learning objectives • Build a quick UI with pages and boxes • understand how pages and boxes work • click events on boxes • note: only available on web version (no phone support)
pages • similar to an action • causes blank page to be pushed on page stack • has 2 parts • initialize: code run once to setup data • display: code run every time something changes
page definition page my page ( s:string, n:number ) initialize … initialize global variables … display … code with boxes …
page display • made of nested vertical and horizontal boxes • box attributes: color, border, width, height, … boxed boxed box->use horizontal layout boxed boxed boxed boxed
page display • use if, for, action calls, etc. in display code boxed boxed box->use horizontal layout for 0 ≤ i ≤ 3 do boxed boxed
page content • text, pictures, whatever you post on the wall boxed box-> use horizontal layout for 0 ≤ i ≤ 5 do boxed box->set width(2) i-> post to wall
page measurement units • in “em”, approximate height of letter “M” box->set width(2) • makes UI scale with text size
on tapped event • Can attach tapped event on boxes box-> on tapped(handler) wherehandler() is push▸my page(“some parameter”)
special text box • Text box content box-> edit text(“initial text”, multiline) • Text edit events box->on text editing(h1) whereh1(text : String) is… on each key press … box->on text edited(h2) whereh2(text : String) is… when done editing …
page navigation • invoke a page: push new page on top push▸my page(“some parameter”) • remove current page (pop top of page stack) wall-> pop page • causes previous page to be re-displayed