aboutsummaryrefslogtreecommitdiffstats
path: root/examples/HACKING
diff options
context:
space:
mode:
authorAlan Alpert <alan.alpert@nokia.com>2012-02-20 10:34:44 +1000
committerQt by Nokia <qt-info@nokia.com>2012-02-24 10:24:58 +0100
commit9d2b618fa022daeabd45e57aa1596197db883037 (patch)
tree90536e9fc088d734439921dde304b49fe7f38df0 /examples/HACKING
parent91d543f00904a6caa2fab850ff3eca12de2d65ac (diff)
Start of examples refactor
This is the general reorg of the examples directory structure, plus additional guidelines. calculator, animations and accessibility have been updated to the new standards and tested, as an example. Task-number: QTBUG-24133 Change-Id: I76c3b86751d3195ba2a5474ff23afb875765e9a4 Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Diffstat (limited to 'examples/HACKING')
-rw-r--r--examples/HACKING23
1 files changed, 23 insertions, 0 deletions
diff --git a/examples/HACKING b/examples/HACKING
new file mode 100644
index 0000000000..a3aa3e9a77
--- /dev/null
+++ b/examples/HACKING
@@ -0,0 +1,23 @@
+Some guidelines for QtDeclarative examples
+
+Snippets
+---
+Snippets are snatches of QML code that won't even run on their own. They don't belong here, they belong in doc/src/snippets. They should be contained in files that will compile on their own, for automated syntax validation, but don't have to look like anything.
+
+Examples
+---
+
+Examples are large blocks of QML code that demonstrate a feature. You should be able to launch an example and visually see the feature take effect. Examples should be written in a small form, and should automatically activate any features. Ideally, when you run an example, you see the feature demonstrate itself over and over until you get bored and close the application using your platform's close window mechanism. Examples shouldn't contain their own close buttons or start screen, explanatory text should be kept to a minimum (show, not tell), and reserve interaction for demonstrating interactive elements). The code should be held to a high level of quality, and should be understandable by people new to QML.
+
+Unless the demonstrated feature uses it, assume no interface devices other than a screen that can show a 320x480 rectangle and a generic pointing device (with the shared subset of mouse/touch functionality).
+
+Groups of similar examples should be placed in one folder with a single launcher application, which uses the QtQuick.Examples module for common components.
+
+The example, or launcher application in case of groups, should contain a qdoc comment explaining the example. The example or launcher should be buildable as a full C++ application and runnable with the standard qml file launcher.
+
+Demos
+---
+
+Demos are examples of creating full applications using QML. They should fit both a desktop and a mobile form factor, they should have their own start screen and method of exiting the application. They should be at a level of quality that you'd be comfortable submitting them to an app store for a platform of the appropriate hardware (screen size, input methods, etc.). The code should be written to a level that is easily understood and modified by a QML expert.
+
+Demos should have a qdoc file in their directory explaining the demo at a high level. The demo should be buildable as a full C++ application and preferably runnable with the standard qml file launcher.