The current QML views:
- have considerable duplicated code
- are not as flexible as required for fluid layout
- lack entrance/exit transitions, etc.
- have insufficient performance
1. Identify all view requirements
2. Research approaches to satisfy the requirements
3. implement prototypes of at least List, Grid and Path view layouts
Ideally the same layout code is reused for laying out items which are not part of a view, i.e. the layout engine is not tied to the views.
The desired result is a set of lightweight, but flexible views (layouts) suitable for highly dynamic UIs.
They will not necessarily cover the large array of desktop-centric features that traditional Qt views cover.
- support for entry/exit transitions
- view to view transitions
- support multiple delegate types
- add/remove/move transitions
- item selection
- section support
- some support for item creation in threads?
- delegate instance recycling?
- Obviously everything QML does today.
- iPad pinch-to-expand photo stack
- iPhone SMS app. The SMS is originally typed below the conversation view, and then slides up to become part of the view itself.
|For Gerrit Dashboard: QTBUG-20107|
|3560,1||Add API to access and the manipulate items in a VisualDataModel.||master||qt/qtdeclarative||Status: ABANDONED||-1||0|
|4033,3||Refactor QSGVisualDataModel.||master||qt/qtdeclarative||Status: MERGED||+2||0|
|4034,3||Use QDeclarativeChangeSet to communicate changes to views.||master||qt/qtdeclarative||Status: MERGED||+2||0|
|4036,2||Add a createItem function to VisualDataModel.||master||qt/qtdeclarative||Status: ABANDONED||+1||0|
|4623,3||Add a move() overload which transfers items between VisualDataModels.||master||qt/qtdeclarative||Status: ABANDONED||0||0|