summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/src/declarative/advtutorial.qdoc22
-rw-r--r--doc/src/declarative/codingconventions.qdoc1
-rw-r--r--doc/src/declarative/declarativeui.qdoc2
-rw-r--r--doc/src/declarative/examples.qdoc39
-rw-r--r--doc/src/declarative/extending.qdoc64
-rw-r--r--doc/src/declarative/globalobject.qdoc78
-rw-r--r--doc/src/declarative/propertybinding.qdoc56
-rw-r--r--doc/src/declarative/qdeclarativemodels.qdoc12
-rw-r--r--doc/src/declarative/qdeclarativereference.qdoc4
-rw-r--r--doc/src/declarative/qdeclarativesecurity.qdoc4
-rw-r--r--doc/src/declarative/qtdeclarative.qdoc55
-rw-r--r--doc/src/examples/qml-calculator.qdoc49
-rw-r--r--doc/src/examples/qml-flickr.qdoc49
-rw-r--r--doc/src/examples/qml-focus.qdoc49
-rw-r--r--doc/src/examples/qml-minehunt.qdoc49
-rw-r--r--doc/src/examples/qml-photoviewer.qdoc49
-rw-r--r--doc/src/examples/qml-samegame.qdoc49
-rw-r--r--doc/src/examples/qml-snake.qdoc49
-rw-r--r--doc/src/getting-started/examples.qdoc16
-rw-r--r--doc/src/images/declarative-examples.pngbin0 -> 39074 bytes
-rw-r--r--doc/src/images/qml-calculator-example.pngbin0 -> 33956 bytes
-rw-r--r--doc/src/images/qml-flickr-example.pngbin0 -> 280730 bytes
-rw-r--r--doc/src/images/qml-focus-example.pngbin0 -> 26833 bytes
-rw-r--r--doc/src/images/qml-minehunt-example.pngbin0 -> 170648 bytes
-rw-r--r--doc/src/images/qml-photoviewer-example.pngbin0 -> 473306 bytes
-rw-r--r--doc/src/images/qml-samegame-example.pngbin0 -> 285415 bytes
-rw-r--r--doc/src/images/qml-snake-example.pngbin0 -> 105053 bytes
-rw-r--r--doc/src/index.qdoc2
-rw-r--r--doc/src/template/images/bullet_dn.pngbin0 -> 230 bytes
-rw-r--r--doc/src/template/images/bullet_up.pngbin0 -> 253 bytes
-rw-r--r--doc/src/template/images/header.pngbin0 -> 2600 bytes
-rwxr-xr-xdoc/src/template/scripts/functions.js13
-rwxr-xr-xdoc/src/template/style/style.css816
33 files changed, 928 insertions, 599 deletions
diff --git a/doc/src/declarative/advtutorial.qdoc b/doc/src/declarative/advtutorial.qdoc
index 751bf00..c465da4 100644
--- a/doc/src/declarative/advtutorial.qdoc
+++ b/doc/src/declarative/advtutorial.qdoc
@@ -67,7 +67,7 @@ Tutorial chapters:
\list 1
\o \l {QML Advanced Tutorial 1 - Creating the Game Canvas and Blocks}{Creating the Game Canvas and Blocks}
-\o \l {QML Advanced Tutorial 2 - Populating the Game Canvas}{Populating the Game Canvas}}
+\o \l {QML Advanced Tutorial 2 - Populating the Game Canvas}{Populating the Game Canvas}
\o \l {QML Advanced Tutorial 3 - Implementing the Game Logic}{Implementing the Game Logic}
\o \l {QML Advanced Tutorial 4 - Finishing Touches}{Finishing Touches}
\endlist
@@ -83,10 +83,6 @@ directory.
\previouspage QML Advanced Tutorial
\nextpage QML Advanced Tutorial 2 - Populating the Game Canvas
-In this chapter:
-
-\tableofcontents
-
The files referenced on this page can be found in \c $QTDIR\examples\tutorials\samegame\samegame1.
\section2 Creating the application screen
@@ -109,7 +105,7 @@ is the \l SystemPalette item. This provides access to the Qt system palette
and is used to give the button a more native look-and-feel.
Notice the anchors for the \c Item, \c Button and \c Text elements are set using
-\l {Grouped Properties}{group notation} for readability.
+\l {codingconventions.html#Grouped-properties}{group notation} for readability.
\section2 Adding \c Button and \c Block components
@@ -152,10 +148,6 @@ elements to get started. Next, we will populate the game canvas with some blocks
\previouspage QML Advanced Tutorial 1 - Creating the Game Canvas and Blocks
\nextpage QML Advanced Tutorial 3 - Implementing the Game Logic
-In this chapter:
-
-\tableofcontents
-
The files referenced on this page can be found in \c $QTDIR\examples\tutorials\samegame\samegame2.
@@ -224,10 +216,6 @@ Now, we have a screen of blocks, and we can begin to add the game mechanics.
\previouspage QML Advanced Tutorial 2 - Populating the Game Canvas
\nextpage QML Advanced Tutorial 4 - Finishing Touches
-In this chapter:
-
-\tableofcontents
-
The files referenced on this page can be found in \c $QTDIR\examples\tutorials\samegame\samegame3.
\section2 Making a playable game
@@ -313,10 +301,6 @@ until the next chapter - where your application becomes alive!
\contentspage QML Advanced Tutorial
\previouspage QML Advanced Tutorial 3 - Implementing the Game Logic
-In this chapter:
-
-\tableofcontents
-
The files referenced on this page can be found in \c $QTDIR\examples\tutorials\samegame\samegame4.
\section2 Adding some flair
@@ -432,7 +416,7 @@ If the player enters a name, we send the data to the service using this code in
\snippet declarative/tutorials/samegame/samegame4/content/samegame.js 1
-The \c XMLHttpRequest in this code is the same \c XMLHttpRequest() as you'll find in standard browser JavaScript, and can be used in the same way to dynamically get XML
+The \l XMLHttpRequest in this code is the same as the \c XMLHttpRequest() as you'll find in standard browser JavaScript, and can be used in the same way to dynamically get XML
or QML from the web service to display the high scores. We don't worry about the response in this case - we just post the high
score data to the web server. If it had returned a QML file (or a URL to a QML file) you could instantiate it in much the same
way as you did with the blocks.
diff --git a/doc/src/declarative/codingconventions.qdoc b/doc/src/declarative/codingconventions.qdoc
index 7ae5cbd..7ca206b 100644
--- a/doc/src/declarative/codingconventions.qdoc
+++ b/doc/src/declarative/codingconventions.qdoc
@@ -72,6 +72,7 @@ For example, a hypothetical \e photo QML object would look like this:
\snippet doc/src/snippets/declarative/codingconventions/photo.qml 0
+\target Grouped properties
\section1 Grouped properties
If using multiple properties from a group of properties,
diff --git a/doc/src/declarative/declarativeui.qdoc b/doc/src/declarative/declarativeui.qdoc
index a2a5283..55945e6 100644
--- a/doc/src/declarative/declarativeui.qdoc
+++ b/doc/src/declarative/declarativeui.qdoc
@@ -75,7 +75,7 @@ completely new applications. QML is fully \l {Extending QML in C++}{extensible
\o \l {Introduction to the QML language}
\o \l {QML Tutorial}{Tutorial: 'Hello World'}
\o \l {QML Advanced Tutorial}{Tutorial: 'Same Game'}
-\o \l {QML Examples and Walkthroughs}
+\o \l {QML Examples and Demos}
\o \l {Using QML in C++ Applications}
\o \l {QML for Qt programmers}
\endlist
diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc
index 3d8325e..dc6b76c 100644
--- a/doc/src/declarative/examples.qdoc
+++ b/doc/src/declarative/examples.qdoc
@@ -41,18 +41,22 @@
/*!
\page qdeclarativeexamples.html
-\title QML Examples and Walkthroughs
+\title QML Examples and Demos
-\section1 Running Examples and Demos
+\previouspage Graphics View Examples
+\contentspage Qt Examples
+\nextpage Painting Examples
+
+\section1 Running the examples
You can find many simple examples in the \c examples/declarative
sub-directory that show how to use various aspects of QML. In addition, the
\c demos/declarative sub-directory contains more sophisticated demos of large
applications. These demos are intended to show integrated functionality
-rather than being instructive on specifice elements.
+rather than being instructive on specific elements.
-To run the examples and demos, use the included \l {Qt Declarative UI Runtime}{qml}
-application. It has some useful options, revealed by:
+To run the examples and demos, you can use Qt Creator or the included \l {Qt Declarative UI Runtime}{qml}
+command-line application. It has some useful options, revealed by:
\code
bin/qml -help
@@ -66,18 +70,19 @@ For example, from your build directory, run:
\section1 Examples
-These will be documented, and demonstrate how to achieve various things in QML.
+\list
+\o \l{declarative/focus}{Focus}
+\endlist
+
+\section1 Demos
-\table
-\row
- \o Elastic Dial
- \o \image dial-example.gif
-\row
- \o \l{qdeclarativeexampletoggleswitch.html}{Toggle Switch}
- \o \image switch-example.gif
-\row
- \o \l{QML Advanced Tutorial}{SameGame}
- \o \image declarative-adv-tutorial4.gif
-\endtable
+\list
+\o \l{demos/declarative/calculator}{Calculator}
+\o \l{demos/declarative/minehunt}{Minehunt}
+\o \l{demos/declarative/photoviewer}{Photo Viewer}
+\o \l{demos/declarative/flickr}{Flickr Mobile}
+\o \l{demos/declarative/samegame}{Same Game}
+\o \l{demos/declarative/snake}{Snake}
+\endlist
*/
diff --git a/doc/src/declarative/extending.qdoc b/doc/src/declarative/extending.qdoc
index a1d8a10..c27d091 100644
--- a/doc/src/declarative/extending.qdoc
+++ b/doc/src/declarative/extending.qdoc
@@ -59,7 +59,7 @@ QML for their own independent use.
\snippet examples/declarative/extending/adding/example.qml 0
The QML snippet shown above instantiates one \c Person instance and sets
-the name and shoeSize properties on it. Everything in QML ultimately comes down
+the \c name and \c shoeSize properties on it. Everything in QML ultimately comes down
to either instantiating an object instance, or assigning a property a value.
QML relies heavily on Qt's meta object system and can only instantiate classes
that derive from QObject.
@@ -124,7 +124,7 @@ the \c Person type.
\snippet examples/declarative/extending/properties/example.qml 0
The QML snippet shown above assigns a \c Person object to the \c BirthdayParty's
-celebrant property, and assigns three \c Person objects to the guests property.
+\c host property, and assigns three \c Person objects to the guests property.
QML can set properties of types that are more complex than basic intrinsics like
integers and strings. Properties can also be object pointers, Qt interface
@@ -133,12 +133,12 @@ is typesafe it ensures that only valid types are assigned to these properties,
just like it does for primitive types.
Properties that are pointers to objects or Qt interfaces are declared with the
-Q_PROPERTY() macro, just like other properties. The celebrant property
+Q_PROPERTY() macro, just like other properties. The \c host property
declaration looks like this:
\snippet examples/declarative/extending/properties/birthdayparty.h 1
-As long as the property type, in this case Person, is registered with QML the
+As long as the property type, in this case \c Person, is registered with QML the
property can be assigned.
QML also supports assigning Qt interfaces. To assign to a property whose type
@@ -158,12 +158,12 @@ Following registration, QML can coerce objects that implement this interface
for assignment to appropriately typed properties.
\endquotation
-The guests property is a list of \c Person objects. Properties that are lists
+The \c guests property is a list of \c Person objects. Properties that are lists
of objects or Qt interfaces are also declared with the Q_PROPERTY() macro, just
like other properties. List properties must have the type \c {QDeclarativeListProperty<T>}.
As with object properties, the type \a T must be registered with QML.
-The guest property declaration looks like this:
+The \c guest property declaration looks like this:
\snippet examples/declarative/extending/properties/birthdayparty.h 2
@@ -175,14 +175,14 @@ code used to create the \c BirthdayParty type.
\snippet examples/declarative/extending/coercion/example.qml 0
The QML snippet shown above assigns a \c Boy object to the \c BirthdayParty's
-celebrant property, and assigns three other objects to the guests property.
+\c host property, and assigns three other objects to the \c guests property.
-QML supports C++ inheritance heirarchies and can freely coerce between known,
+QML supports C++ inheritance hierarchies and can freely coerce between known,
valid object types. This enables the creation of common base classes that allow
the assignment of specialized classes to object or list properties. In the
-snippet shown, both the celebrant and the guests properties retain the Person
-type used in the previous section, but the assignment is valid as both the Boy
-and Girl objects inherit from Person.
+snippet shown, both the \c host and the \c guests properties retain the \c Person
+type used in the previous section, but the assignment is valid as both the \c Boy
+and \c Girl objects inherit from \c Person.
To assign to a property, the property's type must have been registered with QML.
Both the qmlRegisterType() and qmlRegisterInterface() template functions already
@@ -219,7 +219,7 @@ code used to create the \c Boy and \c Girl types.
The QML snippet shown above assigns a collection of objects to the
\c BirthdayParty's default property.
-The default property is a syntactic convenience that allows a type designer to
+The \e {default property} is a syntactic convenience that allows a type designer to
specify a single property as the type's default. The default property is
assigned to whenever no explicit property is specified. As a convenience, it is
behaviorally identical to assigning the default property explicitly by name.
@@ -257,12 +257,12 @@ may also simplify the implementation of common property collections across
different types through implementation reuse.
A grouped property block is implemented as a read-only object property. The
-shoe property shown is declared like this:
+\c shoe property shown is declared like this:
\snippet examples/declarative/extending/grouped/person.h 1
-The ShoeDescription type declares the properties available to the grouped
-property block - in this case the size, color, brand and price properties.
+The \c ShoeDescription type declares the properties available to the grouped
+property block - in this case the \c size, \c color, \c brand and \c price properties.
Grouped property blocks may declared and accessed be recusively.
@@ -273,7 +273,7 @@ implement the \c shoe property grouping.
\snippet examples/declarative/extending/attached/example.qml 1
-The QML snippet shown above assigns the rsvp property using the attached
+The QML snippet shown above assigns the \c rsvp property using the attached
property syntax.
Attached properties allow unrelated types to annotate other types with some
@@ -282,7 +282,7 @@ identified through the use of the attacher type name, in the case shown
\c BirthdayParty, as a suffix to the property name.
In the example shown, \c BirthdayParty is called the attaching type, and the
-Boy instance the attachee object instance.
+\c Boy instance the attachee object instance.
For the attaching type, an attached property block is implemented as a new
QObject derived type, called the attachment object. The properties on the
@@ -326,7 +326,7 @@ their effect may be so limited.
For example, a common usage scenario is for a type to enhance the properties
available to its children in order to gather instance specific data. Here we
-add a rsvp field to all the guests coming to a birthday party:
+add a \c rsvp field to all the guests coming to a birthday party:
\code
BirthdayParty {
Boy { BirthdayParty.rsvp: "2009-06-01" }
@@ -362,7 +362,7 @@ implement the rsvp attached property.
\section1 Memory Management and QVariant types
-It is an elements responsibility to ensure that it does not access or return
+It is an element's responsibility to ensure that it does not access or return
pointers to invalid objects. QML makes the following guarentees:
\list
@@ -427,7 +427,7 @@ implement the onPartyStarted signal property.
\snippet examples/declarative/extending/valuesource/example.qml 0
\snippet examples/declarative/extending/valuesource/example.qml 1
-The QML snippet shown above assigns a property value to the speaker property.
+The QML snippet shown above applies a property value source to the \c announcment property.
A property value source generates a value for a property that changes over time.
Property value sources are most commonly used to do animation. Rather than
@@ -435,9 +435,9 @@ constructing an animation object and manually setting the animation's "target"
property, a property value source can be assigned directly to a property of any
type and automatically set up this association.
-The example shown here is rather contrived: the speaker property of the
-BirthdayParty object is a string that is printed every time it is assigned and
-the HappyBirthday value source generates the lyrics of the song
+The example shown here is rather contrived: the \c announcment property of the
+\c BirthdayParty object is a string that is printed every time it is assigned and
+the \c HappyBirthdaySong value source generates the lyrics of the song
"Happy Birthday".
\snippet examples/declarative/extending/valuesource/birthdayparty.h 0
@@ -451,11 +451,11 @@ Property value sources are special types that derive from the
QDeclarativePropertyValueSource base class. This base class contains a single method,
QDeclarativePropertyValueSource::setTarget(), that the QML engine invokes when
associating the property value source with a property. The relevant part of
-the HappyBirthday type declaration looks like this:
+the \c HappyBirthdaySong type declaration looks like this:
-\snippet examples/declarative/extending/valuesource/happybirthday.h 0
-\snippet examples/declarative/extending/valuesource/happybirthday.h 1
-\snippet examples/declarative/extending/valuesource/happybirthday.h 2
+\snippet examples/declarative/extending/valuesource/happybirthdaysong.h 0
+\snippet examples/declarative/extending/valuesource/happybirthdaysong.h 1
+\snippet examples/declarative/extending/valuesource/happybirthdaysong.h 2
In all other respects, property value sources are regular QML types. They must
be registered with the QML engine using the same macros as other types, and can
@@ -463,11 +463,11 @@ contain properties, signals and methods just like other types.
When a property value source object is assigned to a property, QML first tries
to assign it normally, as though it were a regular QML type. Only if this
-assignment fails does the engine call the setTarget() method. This allows
+assignment fails does the engine call the \l {QDeclarativePropertyValueSource::}{setTarget()} method. This allows
the type to also be used in contexts other than just as a value source.
\l {Extending QML - Property Value Source Example} shows the complete code used
-implement the HappyBirthday property value source.
+implement the \c HappyBirthdaySong property value source.
\section1 Property Binding
@@ -475,7 +475,7 @@ implement the HappyBirthday property value source.
\snippet examples/declarative/extending/binding/example.qml 1
The QML snippet shown above uses a property binding to ensure the
-HappyBirthday's name property remains up to date with the celebrant.
+\c HappyBirthdaySong's \c name property remains up to date with the \c host.
Property binding is a core feature of QML. In addition to assigning literal
values, property bindings allow the developer to assign an arbitrarily complex
@@ -488,9 +488,9 @@ All properties on custom types automatically support property binding. However,
for binding to work correctly, QML must be able to reliably determine when a
property has changed so that it knows to reevaluate any bindings that depend on
the property's value. QML relies on the presence of a
-\c {Qt's Property System}{NOTIFY signal} for this determination.
+\l {Qt's Property System}{NOTIFY signal} for this determination.
-Here is the celebrant property declaration:
+Here is the \c host property declaration:
\snippet examples/declarative/extending/binding/birthdayparty.h 0
diff --git a/doc/src/declarative/globalobject.qdoc b/doc/src/declarative/globalobject.qdoc
index e2152b3..d729d4f 100644
--- a/doc/src/declarative/globalobject.qdoc
+++ b/doc/src/declarative/globalobject.qdoc
@@ -293,11 +293,81 @@ of their use.
been loaded, and so it is safe to use createQmlObject to load built-in
components.
-\section1 Asynchronous JavaScript and XML
-QML script supports the XMLHttpRequest object, which can be used to asynchronously obtain data from over a network.
-\section2 XMLHttpRequest()
-In QML you can construct an XMLHttpRequest object just like in a web browser! TODO: Real documentation for this object.
+\section1 XMLHttpRequest
+\target XMLHttpRequest
+
+QML script supports the XMLHttpRequest object, which can be used to asynchronously obtain
+data from over a network.
+
+The XMLHttpRequest API implements the same \l {http://www.w3.org/TR/XMLHttpRequest/}{W3C standard}
+as many popular web browsers with following exceptions:
+\list
+\i QML's XMLHttpRequest does not enforce the same origin policty.
+\i QML's XMLHttpRequest does not support \e synchronous requests.
+\endlist
+
+Additionally, the \c responseXML XML DOM tree currently supported by QML is a reduced subset
+of the \l {http://www.w3.org/TR/DOM-Level-3-Core/}{DOM Level 3 Core} API supported in a web
+browser. The following objects and properties are supported by the QML implementation:
+
+\table
+\header
+\o \bold {Node}
+\o \bold {Document}
+\o \bold {Element}
+\o \bold {Attr}
+\o \bold {CharacterData}
+\o \bold {Text}
+
+\row
+\o
+\list
+\o nodeName
+\o nodeValue
+\o nodeType
+\o parentNode
+\o childNodes
+\o firstChild
+\o lastChild
+\o previousSibling
+\o nextSibling
+\o attribtes
+\endlist
+
+\o
+\list
+\o xmlVersion
+\o xmlEncoding
+\o xmlStandalone
+\o documentElement
+\endlist
+
+\o
+\list
+\o tagName
+\endlist
+
+\o
+\list
+\o name
+\o value
+\o ownerElement
+\endlist
+
+\o
+\list
+\o data
+\o length
+\endlist
+
+\o
+\list
+\o isElementContentWhitespace
+\o wholeText
+\endlist
+
+\endtable
\section1 Offline Storage API
diff --git a/doc/src/declarative/propertybinding.qdoc b/doc/src/declarative/propertybinding.qdoc
index 02f9868..ab3682d 100644
--- a/doc/src/declarative/propertybinding.qdoc
+++ b/doc/src/declarative/propertybinding.qdoc
@@ -78,16 +78,52 @@ Rectangle {
}
\endcode
-Being JavaScript expressions, bindings are evaluated in a scope chain. The \l {QML Scope}
-documentation covers the specifics of scoping in QML.
-
-\list
-\o When does a binding not get updated?
-\o Scope
-\o Assigning a constant/other binding clears existing binding
-\o Loops
-\o Using model data
-\endlist
+While syntactically bindings can be of arbitrary complexity, if a binding starts to become
+overly complex - such as involving multiple lines, or imperative loops - it may be better
+to refactor the component entirely, or at least factor the binding out into a separate
+function.
+
+\section1 Changing Bindings
+
+The \l PropertyChanges element can be used within a state change to modify the bindings on
+properties.
+
+This example modifies the \l Rectangle's width property binding to be \c {otherItem.height}
+when in the "square" state. When it returns to its default state, width's original property
+binding will have been restored.
+
+\code
+Rectangle {
+ id: rectangle
+ width: otherItem.width
+ height: otherItem.height
+
+ states: State {
+ name: "square"
+ PropertyChanges {
+ target: rectangle
+ width: otherItem.height
+ }
+ }
+}
+\endcode
+
+Imperatively assigning a value directly to a property will also implicitly remove a binding
+on a property. A property can only have one value at a time, and if code explicitly sets
+this value the binding must be removed. The \l Rectangle in the example below will have
+a width of 13, regardless of the otherItem's width.
+
+\code
+Rectangle {
+ width: otherItem.width
+
+ Component.onCompleted: {
+ width = 13;
+ }
+}
+\endcode
+
+There is no way to create a property binding directly from imperative JavaScript code.
\section1 Binding Element
diff --git a/doc/src/declarative/qdeclarativemodels.qdoc b/doc/src/declarative/qdeclarativemodels.qdoc
index d8b2a5d..eecc117 100644
--- a/doc/src/declarative/qdeclarativemodels.qdoc
+++ b/doc/src/declarative/qdeclarativemodels.qdoc
@@ -206,8 +206,16 @@ The default role names set by Qt are:
\endtable
QAbstractItemModel presents a heirachy of tables. Views currently provided by QML
-can only display list data. In order to display child lists of a heirachical model
-use the VisualDataModel element with \e rootIndex set to a parent node.
+can only display list data.
+In order to display child lists of a heirachical model
+the VisualDataModel element provides several properties and functions for use
+with models of type QAbstractItemModel:
+\list
+\o \e hasModelChildren role property to determine whether a node has child nodes.
+\o \l VisualDataModel::rootIndex allows the root node to be specifed
+\o \l VisualDataModel::modelIndex() returns a QModelIndex which can be assigned to VisualDataModel::rootIndex
+\o \l VisualDataModel::parentModelIndex() returns a QModelIndex which can be assigned to VisualDataModel::rootIndex
+\endlist
\section2 QStringList
diff --git a/doc/src/declarative/qdeclarativereference.qdoc b/doc/src/declarative/qdeclarativereference.qdoc
index b2cfba8..4c1f449 100644
--- a/doc/src/declarative/qdeclarativereference.qdoc
+++ b/doc/src/declarative/qdeclarativereference.qdoc
@@ -55,7 +55,7 @@
That is, you specify \e what the UI should look like and how it should behave
rather than specifying step-by-step \e how to build it. Specifying a UI declaratively
does not just include the layout of the interface items, but also the way each
- individual item looks and behaves and the overall flow of the application.
+ individual item looks and behaves and the overall flow of the application.
The QML elements provide a sophisticated set of graphical and behavioral building
blocks. These different elements are combined together in \l {QML Documents}{QML documents} to build components
@@ -67,7 +67,7 @@
\o \l {Introduction to the QML language}
\o \l {QML Tutorial}{Tutorial: 'Hello World'}
\o \l {QML Advanced Tutorial}{Advanced Tutorial: 'Same Game'}
- \o \l {QML Examples and Walkthroughs}
+ \o \l {QML Examples and Demos}
\endlist
\section1 Core QML Features:
diff --git a/doc/src/declarative/qdeclarativesecurity.qdoc b/doc/src/declarative/qdeclarativesecurity.qdoc
index 290d78f..91d6d87 100644
--- a/doc/src/declarative/qdeclarativesecurity.qdoc
+++ b/doc/src/declarative/qdeclarativesecurity.qdoc
@@ -72,7 +72,7 @@ A non-exhaustive list of the ways you could shoot yourself in the foot is:
\list
\i Using \c import to import QML or JavaScript you do not control. BAD
\i Using \l Loader to import QML you do not control. BAD
- \i Using \l{XMLHttpRequest()}{XMLHttpRequest} to load data you do not control and executing it. BAD
+ \i Using \l{XMLHttpRequest}{XMLHttpRequest} to load data you do not control and executing it. BAD
\endlist
However, the above does not mean that you have no use for the network transparency of QML.
@@ -81,7 +81,7 @@ There are many good and useful things you \e can do:
\list
\i Create \l Image elements with source URLs of any online images. GOOD
\i Use XmlListModel to present online content. GOOD
- \i Use \l{XMLHttpRequest()}{XMLHttpRequest} to interact with online services. GOOD
+ \i Use \l{XMLHttpRequest}{XMLHttpRequest} to interact with online services. GOOD
\endlist
The only reason this page is necessary at all is that JavaScript, when run in a \e{web browser},
diff --git a/doc/src/declarative/qtdeclarative.qdoc b/doc/src/declarative/qtdeclarative.qdoc
index b4d8a2e..5d1e18f 100644
--- a/doc/src/declarative/qtdeclarative.qdoc
+++ b/doc/src/declarative/qtdeclarative.qdoc
@@ -79,7 +79,7 @@
\relates QDeclarativeEngine
This template function registers the C++ type in the QML system with
- the name \a qmlName. in the library imported from \a uri having the
+ the name \a qmlName, in the library imported from \a uri having the
version number composed from \a versionMajor and \a versionMinor.
Returns the QML type id.
@@ -94,6 +94,59 @@
*/
/*!
+ \fn int qmlRegisterUncreatableType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& message)
+ \relates QDeclarativeEngine
+
+ This template function registers the C++ type in the QML system with
+ the name \a qmlName, in the library imported from \a uri having the
+ version number composed from \a versionMajor and \a versionMinor.
+
+ While the type has a name and a type, it cannot be created, and the
+ given error \a message will result if creation is attempted.
+
+ This is useful where the type is only intended for providing attached properties or enum values.
+
+ Returns the QML type id.
+
+ \sa qmlRegisterTypeNotAvailable
+*/
+
+/*!
+ \fn int qmlRegisterTypeNotAvailable(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& message)
+ \relates QDeclarativeEngine
+
+ This function registers a type in the QML system with the name \a qmlName, in the library imported from \a uri having the
+ version number composed from \a versionMajor and \a versionMinor, but any attempt to instantiate the type
+ will produce the given error \a message.
+
+ Normally, the types exported by a module should be fixed. However, if a C++ type is not available, you should
+ at least "reserve" the QML type name, and give the user of your module a meaningful error message.
+
+ Returns the QML type id.
+
+ Example:
+
+ \code
+ #ifdef NO_GAMES_ALLOWED
+ qmlRegisterTypeNotAvailable("MinehuntCore", 0, 1, "Game", "Get back to work, slacker!");
+ #else
+ qmlRegisterType<MinehuntGame>("MinehuntCore", 0, 1, "Game");
+ #endif
+ \endcode
+
+ This will cause any QML which uses this module and attempts to use the type to produce an error message:
+ \code
+fun.qml: Get back to work, slacker!
+ Game {
+ ^
+ \endcode
+
+ Without this, a generic "Game is not a type" message would be given.
+
+ \sa qmlRegisterUncreatableType
+*/
+
+/*!
\fn int qmlRegisterType()
\relates QDeclarativeEngine
\overload
diff --git a/doc/src/examples/qml-calculator.qdoc b/doc/src/examples/qml-calculator.qdoc
new file mode 100644
index 0000000..ca05da9
--- /dev/null
+++ b/doc/src/examples/qml-calculator.qdoc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \title Calculator
+ \example demos/declarative/calculator
+
+ This demo shows how to write a simple calculator application in QML and JavaScript.
+
+ \image qml-calculator-example.png
+*/
diff --git a/doc/src/examples/qml-flickr.qdoc b/doc/src/examples/qml-flickr.qdoc
new file mode 100644
index 0000000..ebf3250
--- /dev/null
+++ b/doc/src/examples/qml-flickr.qdoc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \title Flickr Mobile
+ \example demos/declarative/flickr
+
+ This demo shows how to write a mobile Flickr browser application in QML.
+
+ \image qml-flickr-example.png
+*/
diff --git a/doc/src/examples/qml-focus.qdoc b/doc/src/examples/qml-focus.qdoc
new file mode 100644
index 0000000..92d93b2
--- /dev/null
+++ b/doc/src/examples/qml-focus.qdoc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \title Focus
+ \example declarative/focus
+
+ This example shows how to handle keys and focus in QML.
+
+ \image qml-focus-example.png
+*/
diff --git a/doc/src/examples/qml-minehunt.qdoc b/doc/src/examples/qml-minehunt.qdoc
new file mode 100644
index 0000000..773f216
--- /dev/null
+++ b/doc/src/examples/qml-minehunt.qdoc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \title Minehunt
+ \example demos/declarative/minehunt
+
+ This demo shows how to create a simple Minehunt game with QML and C++.
+
+ \image qml-minehunt-example.png
+*/
diff --git a/doc/src/examples/qml-photoviewer.qdoc b/doc/src/examples/qml-photoviewer.qdoc
new file mode 100644
index 0000000..d1c3da2
--- /dev/null
+++ b/doc/src/examples/qml-photoviewer.qdoc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \title Photo Viewer
+ \example demos/declarative/photoviewer
+
+ This demo shows how to write a Flickr photo viewer application in QML.
+
+ \image qml-photoviewer-example.png
+*/
diff --git a/doc/src/examples/qml-samegame.qdoc b/doc/src/examples/qml-samegame.qdoc
new file mode 100644
index 0000000..d9a9c7c
--- /dev/null
+++ b/doc/src/examples/qml-samegame.qdoc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \title Same Game
+ \example demos/declarative/samegame
+
+ This demo shows how to write a Same Game in QML.
+
+ \image qml-samegame-example.png
+*/
diff --git a/doc/src/examples/qml-snake.qdoc b/doc/src/examples/qml-snake.qdoc
new file mode 100644
index 0000000..373ca13
--- /dev/null
+++ b/doc/src/examples/qml-snake.qdoc
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \title Snake
+ \example demos/declarative/snake
+
+ This demo shows how to write a Snake game in QML.
+
+ \image qml-snake-example.png
+*/
diff --git a/doc/src/getting-started/examples.qdoc b/doc/src/getting-started/examples.qdoc
index 885e96c..071a107 100644
--- a/doc/src/getting-started/examples.qdoc
+++ b/doc/src/getting-started/examples.qdoc
@@ -151,6 +151,16 @@
classes.
\clearfloat
+ \section1 \l{QML Examples and Demos}{Declarative}
+ \beginfloatleft
+ \l{QML Examples and Demos}{\inlineimage declarative-examples.png
+ }
+
+ \endfloat
+ The Qt Declarative module provides a declarative framework for building
+ highly dynamic, custom user interfaces.
+
+ \clearfloat
\section1 \l{Painting Examples}{Painting}
\beginfloatleft
\l{Painting Examples}{\inlineimage painting-examples.png
@@ -626,7 +636,7 @@
\previouspage Item Views Examples
\contentspage Qt Examples
- \nextpage Painting Examples
+ \nextpage QML Examples and Demos
\image graphicsview-examples.png
@@ -669,7 +679,7 @@
\page examples-painting.html
\title Painting Examples
- \previouspage Graphics View Examples
+ \previouspage QML Examples and Demos
\contentspage Qt Examples
\nextpage Rich Text Examples
@@ -1323,7 +1333,7 @@
\o \l{dbus/complexpingpong}{Complex Ping Pong}
\o \l{dbus/listnames}{List Names}
\o \l{dbus/pingpong}{Ping Pong}
- \o \l{dbus/remotecontrolledcar}{Remote Controlled Car}
+ \o \l{dbus/remotecontrolledcar}{Remote Controlled Car}
\endlist
Examples marked with an asterisk (*) are fully documented.
diff --git a/doc/src/images/declarative-examples.png b/doc/src/images/declarative-examples.png
new file mode 100644
index 0000000..913dfac
--- /dev/null
+++ b/doc/src/images/declarative-examples.png
Binary files differ
diff --git a/doc/src/images/qml-calculator-example.png b/doc/src/images/qml-calculator-example.png
new file mode 100644
index 0000000..19ce1b6
--- /dev/null
+++ b/doc/src/images/qml-calculator-example.png
Binary files differ
diff --git a/doc/src/images/qml-flickr-example.png b/doc/src/images/qml-flickr-example.png
new file mode 100644
index 0000000..71ea567
--- /dev/null
+++ b/doc/src/images/qml-flickr-example.png
Binary files differ
diff --git a/doc/src/images/qml-focus-example.png b/doc/src/images/qml-focus-example.png
new file mode 100644
index 0000000..5a114a0
--- /dev/null
+++ b/doc/src/images/qml-focus-example.png
Binary files differ
diff --git a/doc/src/images/qml-minehunt-example.png b/doc/src/images/qml-minehunt-example.png
new file mode 100644
index 0000000..3b69569
--- /dev/null
+++ b/doc/src/images/qml-minehunt-example.png
Binary files differ
diff --git a/doc/src/images/qml-photoviewer-example.png b/doc/src/images/qml-photoviewer-example.png
new file mode 100644
index 0000000..be6f1bf
--- /dev/null
+++ b/doc/src/images/qml-photoviewer-example.png
Binary files differ
diff --git a/doc/src/images/qml-samegame-example.png b/doc/src/images/qml-samegame-example.png
new file mode 100644
index 0000000..c17b4e0
--- /dev/null
+++ b/doc/src/images/qml-samegame-example.png
Binary files differ
diff --git a/doc/src/images/qml-snake-example.png b/doc/src/images/qml-snake-example.png
new file mode 100644
index 0000000..d3c077d
--- /dev/null
+++ b/doc/src/images/qml-snake-example.png
Binary files differ
diff --git a/doc/src/index.qdoc b/doc/src/index.qdoc
index 71060f8..2f23e6e 100644
--- a/doc/src/index.qdoc
+++ b/doc/src/index.qdoc
@@ -43,8 +43,6 @@
\page index.html
\keyword Qt Reference Documentation
- \title Qt Reference Documentation
-
\raw HTML
<div class="indexbox" >
<div class="heading">
diff --git a/doc/src/template/images/bullet_dn.png b/doc/src/template/images/bullet_dn.png
new file mode 100644
index 0000000..f776247
--- /dev/null
+++ b/doc/src/template/images/bullet_dn.png
Binary files differ
diff --git a/doc/src/template/images/bullet_up.png b/doc/src/template/images/bullet_up.png
new file mode 100644
index 0000000..285e741
--- /dev/null
+++ b/doc/src/template/images/bullet_up.png
Binary files differ
diff --git a/doc/src/template/images/header.png b/doc/src/template/images/header.png
new file mode 100644
index 0000000..141488b
--- /dev/null
+++ b/doc/src/template/images/header.png
Binary files differ
diff --git a/doc/src/template/scripts/functions.js b/doc/src/template/scripts/functions.js
index c510410..fa454e3 100755
--- a/doc/src/template/scripts/functions.js
+++ b/doc/src/template/scripts/functions.js
@@ -1,7 +1,7 @@
/* START non link areas where cursor should change to pointing hand */
$('.t_button').mouseover(function() {
- $(this).css('cursor','pointer');
+ $('.t_button').css('cursor','pointer');
/*document.getElementById(this.id).style.cursor='pointer';*/
});
@@ -17,17 +17,20 @@ $('#medA').click(function() {
$('.content h1').css('font','600 18px/1.2 Arial');
$('.content h2').css('font','600 16px/1.2 Arial');
$('.content h3').css('font','600 14px/1.2 Arial');
- $('.content p').css('font','13px/1.2 Verdana');
- $('.content li').css('font','600 10pt/1 Verdana');
+ $('.content p').css('font','13px/20px Verdana');
+ $('.content li').css('font','400 13px/1 Verdana');
$('.content li').css('line-height','14px');
+ $('.content .toc li').css('font', 'normal 10px/1.2 Verdana');
$('.content table').css('font','13px/1.2 Verdana');
+ $('.content .heading').css('font','600 16px/1 Arial');
+ $('.content .indexboxcont li').css('font','600 13px/1 Verdana');
$('.t_button').removeClass('active')
$(this).addClass('active')
});
$('#bigA').click(function() {
$('.content .heading,.content h1, .content h2, .content h3, .content p, .content li, .content table').css('font-size','large');
- $('.content li').css('line-height','14px');
+ $('.content .heading,.content h1, .content h2, .content h3, .content p, .content li, .content table').css('line-height','25px');
$('.t_button').removeClass('active')
$(this).addClass('active')
});
@@ -36,7 +39,7 @@ function doSearch(str){
if (str.length>3)
{
- alert('start search');
+ alert('Search is not yet activated.');
// document.getElementById("refWrapper").innerHTML="";
return;
}
diff --git a/doc/src/template/style/style.css b/doc/src/template/style/style.css
index 94a95a5..d5920b9 100755
--- a/doc/src/template/style/style.css
+++ b/doc/src/template/style/style.css
@@ -73,6 +73,7 @@
{
font-size: 100%;
}
+ /* Page style */
html
{
background-color: #e5e5e5;
@@ -101,7 +102,6 @@
{
background: url(../images/bg_r.png) repeat-y 100% 0;
}
-
.wrapper .hd
{
padding-left: 216px;
@@ -109,12 +109,10 @@
background: url(../images/bg_ul.png) no-repeat 0 0;
overflow: hidden;
}
-
.offline .wrapper .hd
{
background: url(../images/bg_ul_blank.png) no-repeat 0 0;
}
-
.wrapper .hd span
{
height: 15px;
@@ -122,23 +120,19 @@
background: url(../images/bg_ur.png) no-repeat 100% 0;
overflow: hidden;
}
-
.offline .wrapper .hd span
{
/* background: url(../images/bg_ur_blank.png) no-repeat 100% 0; */
}
-
.wrapper .bd
{
background: url(../images/bg_l.png) repeat-y 0 0;
position: relative;
}
-
.offline .wrapper .bd
{
background: url(../images/bg_l_blank.png) repeat-y 0 0;
}
-
.wrapper .ft
{
padding-left: 216px;
@@ -146,12 +140,10 @@
background: url(../images/bg_ll.png) no-repeat 0 0;
overflow: hidden;
}
-
.offline .wrapper .ft
{
background: url(../images/bg_ll_blank.png) no-repeat 0 0;
}
-
.wrapper .ft span
{
height: 15px;
@@ -159,34 +151,23 @@
background: url(../images/bg_lr.png) no-repeat 100% 0;
overflow: hidden;
}
-
.header, .footer
{
display: block;
clear: both;
overflow: hidden;
}
-
- /* .header
- {
- height: 130px;
- position: relative;
- }
- */
-
.header
{
height: 115px;
position: relative;
}
-
.header .icon
{
position: absolute;
top: 13px;
left: 0;
}
-
.header .qtref
{
position: absolute;
@@ -195,7 +176,6 @@
width: 302px;
height: 22px;
}
-
.header .qtref span
{
display: block;
@@ -204,7 +184,184 @@
text-indent: -999em;
background: url(../images/qt_ref_doc.png) no-repeat 0 0;
}
+ /* header elements */
+ #nav-topright
+ {
+ height: 70px;
+ }
+
+ #nav-topright ul
+ {
+ list-style-type: none;
+ float: right;
+ width: 370px;
+ margin-top: 11px;
+ }
+
+ #nav-topright li
+ {
+ display: inline-block;
+ margin-right: 20px;
+ float: left;
+ }
+
+ #nav-topright li.nav-topright-last
+ {
+ margin-right: 0;
+ }
+
+ #nav-topright li a
+ {
+ background: transparent url(../images/sprites-combined.png) no-repeat;
+ height: 18px;
+ display: block;
+ overflow: hidden;
+ text-indent: -9999px;
+ }
+
+ #nav-topright li.nav-topright-home a
+ {
+ width: 65px;
+ background-position: -2px -91px;
+ }
+
+ #nav-topright li.nav-topright-home a:hover
+ {
+ background-position: -2px -117px;
+ }
+
+
+ #nav-topright li.nav-topright-dev a
+ {
+ width: 30px;
+ background-position: -76px -91px;
+ }
+
+ #nav-topright li.nav-topright-dev a:hover
+ {
+ background-position: -76px -117px;
+ }
+
+
+ #nav-topright li.nav-topright-labs a
+ {
+ width: 40px;
+ background-position: -114px -91px;
+ }
+
+ #nav-topright li.nav-topright-labs a:hover
+ {
+ background-position: -114px -117px;
+ }
+
+ #nav-topright li.nav-topright-doc a
+ {
+ width: 32px;
+ background-position: -162px -91px;
+ }
+
+ #nav-topright li.nav-topright-doc a:hover, #nav-topright li.nav-topright-doc-active a
+ {
+ background-position: -162px -117px;
+ }
+
+ #nav-topright li.nav-topright-blog a
+ {
+ width: 40px;
+ background-position: -203px -91px;
+ }
+
+ #nav-topright li.nav-topright-blog a:hover, #nav-topright li.nav-topright-blog-active a
+ {
+ background-position: -203px -117px;
+ }
+
+ #nav-topright li.nav-topright-shop a
+ {
+ width: 40px;
+ background-position: -252px -91px;
+ }
+ #nav-topright li.nav-topright-shop a:hover, #nav-topright li.nav-topright-shop-active a
+ {
+ background-position: -252px -117px;
+ }
+
+ #nav-logo
+ {
+ background: transparent url( "../images/sprites-combined.png" ) no-repeat 0 -225px;
+ left: -3px;
+ position: absolute;
+ width: 75px;
+ height: 75px;
+ top: 13px;
+ }
+ #nav-logo a
+ {
+ width: 75px;
+ height: 75px;
+ display: block;
+ text-indent: -9999px;
+ overflow: hidden;
+ }
+ /* Clearing */
+ .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
+ {
+ content: ".";
+ display: block;
+ height: 0;
+ clear: both;
+ visibility: hidden;
+ }
+ /* ^ Clearing */
+
+
+
+ .shortCut-topleft-inactive
+ {
+ padding-left: 3px;
+ background: transparent url( "../images/sprites-combined.png" ) no-repeat 0px -58px;
+ height: 20px;
+ width: 93px;
+ }
+ .shortCut-topleft-inactive span
+ {
+ font-variant: normal;
+ }
+ #shortCut
+ {
+ padding-top: 10px;
+ font-weight: bolder;
+ color: #b0adab;
+ }
+ #shortCut ul
+ {
+ list-style-type: none;
+ float: left;
+ width: 347px;
+ margin-left: 100px;
+ }
+ #shortCut li
+ {
+ display: inline-block;
+ margin-right: 25px;
+ float: left;
+ white-space: nowrap;
+ }
+ #shortCut li a
+ {
+ color: #b0adab;
+ text-decoration: none;
+ }
+ #shortCut li a:hover
+ {
+ color: #44a51c;
+ text-decoration: none;
+ }
+
+ /* end of header elements */
+
+ /* menu element */
.sidebar
{
float: left;
@@ -212,7 +369,6 @@
width: 200px;
font-size: 11px;
}
-
.sidebar a
{
color: #00732f;
@@ -222,19 +378,15 @@
{
display: none;
}
-
.sidebar .searchlabel
{
padding: 0 0 2px 17px;
font: normal bold 11px/1.2 Verdana;
}
-
.sidebar .search
{
padding: 0 15px 0 16px;
}
-
-
.sidebar .search form
{
width: 167px;
@@ -242,7 +394,6 @@
padding: 2px 0 0 5px;
background: url(../images/form_bg.png) no-repeat 0 0;
}
-
.sidebar .search form fieldset input#searchstring
{
width: 158px;
@@ -252,84 +403,66 @@
outline: none;
font: 13px/1.2 Verdana;
}
-
.sidebar .box
{
padding: 17px 15px 5px 16px;
}
-
.sidebar .box .first
{
background-image: none;
}
-
.sidebar .box h2
{
font: normal 18px/1.2 Arial;
padding: 15px 0 0 40px;
min-height: 32px;
}
-
.sidebar .box#lookup h2
{
background: url(../images/api_lookup.png) no-repeat 0 0;
}
-
.sidebar .box#topics h2
{
background: url(../images/api_topics.png) no-repeat 0 0;
}
-
.sidebar .box#examples h2
{
background: url(../images/api_examples.png) no-repeat 0 0;
}
-
.sidebar .box .list
{
display: block;
}
-
.sidebar .box .live
{
display: none;
height: 100px;
overflow: auto;
}
-
.list li a:hover, .live li a:hover
{
text-decoration: underline;
}
-
-
- .sidebar .box ul
- {
- }
-
.sidebar .box ul li
{
padding-left: 12px;
background: url(../images/bullet_gt.png) no-repeat 0 5px;
margin-bottom: 15px;
}
-
.sidebar .bottombar
{
background: url(../images/box_bg.png) repeat-x 0 bottom;
}
-
+ /* content elements */
.wrap
{
- /* margin: 0 5px 0 0px;*/
overflow: hidden;
}
-
.offline .wrap
{
margin: 0 5px 0 5px;
}
-
+ /* tool bar */
.wrap .toolbar
{
background-color: #fafafa;
@@ -339,12 +472,10 @@
margin-right: 5px;
position: relative;
}
-
.wrap .toolbar .toolblock
{
position: absolute;
}
-
.wrap .toolbar .breadcrumb
{
font-size: 11px;
@@ -359,12 +490,10 @@
vertical-align: top;
overflow: hidden;
}
-
.wrap .toolbar .toolbuttons .active
{
color: #00732F;
}
-
.wrap .toolbar .toolbuttons ul
{
float: right;
@@ -378,7 +507,6 @@
font-weight: bold;
color: #B0ADAB;
}
-
#smallA
{
font-size: 10pt;
@@ -391,31 +519,20 @@
{
font-size: 14pt;
}
-
#smallA:hover, #medA:hover, #bigA:hover
{
color: #00732F;
}
-
#print
{
font-size: 14pt;
line-height: 20pt;
}
-
#printIcon
{
margin-left: 5px;
}
-
- .offline .wrap .breadcrumb
- {
- }
-
- .wrap .breadcrumb ul
- {
- }
-
+ /* bread crumbs */
.wrap .breadcrumb ul li
{
float: left;
@@ -424,105 +541,87 @@
margin-left: 15px;
font-weight: bold;
}
-
.wrap .breadcrumb ul li.last
{
font-weight: normal;
}
-
- .wrap .breadcrumb ul li a
- {
- }
-
.wrap .breadcrumb ul li.first
{
background-image: none;
padding-left: 0;
margin-left: 0;
}
-
.wrap .content
{
- /* left 30 top 27*/
padding: 30px;
position: relative;
}
-
+ /* text elements */
.heading
{
font: normal 600 16px/1.0 Arial;
padding-bottom: 15px;
}
+ .subtitle
+ {
+ font-size: 13px;
+ }
+
+ .small-subtitle
+ {
+ font-size: 13px;
+ }
+
.wrap .content h1
{
font: 600 18px/1.2 Arial;
padding-bottom: 15px;
}
-
.wrap .content h2
{
font: 600 16px/1.2 Arial;
}
-
.wrap .content h3
{
font: 600 14px/1.2 Arial;
}
-
-
-
.wrap .content p
{
- padding-bottom: 10px;
+ line-height:20px;
+ padding:10px 5px 10px 5px;
}
-
.wrap .content ul
{
- padding-left: 15px;
+ padding-left: 25px;
}
.wrap .content li
{
padding-left: 12px;
background: url(../images/bullet_sq.png) no-repeat 0 5px;
- font: normal 600 10pt/1 Verdana;
+ font: normal 400 10pt/1 Verdana;
margin-bottom: 10px;
line-height: 14px;
}
-
- .content li:hover
- {
- text-decoration: none;
- }
-
- .content li
- {
- text-decoration: none;
- }
-
- /*.content*/ a
+ a
{
color: #00732F;
text-decoration: none;
}
-
- .content a:hover
+ a:hover
{
color: #4c0033;
text-decoration: underline;
}
-
.content a:visited
{
color: #4c0033;
+ text-decoration: none;
}
-
.offline .wrap .content
{
padding-top: 15px;
}
-
-
.footer
{
min-height: 100px;
@@ -531,7 +630,6 @@
text-align: center;
padding-top: 40px;
}
-
.feedback
{
float: right;
@@ -539,7 +637,6 @@
font: normal 8px/1 Verdana;
color: #B0ADAB;
}
-
.feedback:hover
{
float: right;
@@ -547,196 +644,6 @@
color: #00732F;
text-decoration: underline;
}
-
-
-
- /* Clearing */
- .header:after, .footer:after, .breadcrumb:after, .wrap .content:after, .group:after
- {
- content: ".";
- display: block;
- height: 0;
- clear: both;
- visibility: hidden;
- }
- /* ^ Clearing */
-
-
- /* header elements */
-
-
- #nav-topright
- {
- height: 70px;
- }
-
- #nav-topright ul
- {
- list-style-type: none;
- float: right;
- width: 347px;
- margin-top: 11px;
- }
-
- #nav-topright li
- {
- display: inline-block;
- margin-right: 20px;
- float: left;
- }
-
- #nav-topright li.nav-topright-last
- {
- margin-right: 0;
- }
-
- #nav-topright li a
- {
- background: transparent url(../images/sprites-combined.png) no-repeat;
- height: 18px;
- display: block;
- overflow: hidden;
- text-indent: -9999px;
- }
-
- #nav-topright li.nav-topright-home a
- {
- width: 65px;
- background-position: -2px -91px;
- }
-
- #nav-topright li.nav-topright-home a:hover
- {
- background-position: -2px -117px;
- }
-
-
- #nav-topright li.nav-topright-dev a
- {
- width: 30px;
- background-position: -76px -91px;
- }
-
- #nav-topright li.nav-topright-dev a:hover
- {
- background-position: -76px -117px;
- }
-
-
- #nav-topright li.nav-topright-labs a
- {
- width: 40px;
- background-position: -114px -91px;
- }
-
- #nav-topright li.nav-topright-labs a:hover
- {
- background-position: -114px -117px;
- }
-
- #nav-topright li.nav-topright-doc a
- {
- width: 32px;
- background-position: -162px -91px;
- }
-
- #nav-topright li.nav-topright-doc a:hover, #nav-topright li.nav-topright-doc-active a
- {
- background-position: -162px -117px;
- }
-
- #nav-topright li.nav-topright-blog a
- {
- width: 40px;
- background-position: -203px -91px;
- }
-
- #nav-topright li.nav-topright-blog a:hover, #nav-topright li.nav-topright-blog-active a
- {
- background-position: -203px -117px;
- }
-
- #nav-topright li.nav-topright-shop a
- {
- width: 40px;
- background-position: -252px -91px;
- }
-
- #nav-topright li.nav-topright-shop a:hover, #nav-topright li.nav-topright-shop-active a
- {
- background-position: -252px -117px;
- }
-
- #nav-logo
- {
- background: transparent url( "../images/sprites-combined.png" ) no-repeat 0 -225px;
- left: -3px;
- position: absolute;
- width: 75px;
- height: 75px;
- top: 13px;
- }
- #nav-logo a
- {
- width: 75px;
- height: 75px;
- display: block;
- text-indent: -9999px;
- overflow: hidden;
- }
-
-
- .shortCut-topleft-inactive
- {
- padding-left: 3px;
- background: transparent url( "../images/sprites-combined.png" ) no-repeat 0px -58px;
- height: 20px;
- width: 93px;
- }
-
- .shortCut-topleft-inactive span
- {
- font-variant: normal;
- }
-
- #shortCut
- {
- padding-top: 10px;
- font-weight: bolder;
- color: #b0adab;
- }
-
- #shortCut ul
- {
- list-style-type: none;
- float: left;
- width: 347px;
- margin-left: 100px;
- }
-
- #shortCut li
- {
- display: inline-block;
- margin-right: 25px;
- float: left;
- white-space: nowrap;
- }
-
- #shortCut li a
- {
- color: #b0adab;
- text-decoration: none;
- }
-
- #shortCut li a:hover
- {
- color: #44a51c;
- text-decoration: none;
- }
-
-
- /* end of header elements */
-
hr
{
background-color: #e0e0e0;
@@ -745,163 +652,72 @@
text-align: left;
margin: 15px 0px 15px 0px;
}
+
.content .alignedsummary
{
margin: 15px;
}
-
- table.valuelist
- {
- border-width: 0px 0px 1px 0px;
- border-style: solid;
- border-color: #b0adab;
- border-collapse: collapse;
- background-color: #f0f0f0; /* border-bottom: solid 1px #b0adab;*/
- }
-
- table.valuelist th
+ /* tables */
+ table, pre
{
- border-width: 0px 0px 0px 0px;
- padding: 4px;
- color: #00732F;
- font: 600 10pt/1 Verdana;
- }
-
- table.generic, table.annotated
- {
- border: none;
- padding-left: 15px;
- padding-right: 15px;
- margin-bottom: 15px;
- }
-
-
- table td.memItemLeft
- {
- width: 180px;
- padding: 2px 0px 0px 8px;
- margin: 4px;
- border-width: 1px;
- border-color: #b0adab;
- border-style: none;
- font-size: 100%;
- white-space: nowrap;
- }
-
- table td.memItemRight
- {
- padding: 2px 8px 0px 8px;
- margin: 4px;
- border-width: 1px;
- border-color: #b0adab;
- border-style: none;
- font-size: 100%;
+ -moz-border-radius: 7px 7px 7px 7px;
+ background-color: #F6F6F6;
+ border: 1px solid #E6E6E6;
+ border-collapse: separate;
+ font-size: 11px;
+ min-width: 395px;
+ margin-bottom: 25px;
}
-
+ thead{margin-top: 5px;}
+ th{ padding: 3px 15px 3px 15px;}
+ td{padding: 3px 15px 3px 20px;}
table tr.odd
{
- background: #EBEBEB;
+ border-left: 1px solid #E6E6E6;
+ background-color: #F6F6F6;
color: #66666E;
}
-
table tr.even
{
- background: #F4F4F4;
+ border-left: 1px solid #E6E6E6;
+ background-color: #ffffff;
color: #66666E;
}
-
- table.annotated th
- {
- padding: 3px;
- text-align: left;
- }
-
- table td, table th
+ table tr.odd:hover
{
- padding: 3px; /* border:solid 1px #FFFFFF;*/
+ background-color: #E6E6E6;
}
-
- table tr pre
- {
- padding-top: 0px;
- padding-bottom: 0px;
- padding-left: 0px;
- padding-right: 0px;
- border: none;
- background: none;
- }
-
- tr.qt-style /* change me - widgets-sliders.html*/
- {
- background: #BCBCBC;
- border-bottom: solid 1px #b0adab;
- }
-
- table tr.qt-code pre /* investigate */
+ table tr.even:hover
{
- padding: 0.2em;
- border: #e7e7e7 1px solid;
- background: #f1f1f1;
- color: black;
+ background-color: #E6E6E6;
}
-
- span.preprocessor, span.preprocessor a
- {
- color: darkblue;
- }
-
span.comment
{
- color: darkred;
+ color: #8B0000;
font-style: italic;
}
-
span.string, span.char
{
- color: darkgreen;
- }
-
- .subtitle
- {
- font-size: 13px;
+ color: #254117;
}
-
- .small-subtitle
+ pre
{
- font-size: 13px;
+ -moz-border-radius:7px 7px 7px 7px;
+ background-color:#F6F6F6;
+ border:1px solid #DDDDDD;
+ margin:0 20px 10px 10px;
+ padding:20px 15px 20px 20px;
+ overflow-x:auto;
}
-
- .qmlitem
- {
- padding: 0;
- }
-
- .qmlname
- {
- white-space: nowrap;
- }
-
.qmltype
{
text-align: center;
font-size: 160%;
}
-
- .qmlproto
- {
- background-color: #eee;
- border-width: 1px;
- border-style: solid;
- border-color: #ddd;
- font-weight: bold;
- padding: 6px 10px 6px 10px;
- margin: 42px 0px 0px 0px;
- }
-
.qmlreadonly
{
float: right;
- color: red;
+ color: #254117;
}
.qmldefault
@@ -918,61 +734,44 @@
{
}
-
- thead
- {
- margin-top: 5px;
- }
-
- td
- {
- padding: 5px;
- }
- th
- {
- padding: 5px;
- }
-
-
#feedbackBox
{
- display: none;
- position: fixed;
+ display:none;
+ -moz-border-radius:7px 7px 7px 7px;
+ border:1px solid #DDDDDD;
+ position:fixed;
+ top:100px;
left: 33%;
- bottom: 200px;
height: 190px;
width: 400px;
padding: 5px;
background-color: #e6e7e8;
z-index: 4;
}
-
#feedcloseX a
{
- padding-top: 5px;
- padding-right: 5px;
- color: #333333;
+ display:inline;
+ padding: 5px 5px 0 0;
+ margin-bottom:3px;
+ color: #363534;
+ font-weight:600;
float: right;
text-decoration: none;
}
-
#feedbox
+ /* here */
{
- float: none;
- width: 350px;
+ display:inline;
+ width: 370px;
height: 120px;
- margin-top: 5px;
- margin-left: 25px;
- margin-right: 25px;
+ margin:0px 25px 10px 15px;
}
-
#feedsubmit
{
- float: right;
- margin-top: 4px;
- margin-right: 22px;
+ display:inline;
+ float:right;
+ margin:4px 32px 0 0;
}
-
#blurpage
{
display: none;
@@ -985,74 +784,91 @@
background: transparent url(../images/feedbackground.png) 0 0;
z-index: 3;
}
- /* page elements */
.toc
{
- float: right;
- border: solid 1px #666600;
- background-color: #FFFFCC;
- margin: 15px;
+ float: right;
+ -moz-border-radius:7px 7px 7px 7px;
+ background-color:#F6F6F6;
+ border:1px solid #DDDDDD;
+ margin:0 20px 10px 10px;
+ padding:20px 15px 20px 20px;
height: auto;
width: 200px;
}
- .toc ul
+ .toc h3
{
- float: left;
- padding: 15px;
+ font:600 12px/1.2 Arial;
+ }
+
+ .wrap .content .toc ul
+ {
+ /* float: left;*/
+ padding-left: 0px;
+
+ }
+
+
+ .wrap .content .toc .level2
+ {
+ /* float: left;*/
+ padding-left: 15px;
+
}
+
.content .toc li
{
- font: normal 13px/1.2 Verdana;
+ font: normal 10px/1.2 Verdana;
+ background: url(../images/bullet_dn.png) no-repeat 0 5px;
}
-
- .relpage /* edit */
+
+ .relpage
{
+ -moz-border-radius: 7px 7px 7px 7px;
+ border: 1px solid #DDDDDD;
+ padding: 25px 25px;
clear:both;
- border: solid 1px #666600;
- background-color: #FFFFCC;
- height: auto;
- width: 100%;
- }
- .relpage ul
- {
- float:none;
+ }
+ .relpage ul
+ {
+ float: none;
padding: 15px;
-
- }
- .relpage li
- {
- font: normal 13px/1.2 Verdana;
-
- }
-/* edit */
+ }
+ .content .relpage li
+ {
+ font: normal 11px/1.2 Verdana;
+ }
+ /* edit */
h3.fn, span.fn
{
- background-color: #eee;
+ background-color: #F6F6F6;
border-width: 1px;
border-style: solid;
- border-color: #ddd;
- font-weight: bold;
- /* padding: 6px 0px 6px 10px;*/
- /* margin: 42px 0px 0px 0px;*/
+ border-color: #E6E6E6;
+ font-weight: bold;
+ /* padding: 6px 0px 6px 10px;*/
+ /* margin: 42px 0px 0px 0px;*/
}
/* edit */
.indexbox
{
- /* max-width:785px;*/
- width: 100%; /* margin-bottom: 30px;*/
+ width: 100%;
+ }
+ .content .indexboxcont li
+ {
+ font: normal 600 13px/1 Verdana;
}
- .indexbox a
+ /* .indexbox a
{
color: #00732f;
text-decoration: none;
- }
- .indexbox a:hover
+ }*/
+ .indexbox a:hover, .indexbox a:visited:hover
{
- color: #00732f;
+ color: #4c0033;
text-decoration: underline;
}
.indexbox a:visited
@@ -1068,14 +884,14 @@
.indexboxbar
{
- background: transparent url( "../images/horBar.png" ) repeat-x left bottom;
+ background: transparent url( "../images/horBar.png" ) repeat-x left bottom;
margin-bottom: 25px;
}
.indexboxcont .section
{
- display: inline-block; /*Pål padding-right: 20px; padding-left: 10px; */
- width: 49%;
+ display: inline-block;
+ width: 49%;
*width:42%;
_width:42%;
padding:0 2% 0 1%;
@@ -1084,14 +900,13 @@
.indexboxcont .indexIcon
{
- /*PÅL width: 115px;*/
- width: 13%;
+ width: 11%;
*width:18%;
_width:18%;
overflow:hidden;
}
.indexboxcont .section p
- { /*PÅL max-width: 350px;*/
+ {
padding-top: 20px;
padding-bottom: 20px;
}
@@ -1099,37 +914,40 @@
.indexboxcont .sectionlist
{
display: inline-block;
- width: 34%;
- margin-right:-2px;
- vertical-align:top;
+ width: 33%;
+ margin-right: -2px;
+ vertical-align: top;
padding: 0;
}
.tricol
{
- /* margin-left: 10px; *//*PÅL padding-right:76px;*/
+
}
.indexboxcont .sectionlist ul
{
+ padding-left: 15px;
margin-bottom: 20px;
}
-
+/*
.indexboxcont .sectionlist ul li
{
line-height: 12px;
}
-
+*/
.lastcol
{
display: inline-block;
- vertical-align:top;
+ vertical-align: top;
padding: 0;
max-width: 25%;
}
.tricol .lastcol
{
+ margin-left:-6px;
}
+ /*.toc ul*/
/* end page elements */
}