SDK UI Toolkit Responsive Layouting

Registered by Florian Boucault

Discussion about how the UI Toolkit is going to handle more responsive layouting to make it easier to support various screen sizes.

Blueprint information

Status:
Started
Approver:
Zoltan Balogh
Priority:
Undefined
Drafter:
Florian Boucault
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
Accepted for saucy
Implementation:
Good progress
Milestone target:
milestone icon ubuntu-13.10
Started by
Michael Hall

Related branches

Sprints

Whiteboard

Prototype code: https://code.launchpad.net/~gerboland/ubuntu-ui-toolkit/layoutmanager/
Demo: https://code.launchpad.net/~gerboland/+junk/googleio-layout/
Demo Code: http://paste.ubuntu.com/5670914/

[Ideas]
Allow defining layouts based on available input devices (keyboard, mouse, touch, etc)
Signals or property change events on current layout changed
LayoutManager uses a default layout for child components, this is used when no other defined layout's "when" matches
LayoutManager uses the first matching Layout, in cases where more than one matches
Would be nice for the device simulator to have pre-defined profiles for different devices, including pixels/gridunit
"WARNING: there is no layout available for screens wider than 80gu. WARNING: there are two layouts available when screen width is less than 15gu."

Available in Beta timeframe

(?)

Work Items

Work items for ubuntu-13.07:
[mhall119] Blog about how to use the LayoutManager API: TODO
[mhall119] Put together a community initiative to develop pre-defined layouts: TODO

Work items:
Determine which part of the stack determines pixels-per-GU, how it does it, and who controls that part of the stack. And tell everyone about it so we can all talk about whether the method will actually work: TODO
[calumpringle] Work on designs for responsive layouts with Ubuntu components: TODO
[calumpringle] Work on designs for keyboard/mouse interaction with Ubuntu components: TODO

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.