Difference between revisions of "Qml Ui"

From LinuxMCE
Jump to: navigation, search
(QML KnowledgeBase)
(Initial Findings)
Line 14: Line 14:
 
All research is being done against the current branch of code in the svn. The Big Idea(tm) is do the following:
 
All research is being done against the current branch of code in the svn. The Big Idea(tm) is do the following:
  
UI
+
==UI==
 
*Determine to what level we want QML to control the UI vs the c++ code.
 
*Determine to what level we want QML to control the UI vs the c++ code.
 
*Provide a set of constant objects for UI designers to connect to for data
 
*Provide a set of constant objects for UI designers to connect to for data
Line 21: Line 21:
 
*determine animations sets for our custom qml objects
 
*determine animations sets for our custom qml objects
  
C++
+
==C++==
 
There will need be be considerable time invested into understanding and picking apart certain functions of the existing orbiter to determine relevance in any new orbiter. These include not just the orbiter itself, but datagrids and how it interacts with other plugins. We will need to translate the functionality to new methods because of the inherent difference in the two ui toolkits. Things such as screen handlers and the callback system will be replaced with the signal and slots mechanisms of Qt and so must be understood to be replaced.  
 
There will need be be considerable time invested into understanding and picking apart certain functions of the existing orbiter to determine relevance in any new orbiter. These include not just the orbiter itself, but datagrids and how it interacts with other plugins. We will need to translate the functionality to new methods because of the inherent difference in the two ui toolkits. Things such as screen handlers and the callback system will be replaced with the signal and slots mechanisms of Qt and so must be understood to be replaced.  
 
*Datagrids
 
*Datagrids
 
*Screen Handlers
 
*Screen Handlers
 
*Mouse Handlers
 
*Mouse Handlers

Revision as of 05:18, 9 June 2011

This page is intended to serve as an ongoing development guide in relation to using QML as the engine for LinuxMCE's user interface. We shall outline relevant documents relating to QML as well as specifics for designing a skin. Please note, if you are reading this, then this is in fact an ongoing guide and as such information is apt to change. Personal notes are to be kept in the discussion area of this page, please post only code, links, or other relevant data to UI development. This message will self-destruct in 10 seconds.

QML KnowledgeBase

An Overview of what QML is http://labs.qt.nokia.com/2009/05/13/qt-declarative-ui/ A document on styling and whats important, skinning - http://developer.qt.nokia.com/wiki/QmlStyling

Stay tuned to this development space

Initial Findings

All research is being done against the current branch of code in the svn. The Big Idea(tm) is do the following:

UI

  • Determine to what level we want QML to control the UI vs the c++ code.
  • Provide a set of constant objects for UI designers to connect to for data
  • Provide basic qml elements for some design objects. Think buttons specifically. These would be referred to as custom qml 'components'
  • Develop a base template for styles to follow. This would allow changes to be made globally that would affect all qml objects loaded.
  • determine animations sets for our custom qml objects

C++

There will need be be considerable time invested into understanding and picking apart certain functions of the existing orbiter to determine relevance in any new orbiter. These include not just the orbiter itself, but datagrids and how it interacts with other plugins. We will need to translate the functionality to new methods because of the inherent difference in the two ui toolkits. Things such as screen handlers and the callback system will be replaced with the signal and slots mechanisms of Qt and so must be understood to be replaced.

  • Datagrids
  • Screen Handlers
  • Mouse Handlers