summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--demos/declarative/calculator/CalcButton.qml64
-rw-r--r--demos/declarative/calculator/calculator.qml208
-rw-r--r--demos/declarative/mediabrowser/content/MediaButton.qml4
-rw-r--r--demos/declarative/mediabrowser/content/PhoneInfoContainer.qml (renamed from demos/declarative/mediabrowser/content/MovieInfoContainer.qml)32
-rw-r--r--demos/declarative/mediabrowser/content/PhonesPathView.qml (renamed from demos/declarative/mediabrowser/content/MoviesPathView.qml)45
-rw-r--r--demos/declarative/mediabrowser/content/Star.qml2
-rw-r--r--demos/declarative/mediabrowser/dummydata/MoviesModel.qml38
-rw-r--r--demos/declarative/mediabrowser/dummydata/PhonesModel.qml137
-rw-r--r--demos/declarative/mediabrowser/mediabrowser.qml14
-rw-r--r--demos/declarative/webbrowser/content/RectSoftShadow.qml8
-rw-r--r--demos/declarative/webbrowser/webbrowser.qml22
-rw-r--r--doc/src/declarative/elements.qdoc2
-rw-r--r--doc/src/declarative/examples.qdoc6
-rw-r--r--examples/declarative/contacts/contacts.qml2
-rw-r--r--examples/declarative/dial/DialLibrary/Dial.qml8
-rw-r--r--examples/declarative/listview/content/MediaButton.qml4
-rw-r--r--examples/declarative/listview/recipes.qml6
-rw-r--r--examples/declarative/minehunt/Explosion.qml2
-rw-r--r--examples/declarative/minehunt/minehunt.qml28
-rw-r--r--examples/declarative/namespaces/lib/Chronos/Clock.qml2
-rw-r--r--examples/declarative/scrollbar/display.qml2
-rw-r--r--examples/declarative/slideswitch/Switch.qml4
-rw-r--r--examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2/RemoveButton.qml2
-rw-r--r--examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2a/RemoveButton.qml2
-rw-r--r--examples/declarative/tutorials/contacts/1_Drawing_and_Animation/3/RemoveButton.qml4
-rw-r--r--examples/declarative/tutorials/contacts/1_Drawing_and_Animation/4/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/1_Drawing_and_Animation/5/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/1/ContactField.qml2
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/1/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/1a/ContactField.qml2
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/1a/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/1b/ContactField.qml2
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/1b/lib/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/2/ContactField.qml2
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/2/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/3/ContactField.qml2
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/3/FieldText.qml4
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/3/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/4/ContactField.qml2
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/4/FieldText.qml4
-rw-r--r--examples/declarative/tutorials/contacts/2_Reuse/4/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/3_Collections/lib/Button.qml2
-rw-r--r--examples/declarative/tutorials/contacts/3_Collections/lib/ContactField.qml2
-rw-r--r--examples/declarative/tutorials/contacts/3_Collections/lib/FieldText.qml4
-rw-r--r--examples/declarative/tutorials/contacts/3_Collections/lib/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/Final/Button.qml2
-rw-r--r--examples/declarative/tutorials/contacts/Final/ContactField.qml2
-rw-r--r--examples/declarative/tutorials/contacts/Final/FieldText.qml4
-rw-r--r--examples/declarative/tutorials/contacts/Final/RemoveButton.qml6
-rw-r--r--examples/declarative/tutorials/contacts/Final/SearchBar.qml2
-rw-r--r--examples/declarative/tutorials/contacts/shared/contacts.sqlitebin12288 -> 12288 bytes
-rw-r--r--examples/declarative/velocity/Day.qml6
-rw-r--r--examples/declarative/webview/qml-in-html.qml2
-rw-r--r--examples/declarative/xmldata/daringfireball.qml2
-rw-r--r--examples/declarative/xmldata/yahoonews.qml2
-rw-r--r--src/declarative/extra/qmlxmllistmodel.cpp4
-rw-r--r--src/declarative/extra/qmlxmllistmodel.h6
-rw-r--r--src/declarative/fx/qfxcomponentinstance.cpp5
-rw-r--r--src/declarative/fx/qfxflipable.cpp133
-rw-r--r--src/declarative/fx/qfxflipable.h10
-rw-r--r--src/declarative/fx/qfxhighlightfilter.cpp2
-rw-r--r--src/declarative/fx/qfxhighlightfilter.h2
-rw-r--r--src/declarative/fx/qfximage.h2
-rw-r--r--src/declarative/fx/qfxparticles.cpp6
-rw-r--r--src/declarative/fx/qfxparticles.h6
-rw-r--r--src/declarative/fx/qfxtransform.cpp25
-rw-r--r--src/declarative/fx/qfxwebview.cpp83
-rw-r--r--src/declarative/fx/qfxwebview.h3
-rw-r--r--src/declarative/qml/parser/javascript.g16
-rw-r--r--src/declarative/qml/parser/javascriptast_p.h241
-rw-r--r--src/declarative/qml/parser/javascriptgrammar.cpp1048
-rw-r--r--src/declarative/qml/parser/javascriptgrammar_p.h6
-rw-r--r--src/declarative/qml/parser/javascriptparser.cpp8
-rw-r--r--src/declarative/qml/parser/javascriptparser_p.h4
-rw-r--r--src/declarative/qml/qmlinfo.cpp24
-rw-r--r--src/declarative/util/qfxview.cpp38
-rw-r--r--src/declarative/util/qmlscript.h2
-rw-r--r--src/declarative/util/qmlstate.cpp1
-rw-r--r--tools/qdoc3/test/qt-inc.qdocconf3
79 files changed, 1481 insertions, 955 deletions
diff --git a/demos/declarative/calculator/CalcButton.qml b/demos/declarative/calculator/CalcButton.qml
index c925314..f4ccdae 100644
--- a/demos/declarative/calculator/CalcButton.qml
+++ b/demos/declarative/calculator/CalcButton.qml
@@ -1,12 +1,13 @@
-<Item id="Button" width="50" height="30">
+Item {
+ id: Button; width: 50; height: 30
- <properties>
- <Property name="operation" type="string"/>
- <Property name="toggable" value="false"/>
- <Property name="toggled" value="false"/>
- </properties>
+ properties: [
+ Property { name: "operation"; type: "string" },
+ Property { name: "toggable"; value: false },
+ Property { name: "toggled"; value: false }
+ ]
- <Script>
+ Script {
function buttonClicked(operation) {
if (Button.toggable == true) {
if (Button.toggled == true) {
@@ -20,21 +21,42 @@
else
doOp(operation);
}
- </Script>
+ }
- <Image id="Image" src="pics/button.sci" width="{Button.width}" height="{Button.height}"/>
- <Image id="ImagePressed" src="pics/button-pressed.sci" width="{Button.width}" height="{Button.height}" opacity="0"/>
- <Text anchors.centeredIn="{Image}" text="{Button.operation}" color="white" font.bold="true"/>
- <MouseRegion id="MouseRegion" anchors.fill="{Button}" onClicked="buttonClicked(Button.operation)"/>
+ Image {
+ id: Image
+ source: "pics/button.sci"
+ width: Button.width; height: Button.height
+ }
- <states>
- <State name="Pressed" when="{MouseRegion.pressed == true}">
- <SetProperties target="{ImagePressed}" opacity="1"/>
- </State>
- <State name="Toggled" when="{Button.toggled == true}">
- <SetProperties target="{ImagePressed}" opacity="1"/>
- </State>
- </states>
+ Image {
+ id: ImagePressed
+ source: "pics/button-pressed.sci"
+ width: Button.width; height: Button.height
+ opacity: 0
+ }
-</Item>
+ Text {
+ anchors.centeredIn: Image
+ text: Button.operation
+ color: "white"
+ font.bold: true
+ }
+ MouseRegion {
+ id: MouseRegion
+ anchors.fill: Button
+ onClicked: { buttonClicked(Button.operation) }
+ }
+
+ states: [
+ State {
+ name: "Pressed"; when: MouseRegion.pressed == true
+ SetProperties { target: ImagePressed; opacity: 1 }
+ },
+ State {
+ name: "Toggled"; when: Button.toggled == true
+ SetProperties { target: ImagePressed; opacity: 1 }
+ }
+ ]
+}
diff --git a/demos/declarative/calculator/calculator.qml b/demos/declarative/calculator/calculator.qml
index 4ada896..145435b 100644
--- a/demos/declarative/calculator/calculator.qml
+++ b/demos/declarative/calculator/calculator.qml
@@ -1,83 +1,127 @@
-<Rect id="MainWindow" width="320" height="270" color="black">
- <Script src="calculator.js"/>
-
- <VerticalLayout spacing="2" margin="2">
- <Rect id="Container" height="60" z="2" width="316" pen.color="white" color="#343434">
- <Text id="CurNum" font.bold="true" color="white" font.size="16" anchors.right="{Container.right}" anchors.rightMargin="5"
- anchors.verticalCenter="{Container.verticalCenter}"/>
- <Text id="CurrentOperation" color="white" font.bold="true" font.size="16" anchors.left="{Container.left}" anchors.leftMargin="5"
- anchors.verticalCenter="{Container.verticalCenter}"/>
- </Rect>
-
- <Item width="320" height="30">
- <CalcButton id="AdvancedCheckBox" x="55" width="206" operation="Advanced Mode" toggable="true"/>
- </Item>
-
- <Item width="320">
- <Item id="BasicButtons" x="55" width="160" height="160">
- <CalcButton operation="Bksp" id="Bksp" width="67" opacity="0"/>
- <CalcButton operation="C" id="C" width="76"/>
- <CalcButton operation="AC" id="AC" x="78" width="76"/>
-
- <GridLayout id="NumKeypad" y="32" spacing="2" columns="3">
- <CalcButton operation="7"/>
- <CalcButton operation="8"/>
- <CalcButton operation="9"/>
- <CalcButton operation="4"/>
- <CalcButton operation="5"/>
- <CalcButton operation="6"/>
- <CalcButton operation="1"/>
- <CalcButton operation="2"/>
- <CalcButton operation="3"/>
- </GridLayout>
-
- <HorizontalLayout y="128" spacing="2">
- <CalcButton operation="0" width="50"/>
- <CalcButton operation="." x="77" width="50"/>
- <CalcButton operation="=" id="Equals" x="77" width="102"/>
- </HorizontalLayout>
-
- <VerticalLayout id="SimpleOperations" x="156" y="0" spacing="2">
- <CalcButton operation="x"/>
- <CalcButton operation="/"/>
- <CalcButton operation="-"/>
- <CalcButton operation="+"/>
- </VerticalLayout>
- </Item>
-
- <GridLayout id="AdvancedButtons" x="350" spacing="2" columns="2" opacity="0">
- <CalcButton operation="Abs"/>
- <CalcButton operation="Int"/>
- <CalcButton operation="MC"/>
- <CalcButton operation="Sqrt"/>
- <CalcButton operation="MR"/>
- <CalcButton operation="^2"/>
- <CalcButton operation="MS"/>
- <CalcButton operation="1/x"/>
- <CalcButton operation="M+"/>
- <CalcButton operation="+/-"/>
- </GridLayout>
- </Item>
- </VerticalLayout>
-
- <states>
- <State name="Advanced" when="{AdvancedCheckBox.toggled == true}">
- <SetProperties target="{BasicButtons}" x="0"/>
- <SetProperties target="{SimpleOperations}" y="32"/>
- <SetProperties target="{Bksp}" opacity="1"/>
- <SetProperties target="{C}" x="69" width="67"/>
- <SetProperties target="{AC}" x="138" width="67"/>
- <SetProperties target="{Equals}" width="50"/>
- <SetProperties target="{AdvancedButtons}" x="210" opacity="1"/>
- </State>
- </states>
-
- <transitions>
- <Transition>
- <NumericAnimation properties="x,y,width" easing="easeOutBounce" duration="500"/>
- <NumericAnimation properties="opacity" easing="easeInOutQuad" duration="500"/>
- </Transition>
- </transitions>
-
-</Rect>
+Rect {
+ id: MainWindow;
+ width: 320; height: 270; color: "black"
+ Script { source: "calculator.js" }
+
+ VerticalLayout {
+ spacing: 2; margin: 2
+
+ Rect {
+ id: Container
+ width: 316; height: 60; z: 2
+ pen.color: "white"; color: "#343434"
+
+ Text {
+ id: CurNum
+ font.bold: true; font.size: 16
+ color: "white"
+ anchors.right: Container.right
+ anchors.rightMargin: 5
+ anchors.verticalCenter: Container.verticalCenter
+ }
+
+ Text {
+ id: CurrentOperation
+ color: "white"
+ font.bold: true; font.size: 16
+ anchors.left: Container.left
+ anchors.leftMargin: 5
+ anchors.verticalCenter: Container.verticalCenter
+ }
+ }
+
+ Item {
+ width: 320; height: 30
+
+ CalcButton {
+ id: AdvancedCheckBox
+ x: 55; width: 206
+ operation: "Advanced Mode"
+ toggable: true
+ }
+ }
+
+ Item {
+ width: 320
+
+ Item {
+ id: BasicButtons
+ x: 55; width: 160; height: 160
+
+ CalcButton { operation: "Bksp"; id: Bksp; width: 67; opacity: 0 }
+ CalcButton { operation: "C"; id: C; width: 76 }
+ CalcButton { operation: "AC"; id: AC; x: 78; width: 76 }
+
+ GridLayout {
+ id: NumKeypad; y: 32; spacing: 2; columns: 3
+
+ CalcButton { operation: 7 }
+ CalcButton { operation: 8 }
+ CalcButton { operation: 9 }
+ CalcButton { operation: 4 }
+ CalcButton { operation: 5 }
+ CalcButton { operation: 6 }
+ CalcButton { operation: 1 }
+ CalcButton { operation: 2 }
+ CalcButton { operation: 3 }
+ }
+
+ HorizontalLayout {
+ y: 128; spacing: 2
+
+ CalcButton { operation: 0; width: 50 }
+ CalcButton { operation: "."; x: 77; width: 50 }
+ CalcButton { operation: "="; id: Equals; x: 77; width: 102 }
+ }
+
+ VerticalLayout {
+ id: SimpleOperations
+ x: 156; y: 0; spacing: 2
+
+ CalcButton { operation: "x" }
+ CalcButton { operation: "/" }
+ CalcButton { operation: "-" }
+ CalcButton { operation: "+" }
+ }
+ }
+
+ GridLayout {
+ id: AdvancedButtons
+ x: 350; spacing: 2; columns: 2; opacity: 0
+
+ CalcButton { operation: "Abs" }
+ CalcButton { operation: "Int" }
+ CalcButton { operation: "MC" }
+ CalcButton { operation: "Sqrt" }
+ CalcButton { operation: "MR" }
+ CalcButton { operation: "^2" }
+ CalcButton { operation: "MS" }
+ CalcButton { operation: "1/x" }
+ CalcButton { operation: "M+" }
+ CalcButton { operation: "+/-" }
+ }
+
+ }
+ }
+
+ states: [
+ State {
+ name: "Advanced"; when: AdvancedCheckBox.toggled == true
+ SetProperties { target: BasicButtons; x: 0 }
+ SetProperties { target: SimpleOperations; y: 32 }
+ SetProperties { target: Bksp; opacity: 1 }
+ SetProperties { target: C; x: 69; width: 67 }
+ SetProperties { target: AC; x: 138; width: 67 }
+ SetProperties { target: Equals; width: 50 }
+ SetProperties { target: AdvancedButtons; x: 210; opacity: 1 }
+ }
+ ]
+
+ transitions: [
+ Transition {
+ NumericAnimation { properties: "x,y,width"; easing: "easeOutBounce"; duration: 500 }
+ NumericAnimation { properties: "opacity"; easing: "easeInOutQuad"; duration: 500 }
+ }
+ ]
+}
diff --git a/demos/declarative/mediabrowser/content/MediaButton.qml b/demos/declarative/mediabrowser/content/MediaButton.qml
index c92305a..6c672ea 100644
--- a/demos/declarative/mediabrowser/content/MediaButton.qml
+++ b/demos/declarative/mediabrowser/content/MediaButton.qml
@@ -7,8 +7,8 @@
<Property name="text"/>
</properties>
- <Image id="Image" src="pics/button.png"/>
- <Image id="Pressed" src="pics/button-pressed.png" opacity="0"/>
+ <Image id="Image" source="pics/button.png"/>
+ <Image id="Pressed" source="pics/button-pressed.png" opacity="0"/>
<MouseRegion id="MouseRegion" anchors.fill="{Image}" onClicked="Container.clicked.emit();"/>
<Text font.bold="true" color="white" anchors.centeredIn="{Image}" text="{Container.text}"/>
<width>{Image.width}</width>
diff --git a/demos/declarative/mediabrowser/content/MovieInfoContainer.qml b/demos/declarative/mediabrowser/content/PhoneInfoContainer.qml
index 8ffc76e..34fd889 100644
--- a/demos/declarative/mediabrowser/content/MovieInfoContainer.qml
+++ b/demos/declarative/mediabrowser/content/PhoneInfoContainer.qml
@@ -2,8 +2,10 @@
<properties>
<Property name="frontContainer" value="{ContainerFront}"/>
<Property name="flickableArea" value="{Flickable}"/>
- <Property name="movieTitle" value="N/A"/>
- <Property name="movieDescription" value="..."/>
+ <Property name="phoneTitle" value="N/A"/>
+ <Property name="phoneDescription" value="..."/>
+ <Property name="phoneSpecifications" value=""/>
+ <Property name="phoneUrl" value=""/>
<Property name="rating" value="2"/>
</properties>
@@ -11,9 +13,9 @@
<Signal name="closed"/>
</signals>
- <transform>
- <AxisRotation id="Axis" axis.startX="{Container.width / 2}" axis.endX="{Container.width / 2}" axis.endY="1" />
- </transform>
+ <axis>
+ <Axis startX="{Container.width / 2}" endX="{Container.width / 2}" endY="1" />
+ </axis>
<front>
<Item id="ContainerFront" anchors.fill="{Container}">
@@ -22,17 +24,17 @@
<MediaButton id="BackButton" x="630" y="400" text="Back" onClicked="Container.closed.emit()"/>
<MediaButton id="MoreButton" x="530" y="400" text="More..." onClicked="Container.state='Back'"/>
- <Text id="TitleText" style="Raised" styleColor="black" color="white" x="320" y="30" width="{parent.width}"
- text="{Container.movieTitle}" font.size="22"/>
+ <Text id="TitleText" style="Raised" styleColor="black" color="white" x="420" y="30" width="{parent.width}"
+ text="{Container.phoneTitle}" font.size="22"/>
- <LikeOMeter x="320" y="75" rating="{Container.rating}"/>
+ <LikeOMeter x="420" y="75" rating="{Container.rating}"/>
- <Flickable id="Flickable" x="320" width="380" height="260" y="120" clip="true" viewportWidth="380"
+ <Flickable id="Flickable" x="420" width="280" height="260" y="120" clip="true" viewportWidth="280"
viewportHeight="{DescriptionText.height}">
<Text id="DescriptionText" wrap="true" color="white" width="{parent.width}"
- text="{Container.movieDescription}" font.size="12"/>
+ text="{Container.phoneDescription}" font.size="12"/>
</Flickable>
-
+ <Text color="white" width="300" x="50" y="300" text="{Container.phoneSpecifications}"/>
<ScrollBar id="ScrollBar" x="720" y="{Flickable.y}" width="7" height="{Flickable.height}" opacity="0"
flickableArea="{Flickable}" clip="true"/>
</Item>
@@ -41,19 +43,23 @@
<back>
<Item anchors.fill="{Container}">
<Rect anchors.fill="{parent}" color="black" opacity="0.4" pen.color="white" pen.width="2"/>
+ <Flickable x="10" width="{Container.width-20}" height="{Container.height-20}" y="10" clip="true"
+ viewportWidth="{UrlView.width}" viewportHeight="{UrlView.height}">
+ <WebView id="UrlView" url="{Container.phoneUrl}" idealWidth="{parent.width}"/>
+ </Flickable>
<MediaButton id="BackButton2" x="630" y="400" text="Back" onClicked="Container.state=''"/>
</Item>
</back>
<states>
<State name="Back">
- <SetProperty target="{Axis}" property="angle" value="180"/>
+ <SetProperty target="{Container}" property="rotation" value="180"/>
</State>
</states>
<transitions>
<Transition>
- <NumericAnimation easing="easeInOutQuad" properties="angle" duration="500"/>
+ <NumericAnimation easing="easeInOutQuad" properties="rotation" duration="500"/>
</Transition>
</transitions>
diff --git a/demos/declarative/mediabrowser/content/MoviesPathView.qml b/demos/declarative/mediabrowser/content/PhonesPathView.qml
index a13437a..df7e742 100644
--- a/demos/declarative/mediabrowser/content/MoviesPathView.qml
+++ b/demos/declarative/mediabrowser/content/PhonesPathView.qml
@@ -1,49 +1,54 @@
-<PathView id="Container">
+<PathView id="Container" pathItemCount="6">
<path>
<Path startX="-50" startY="40">
- <PathAttribute name="scale" value="0.4"/>
+ <PathAttribute name="scale" value="0.2"/>
<PathCubic x="400" y="220" control1X="140" control1Y="40" control2X="210" control2Y="220"/>
- <PathAttribute name="scale" value="0.7"/>
+ <PathAttribute name="scale" value="1.2"/>
+ <PathAttribute name="z" value="1"/>
<PathCubic x="850" y="40" control2X="660" control2Y="40" control1X="590" control1Y="220"/>
- <PathAttribute name="scale" value="0.4"/>
+ <PathAttribute name="scale" value="0.2"/>
</Path>
</path>
<delegate>
- <Component id="MovieDelegate">
- <Item id="Wrapper" width="220" height="310" scale="{Wrapper.PathView.scale}">
- <Connection sender="{MovieInfoContainer}" script="if (Wrapper.state == 'Details') Wrapper.state = ''" signal="closed()"/>
+ <Component id="PhoneDelegate">
+ <Item id="Wrapper" width="320" height="200" scale="{Wrapper.PathView.scale}" z="{Wrapper.PathView.z}">
+ <Connection sender="{PhoneInfoContainer}" script="if (Wrapper.state == 'Details') Wrapper.state = ''" signal="closed()"/>
<Script>
- function movieClicked() {
+ function phoneClicked() {
if (MainWindow.minimized == true) {
MainWindow.minimized = false;
} else {
- MovieInfoContainer.movieTitle = title;
- MovieInfoContainer.flickableArea.yPosition = 0;
- MovieInfoContainer.movieDescription = description;
- MovieInfoContainer.rating = rating;
+ PhoneInfoContainer.phoneTitle = title;
+ PhoneInfoContainer.flickableArea.yPosition = 0;
+ PhoneInfoContainer.phoneDescription = description;
+ PhoneInfoContainer.phoneSpecifications = specifications;
+ PhoneInfoContainer.phoneUrl = url;
+ PhoneInfoContainer.rating = rating;
Wrapper.state = "Details";
}
}
</Script>
<Rect id="Dvd" anchors.fill="{parent}" color="white">
- <Image src="{thumb}" width="215" height="305" anchors.centeredIn="{parent}" opaque="true"/>
- <Image src="pics/reflection.png" anchors.centeredIn="{parent}"/>
- <Image src="pics/shadow-right.png" x="220"/>
- <Image src="pics/shadow-bottom.png" y="310"/>
- <Image src="pics/shadow-corner.png" x="220" y="310"/>
+ <Item x="{(parent.width-width)/2}" y="{(parent.height-height)/2}" width="{Thumb.width*Thumb.scale}" height="{Thumb.height*Thumb.scale}">
+ <Image id="Thumb" source="{thumb}" scale="{0.95*Math.min(Dvd.height/height,Dvd.width/width)}"/>
+ </Item>
+ <!-- <Image source="pics/reflection.png" anchors.fill="{parent}"/> -->
+ <Image source="pics/shadow-right.png" x="{Dvd.width}" height="{Dvd.height}"/>
+ <Image source="pics/shadow-bottom.png" y="{Dvd.height}" width="{Dvd.width}"/>
+ <Image id="Corner" source="pics/shadow-corner.png" x="{Dvd.width}" y="{Dvd.height}"/>
</Rect>
- <MouseRegion anchors.fill="{Wrapper}" onClicked="movieClicked()"/>
+ <MouseRegion anchors.fill="{Wrapper}" onClicked="phoneClicked()"/>
<states>
<State name="Details">
- <ParentChange target="{Wrapper}" parent="{MovieInfoContainer.frontContainer}"/>
+ <ParentChange target="{Wrapper}" parent="{PhoneInfoContainer.frontContainer}"/>
<SetProperties target="{Wrapper}" x="50" y="60" scale="1"/>
- <SetProperties target="{MovieInfoContainer}" y="20"/>
+ <SetProperties target="{PhoneInfoContainer}" y="20"/>
<SetProperties target="{Container}" y="-480"/>
<SetProperties target="{CloseButton}" opacity="0"/>
<SetProperties target="{CategoryText}" y="-50"/>
diff --git a/demos/declarative/mediabrowser/content/Star.qml b/demos/declarative/mediabrowser/content/Star.qml
index 1db29e8..37d314b 100644
--- a/demos/declarative/mediabrowser/content/Star.qml
+++ b/demos/declarative/mediabrowser/content/Star.qml
@@ -8,7 +8,7 @@
<Signal name="clicked"/>
</signals>
- <Image id="Image" src="pics/ghns_star.png" x="6" y="7" opacity="0.4" scale="0.5"/>
+ <Image id="Image" source="pics/ghns_star.png" x="6" y="7" opacity="0.4" scale="0.5"/>
<MouseRegion anchors.fill="{Container}" onClicked="Container.clicked.emit()"/>
<states>
diff --git a/demos/declarative/mediabrowser/dummydata/MoviesModel.qml b/demos/declarative/mediabrowser/dummydata/MoviesModel.qml
deleted file mode 100644
index 87bca37..0000000
--- a/demos/declarative/mediabrowser/dummydata/MoviesModel.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-<ListModel id="MoviesModel">
- <Movie>
- <title>Repoman</title>
- <thumb>http://www.impawards.com/1984/posters/repo_man.jpg</thumb>
- <description>Cult classic. Car repossession. Radiation. Plate O' Shrimp.</description>
- <rating>2</rating>
- </Movie>
- <Movie>
- <title>Monsters vs Aliens</title>
- <thumb>http://www.impawards.com/2009/posters/monsters_vs_aliens_ver6.jpg</thumb>
- <description>Love Monsters? Love Aliens? You're in luck.</description>
- <rating>1</rating>
- </Movie>
- <Movie>
- <title>Cruel Intentions</title>
- <thumb>http://impawards.com/1999/posters/cruel_intentions_ver1.jpg</thumb>
- <description>Modern-day update of Les Liaisons Dangereuses. Better because it has nothing to do with the French.</description>
- <rating>3</rating>
- </Movie>
- <Movie>
- <title>Lord of War</title>
- <thumb>http://www.impawards.com/2005/posters/lord_of_war_ver2.jpg</thumb>
- <description>There are over 500 million fire arms in worldwide circulation. That is one fire arm for every twelve people on the planet. The only question is how do we arm the other eleven?</description>
- <rating>4</rating>
- </Movie>
- <Movie>
- <title>The Devil's Advocate</title>
- <thumb>http://impawards.com/1997/posters/devils_advocate_ver1.jpg</thumb>
- <description>An ambitious your district attorney joins a powerful New York law firm headed by the devil.</description>
- <rating>4</rating>
- </Movie>
- <Movie>
- <title>Team America: World Police</title>
- <thumb>http://impawards.com/2004/posters/team_america_world_police.jpg</thumb>
- <description>Hey terrorist, terrorize this.</description>
- <rating>1</rating>
- </Movie>
-</ListModel>
diff --git a/demos/declarative/mediabrowser/dummydata/PhonesModel.qml b/demos/declarative/mediabrowser/dummydata/PhonesModel.qml
new file mode 100644
index 0000000..d4f6269
--- /dev/null
+++ b/demos/declarative/mediabrowser/dummydata/PhonesModel.qml
@@ -0,0 +1,137 @@
+<ListModel id="PhonesModel">
+ <Phone>
+ <title>Nokia N97</title>
+ <thumb>http://www.forum.nokia.com/devices/pics/N97_main.jpg</thumb>
+ <description>
+ The Nokia N97 is a S60 5th Edition mobile computer with a large 3,5?, bright nHD (640 x 360 pixels and 16:9 aspect ratio) TFT color display with resistive touch screen and tactile feedback. The device provides excellent user experience for internet and entertainment by combining qwerty keyboard with touch UI and Home screen functionality. Use the N97 to connect to mobile broadband using WLAN or HSDPA (3.5G). Find directions and locations with the integrated A-GPS and included maps. Additional features include game titles with N-Gage, a 5 mega pixel camera with dual LED flash and automatic geotagging of images and videos.
+ </description>
+ <specifications>
+ <![CDATA[
+ <table width=300>
+ <tr><td width=50%>Resolution <td width=50%>360 x 640
+ <tr><td>Color Depth <td>24 bit
+ <tr><td>Device Size <td>117.2 x 55.3 x 15.9 mm
+ <tr><td>Volume <td>88 cc
+ <tr><td>Weight <td>150 g
+ </table>
+ ]]>
+ </specifications>
+ <url>http://www.forum.nokia.com/devices/N97</url>
+ <rating>5</rating>
+ </Phone>
+ <Phone>
+ <title>Nokia 5800 XpressMusic</title>
+ <thumb>http://www.forum.nokia.com/devices/pics/5800_main.jpg</thumb>
+ <description>
+ The Nokia 5800 XpressMusic is a S60 5th Edition device with a resistive touch screen and tactile feedback. The device has a large 3,2?, bright nHD (640 x 360 pixels and 16:9 aspect ratio) color display. The device has variety of input methods: stylus, plectrum and finger touch support for text input and UI control (alphanumeric keypad, full and mini qwerty keyboard, handwriting recognition). Use the Nokia 5800 XpressMusic to connect to mobile broadband using WLAN or HSDPA (3.5G). Find directions and locations with the integrated A-GPS and included maps. Additional features include a 3.2 megapixel camera with dual LED flash, Bluetooth 2.0 +EDR, and USB 2.0 High-Speed. Supported WCDMA frequencies depend on the region where the device is available.
+ </description>
+ <specifications>
+ <![CDATA[
+ <table width=300>
+ <tr><td width=50%>Resolution <td width=50%>360 x 640
+ <tr><td>Color Depth <td>24 bit
+ <tr><td>Device Size <td>111 x 51.7 x 15.5 mm
+ <tr><td>Volume <td>83 cc
+ <tr><td>Weight <td>109 g
+ </table>
+ ]]>
+ </specifications>
+ <url>http://www.forum.nokia.com/devices/5800_XpressMusic</url>
+ <rating>5</rating>
+ </Phone>
+ <Phone>
+ <title>E75</title>
+ <thumb>http://www.forum.nokia.com/devices/pics/E75_main.jpg</thumb>
+ <description>The Nokia E75 is a GSM/WCDMA dual-mode business smartphone supporting WCDMA/HSDPA, EGSM, and WLAN. The device features a side slider qwerty keyboard for optimal email experience. Enjoy videos, music, and graphics on the 2.4? QVGA display and orientation sensor. Find directions and locations with the integrated A-GPS and included maps. Take photos with a 3.2-megapixel autofocus camera. Additional features include USB charging with simultaneous data transfer, Bluetooth 2.0 +EDR, and USB 2.0 High-Speed. Supported WCDMA frequencies depend on the region where the device is available.</description>
+ <specifications>
+ <![CDATA[
+ <table width=300>
+ <tr><td width=50%>Resolution <td width=50%>240 x 320
+ <tr><td>Color Depth <td>24 bit
+ <tr><td>Device Size <td>111.8 x 501 x 14.4 mm
+ <tr><td>Volume <td>69 cc
+ <tr><td>Weight <td>139 g
+ </table>
+ ]]>
+ </specifications>
+ <url>http://www.forum.nokia.com/devices/E75</url>
+ <rating>5</rating>
+ </Phone>
+ <Phone>
+ <title>Nokia N810</title>
+ <thumb>http://www.forum.nokia.com/devices/pics/n810_main.jpg</thumb>
+ <description>
+ The Nokia N810 features include Voice-over-IP (VoIP) Internet and video calling, Instant Messaging, an integrated slide-out QWERTY keyboard and touch screen. The N810 lets you stay connected on the go with WLAN or Bluetooth 2.0 +EDR and a Bluetooth enabled mobile phone. The hi-resolution 4.13", 800 x 480 screen and the integrated web cam add to the internet experience. Use the Nokia N810 to play music and videos with the built-in stereo speakers or use the 3.5mm stereo plug with headphones. The Nokia N810 also has an integrated GPS receiver which allows you to pinpoint your position and find points-of-interests using pre-loaded maps.
+ </description>
+ <specifications>
+ <![CDATA[
+ <table width=300>
+ <tr><td width=50%>Resolution <td width=50%>800 x 480
+ <tr><td>Color Depth <td>16 bit
+ <tr><td>Device Size <td>128 x 72 x 14 mm
+ <tr><td>Weight <td>225 g
+ </table>
+ ]]>
+ </specifications>
+ <url>http://www.forum.nokia.com/devices/N810</url>
+ <rating>5</rating>
+ </Phone>
+ <Phone>
+ <title>Nokia 6260 slide</title>
+ <thumb>http://www.forum.nokia.com/devices/pics/6260slide_main.jpg</thumb>
+ <description>
+ The Nokia 6260 slide is a Series 40 6th Edition phone, supporting quad-band GSM 850/900/1800/1900, triple-band WCDMA 900/1900/2100 and WLAN. Other key features include integrated A-GPS with included maps, a 5.0 megapixel camera with LED flash and Carl Zeiss optics, WebKit Open Source Browser, Flash Lite 3.0, Bluetooth 2.1 + EDR and MIDP Java 2.1 with additional Java APIs. Supported WCDMA frequencies depend on the region where the device is available.
+ </description>
+ <specifications>
+ <![CDATA[
+ <table width=300>
+ <tr><td width=50%>Resolution <td width=50%>320 x 480
+ <tr><td>Color Depth <td>24 bit
+ <tr><td>Device Size <td>99.4 x 46.5 x 15.4 mm
+ <tr><td>Volume <td>64.5 cc
+ <tr><td>Weight <td>114 g
+ </table>
+ ]]>
+ </specifications>
+ <url>http://www.forum.nokia.com/devices/6260_slide</url>
+ <rating>5</rating>
+ </Phone>
+ <Phone>
+ <title>Nokia 2330 classic</title>
+ <thumb>http://www.forum.nokia.com/devices/pics/2330_main.jpg</thumb>
+ <description>
+ The Nokia 2330 classic is a Dual-band GPRS phone for EGSM 900/1800 or GSM 850/1900 (for some markets) that includes a VGA camera, Stereo FM radio with recording feature, Bluetooth 2.0, Mail on Ovi and MIDP 2.1 APIs for application creation.
+ </description>
+ <specifications>
+ <![CDATA[
+ <table width=300>
+ <tr><td width=50%>Resolution <td width=50%>128 x 160
+ <tr><td>Color Depth <td>16 bit
+ <tr><td>Device Size <td>107 x 46 x 13.8 mm
+ <tr><td>Weight <td>80 g
+ </table>
+ ]]>
+ </specifications>
+ <url>http://www.forum.nokia.com/devices/2330_classic</url>
+ <rating>5</rating>
+ </Phone>
+ <Phone>
+ <title>Nokia 2355</title>
+ <thumb>http://www.forum.nokia.com/devices/pics/2355_main.jpg</thumb>
+ <description>
+ The Nokia 2355 CDMA phone features a 64K color display, FM radio, integrated flashlight, WAP 2.0 browsing, MMS, Java(tm) and Brew. It's stylishly polished fold design will keep you in the spotlight.
+ </description>
+ <specifications>
+ <![CDATA[
+ <table width=300>
+ <tr><td width=50%>Resolution <td width=50%>128 x 128
+ <tr><td>Color Depth <td>16 bit
+ <tr><td>Device Size <td>81 x 43 x 22 mm
+ <tr><td>Weight <td>78 g
+ </table>
+ ]]>
+ </specifications>
+ <url>http://www.forum.nokia.com/devices/2355</url>
+ <rating>5</rating>
+ </Phone>
+</ListModel>
diff --git a/demos/declarative/mediabrowser/mediabrowser.qml b/demos/declarative/mediabrowser/mediabrowser.qml
index df7baa9..be87fa7 100644
--- a/demos/declarative/mediabrowser/mediabrowser.qml
+++ b/demos/declarative/mediabrowser/mediabrowser.qml
@@ -5,15 +5,15 @@
</properties>
<Item id="Background">
- <Image src="content/pics/background.png" opaque="true"/>
+ <Image source="content/pics/background.png" opaque="true"/>
<Rect id="Menu" x="-150" width="150" height="480" color="#232323">
- <Text id="IconText" x="30" y="122" font.bold="true" font.size="9" text="Coming Soon" color="white" style="Raised" styleColor="black"/>
- <Image src="content/pics/shadow-right-screen.png" x="150" height="480" tile="true"/>
+ <Text id="IconText" x="40" y="110" font.bold="true" font.size="9" text="Nokia Devices" color="white" style="Raised" styleColor="black"/>
+ <Image source="content/pics/shadow-right-screen.png" x="150" height="480" tile="true"/>
</Rect>
- <MovieInfoContainer id="MovieInfoContainer" width="750" x="25" y="500" height="440"/>
- <MoviesPathView id="MoviesPathView" model="{MoviesModel}" y="60" width="800" height="360"/>
+ <PhonesPathView id="PhonesPathView" model="{PhonesModel}" y="60" width="800" height="360"/>
+ <PhoneInfoContainer id="PhoneInfoContainer" width="750" x="25" y="500" height="440"/>
<MediaButton id="CloseButton" x="680" y="440" text="Close" onClicked="MainWindow.minimized = true"/>
<states>
@@ -29,8 +29,8 @@
</transitions>
</Item>
- <Text id="CategoryText" x="300" y="15" text="Coming Soon" font.size="22" color="white" style="Raised" styleColor="black"/>
- <Item id="Stack" x="50" y="50"/>
+ <Text id="CategoryText" x="300" y="15" text="Nokia Devices" font.size="22" color="white" style="Raised" styleColor="black"/>
+ <Item id="Stack" x="45" y="50"/>
</Item>
diff --git a/demos/declarative/webbrowser/content/RectSoftShadow.qml b/demos/declarative/webbrowser/content/RectSoftShadow.qml
index 0235842..2b39422 100644
--- a/demos/declarative/webbrowser/content/RectSoftShadow.qml
+++ b/demos/declarative/webbrowser/content/RectSoftShadow.qml
@@ -1,10 +1,10 @@
<Item>
- <Image src="pics/softshadow-left.sci" x="-16" y="-16"
+ <Image source="pics/softshadow-left.sci" x="-16" y="-16"
width="16" height="{parent.height+32}" />
- <Image src="pics/softshadow-right.sci" x="{parent.width}" y="-16"
+ <Image source="pics/softshadow-right.sci" x="{parent.width}" y="-16"
width="16" height="{parent.height+32}" />
- <Image src="pics/softshadow-top.png" x="0" y="-16"
+ <Image source="pics/softshadow-top.png" x="0" y="-16"
width="{parent.width}" height="16" />
- <Image src="pics/softshadow-bottom.png" x="0" y="{parent.height}"
+ <Image source="pics/softshadow-bottom.png" x="0" y="{parent.height}"
width="{webview.width*webview.scale}" height="16" />
</Item>
diff --git a/demos/declarative/webbrowser/webbrowser.qml b/demos/declarative/webbrowser/webbrowser.qml
index 7618f4d..cf96b3f 100644
--- a/demos/declarative/webbrowser/webbrowser.qml
+++ b/demos/declarative/webbrowser/webbrowser.qml
@@ -18,8 +18,8 @@
<Item id="WebPanel" anchors.fill="{parent}" clip="true">
<Rect color="#555555" anchors.fill="{parent}"/>
- <Image src="content/pics/softshadow-bottom.png" width="{WebPanel.width}" height="16" />
- <Image src="content/pics/softshadow-top.png" width="{WebPanel.width}" anchors.bottom="{Footer.top}" height="16" />
+ <Image source="content/pics/softshadow-bottom.png" width="{WebPanel.width}" height="16" />
+ <Image source="content/pics/softshadow-top.png" width="{WebPanel.width}" anchors.bottom="{Footer.top}" height="16" />
<RectSoftShadow x="{-Flick.xPosition}" y="{-Flick.yPosition}"
width="{WebView.width*WebView.scale}" height="{Flick.y+WebView.height*WebView.scale}"/>
<Item id="HeaderSpace" width="{parent.width}" height="60" z="1">
@@ -30,7 +30,7 @@
? -Flick.xPosition+Flick.viewportWidth-Flick.width
: 0}"
y="{Flick.yPosition &lt; 0 ? -Flick.yPosition : progressOff*(Flick.yPosition>height?-height:-Flick.yPosition)}"
- height="64" src="content/pics/header.png">
+ height="64" source="content/pics/header.png">
<Text id="HeaderText" text="{WebView.title!='' || WebView.progress == 1.0 ? WebView.title : 'Loading...'}"
color="white" styleColor="black" style="Raised"
font.family="Helvetica" font.size="10" font.bold="true" elide="ElideRight"
@@ -39,8 +39,8 @@
anchors.top="{Header.top}" anchors.topMargin="4" hAlign="AlignHCenter"/>
<Item anchors.top="{HeaderText.bottom}" anchors.topMargin="2" anchors.bottom="{parent.bottom}" width="{parent.width}">
<Item id="UrlBox" anchors.left="{parent.left}" anchors.leftMargin="12" anchors.right="{parent.right}" anchors.rightMargin="12" height="31" anchors.top="{parent.top}" clip="true">
- <Image src="content/pics/addressbar.sci" anchors.fill="{UrlBox}"/>
- <Image id="UrlBoxhl" src="content/pics/addressbar-filled.sci" opacity="{1-Header.progressOff}" clip="true" width="{parent.width*WebView.progress}" height="{parent.height}"/>
+ <Image source="content/pics/addressbar.sci" anchors.fill="{UrlBox}"/>
+ <Image id="UrlBoxhl" source="content/pics/addressbar-filled.sci" opacity="{1-Header.progressOff}" clip="true" width="{parent.width*WebView.progress}" height="{parent.height}"/>
<KeyProxy id="proxy" anchors.left="{UrlBox.left}" anchors.fill="{UrlBox}" focusable="true" targets="{[keyActions,EditUrl]}"/>
<KeyActions id="keyActions" return="WebBrowser.url = EditUrl.text; proxy.focus=false;"/>
<TextEdit id="EditUrl" color="#555555" text="{WebView.url == '' ? ' ' : WebView.url}"
@@ -104,11 +104,11 @@
</Rect>
</Flickable>
<Image id="Footer" width="{parent.width}" anchors.bottom="{parent.bottom}"
- height="43" src="content/pics/footer.sci">
+ height="43" source="content/pics/footer.sci">
<Rect y="-1" width="{parent.width}" height="1" color="#555555"/>
<Item id="backbutton" anchors.right="{reload.left}" anchors.rightMargin="10" anchors.verticalCenter="{parent.verticalCenter}" width="{back_e.width}" height="{back_e.height}">
- <Image anchors.fill="{parent}" id="back_e" src="content/pics/back.png" />
- <Image anchors.fill="{parent}" id="back_d" src="content/pics/back-disabled.png" />
+ <Image anchors.fill="{parent}" id="back_e" source="content/pics/back.png" />
+ <Image anchors.fill="{parent}" id="back_d" source="content/pics/back-disabled.png" />
<states>
<State name="Enabled" when="{WebView.back.enabled==true}">
<SetProperty target="{back_e}" property="opacity" value="1"/>
@@ -126,11 +126,11 @@
</transitions>
<MouseRegion anchors.fill="{back_e}" onClicked="if (WebView.back.enabled) WebView.back.trigger()"/>
</Item>
- <Image id="reload" src="content/pics/reload.png" anchors.horizontalCenter="{parent.horizontalCenter}" anchors.verticalCenter="{parent.verticalCenter}"/>
+ <Image id="reload" source="content/pics/reload.png" anchors.horizontalCenter="{parent.horizontalCenter}" anchors.verticalCenter="{parent.verticalCenter}"/>
<MouseRegion anchors.fill="{reload}" onClicked="WebView.reload.trigger()"/>
<Item id="forwardbutton" anchors.left="{reload.right}" anchors.leftMargin="10" anchors.verticalCenter="{parent.verticalCenter}" width="{forward_e.width}" height="{forward_e.height}">
- <Image anchors.fill="{parent}" anchors.verticalCenter="{parent.verticalCenter}" id="forward_e" src="content/pics/forward.png" />
- <Image anchors.fill="{parent}" id="forward_d" src="content/pics/forward-disabled.png" />
+ <Image anchors.fill="{parent}" anchors.verticalCenter="{parent.verticalCenter}" id="forward_e" source="content/pics/forward.png" />
+ <Image anchors.fill="{parent}" id="forward_d" source="content/pics/forward-disabled.png" />
<states>
<State name="Enabled" when="{WebView.forward.enabled==true}">
<SetProperty target="{forward_e}" property="opacity" value="1"/>
diff --git a/doc/src/declarative/elements.qdoc b/doc/src/declarative/elements.qdoc
index 8fff472..8955587 100644
--- a/doc/src/declarative/elements.qdoc
+++ b/doc/src/declarative/elements.qdoc
@@ -16,7 +16,7 @@ The following table lists the Qml elements provided by the Qt Declarative module
\o
\list
-\o \l StateGroup
+\o \l State
\o \l SetProperty
\o \l SetProperties
\o \l ParentChange
diff --git a/doc/src/declarative/examples.qdoc b/doc/src/declarative/examples.qdoc
index 17fda4d..e65808f 100644
--- a/doc/src/declarative/examples.qdoc
+++ b/doc/src/declarative/examples.qdoc
@@ -17,10 +17,14 @@ directory,
bin/duiviewer $QT_SOURCE_DIR/examples/declarative/mediabrowser/mediabrowser.qml
\endcode
-Many other simple demos can be found under the \c examples/declarative sub
+Many other simple examples can be found under the \c examples/declarative sub
directory. Some can be run directly using the viewer like those above, and
others require you to build and run an executable.
+More sophisticated demos of large applications can be found under the \c demos/declarative
+sub directory. These are intended to show more integrated functionality rather than
+to be instructive on specific elements.
+
Finally, check out the \l {tutorial} to learn a little more about writing your
own QML-based applications.
diff --git a/examples/declarative/contacts/contacts.qml b/examples/declarative/contacts/contacts.qml
index fa50010..f9901ed 100644
--- a/examples/declarative/contacts/contacts.qml
+++ b/examples/declarative/contacts/contacts.qml
@@ -24,7 +24,7 @@ Rect {
}
Image {
id: portraitPic
- src: portrait
+ source: portrait
x: 10
y: 10
}
diff --git a/examples/declarative/dial/DialLibrary/Dial.qml b/examples/declarative/dial/DialLibrary/Dial.qml
index 8336a70..fe8528d 100644
--- a/examples/declarative/dial/DialLibrary/Dial.qml
+++ b/examples/declarative/dial/DialLibrary/Dial.qml
@@ -8,14 +8,14 @@ Item {
}
Image {
id: Background
- src: "background.svg"
+ source: "background.svg"
}
Item {
x: 104
y: 102
rotation: Needle.rotation
Image {
- src: "needle_shadow.svg"
+ source: "needle_shadow.svg"
x: -104
y: -102
}
@@ -31,12 +31,12 @@ Item {
source: Math.min(Math.max(-130, value*2.2 - 130), 133)
}
Image {
- src: "needle.svg"
+ source: "needle.svg"
x: -102
y: -98
}
}
Image {
- src: "overlay.svg"
+ source: "overlay.svg"
}
}
diff --git a/examples/declarative/listview/content/MediaButton.qml b/examples/declarative/listview/content/MediaButton.qml
index c92305a..6c672ea 100644
--- a/examples/declarative/listview/content/MediaButton.qml
+++ b/examples/declarative/listview/content/MediaButton.qml
@@ -7,8 +7,8 @@
<Property name="text"/>
</properties>
- <Image id="Image" src="pics/button.png"/>
- <Image id="Pressed" src="pics/button-pressed.png" opacity="0"/>
+ <Image id="Image" source="pics/button.png"/>
+ <Image id="Pressed" source="pics/button-pressed.png" opacity="0"/>
<MouseRegion id="MouseRegion" anchors.fill="{Image}" onClicked="Container.clicked.emit();"/>
<Text font.bold="true" color="white" anchors.centeredIn="{Image}" text="{Container.text}"/>
<width>{Image.width}</width>
diff --git a/examples/declarative/listview/recipes.qml b/examples/declarative/listview/recipes.qml
index 0f6324f..db8604e 100644
--- a/examples/declarative/listview/recipes.qml
+++ b/examples/declarative/listview/recipes.qml
@@ -54,7 +54,7 @@ Rect {
width: parent.width
Image {
id: recipePic
- src: picture
+ source: picture
width: 48
height: 48
}
@@ -115,13 +115,13 @@ Rect {
Image {
anchors.right: flick.right
anchors.top: flick.top
- src: "content/pics/moreUp.png"
+ source: "content/pics/moreUp.png"
opacity: flick.atYBeginning ? 0 : 1
}
Image {
anchors.right: flick.right
anchors.bottom: flick.bottom
- src: "content/pics/moreDown.png"
+ source: "content/pics/moreDown.png"
opacity: flick.atYEnd ? 0 : 1
}
}
diff --git a/examples/declarative/minehunt/Explosion.qml b/examples/declarative/minehunt/Explosion.qml
index 1e4f03d..8d868bc 100644
--- a/examples/declarative/minehunt/Explosion.qml
+++ b/examples/declarative/minehunt/Explosion.qml
@@ -9,7 +9,7 @@ Item {
height: 21
lifeSpan: 3600000
lifeSpanDeviation: 0
- src: "pics/star.png"
+ source: "pics/star.png"
count: 200
angle: 270
angleDeviation: 360
diff --git a/examples/declarative/minehunt/minehunt.qml b/examples/declarative/minehunt/minehunt.qml
index 20c3874..fb65fa3 100644
--- a/examples/declarative/minehunt/minehunt.qml
+++ b/examples/declarative/minehunt/minehunt.qml
@@ -6,14 +6,14 @@
<resources>
<Component id="tile">
<Flipable id="flipable" width="40" height="40">
- <transform>
- <AxisRotation id="axis" axis.startX="20" axis.endX="20" axis.startY="20" axis.endY="0" />
- </transform>
+ <axis>
+ <Axis startX="20" startY="20" endX="20" endY="0" />
+ </axis>
<front>
- <Image src="pics/front.png" width="40" height="40">
+ <Image source="pics/front.png" width="40" height="40">
<Image anchors.horizontalCenter="{parent.horizontalCenter}"
anchors.verticalCenter="{parent.verticalCenter}"
- src="pics/flag.png" opacity="{modelData.hasFlag}">
+ source="pics/flag.png" opacity="{modelData.hasFlag}">
<opacity>
<Behaviour>
<NumericAnimation property="opacity" duration="250"/>
@@ -23,34 +23,34 @@
</Image>
</front>
<back>
- <Image src="pics/back.png" width="40" height="40">
+ <Image source="pics/back.png" width="40" height="40">
<Text anchors.horizontalCenter="{parent.horizontalCenter}" anchors.verticalCenter="{parent.verticalCenter}"
text="{modelData.hint}" color="white" font.bold="true"
opacity="{modelData.hasMine == false &amp;&amp; modelData.hint > 0}"/>
<Image anchors.horizontalCenter="{parent.horizontalCenter}" anchors.verticalCenter="{parent.verticalCenter}"
- src="pics/bomb.png" opacity="{modelData.hasMine}"/>
+ source="pics/bomb.png" opacity="{modelData.hasMine}"/>
<Explosion anchors.horizontalCenter="{parent.horizontalCenter}" anchors.verticalCenter="{parent.verticalCenter}" explode="{modelData.hasMine==true &amp;&amp; modelData.flipped==true}"/>
</Image>
</back>
<states>
<State name="back" when="{modelData.flipped == true}">
- <SetProperty target="{axis}" property="angle" value="180" />
+ <SetProperty target="{flipable}" property="rotation" value="180" />
</State>
</states>
<transitions>
<Transition>
<SequentialAnimation>
<PauseAnimation duration="{var ret = Math.abs(flipable.parent.x-field.clickx) + Math.abs(flipable.parent.y-field.clicky); if (ret > 0) {if(modelData.hasMine==true &amp;&amp; modelData.flipped==true){ret*3;}else{ret;}} else {0}}"/>
- <NumericAnimation easing="easeInOutQuad" properties="angle"/>
+ <NumericAnimation easing="easeInOutQuad" properties="rotation"/>
</SequentialAnimation>
</Transition>
</transitions>
<MouseRegion anchors.fill="{parent}"
- onClicked="field.clickx = flipable.parent.x; field.clicky = flipable.parent.y; row = Math.floor(index/9); col = index - (Math.floor(index/9) * 9); if(mouseButton==undefined || mouseButton=='Right'){flag(row,col);}else{flip(row,col);}" />
+ onClicked="field.clickx = flipable.parent.x; field.clicky = flipable.parent.y; row = Math.floor(index/9); col = index - (Math.floor(index/9) * 9); if(mouse.button==undefined || mouse.button==Qt.RightButton){flag(row,col);}else{flip(row,col);}" />
</Flipable>
</Component>
</resources>
- <Image src="pics/No-Ones-Laughing-3.jpg" tile="true"/>
+ <Image source="pics/No-Ones-Laughing-3.jpg" tile="true"/>
<Description text="Use the 'minehunt' executable to run this demo!" width="300" opacity="{tiles?0:1}" anchors.horizontalCenter="{parent.horizontalCenter}" anchors.verticalCenter="{parent.verticalCenter}"/>
<Repeater dataSource="{tiles}" x="1" y="1">
<Component>
@@ -61,12 +61,12 @@
</Repeater>
<Item id="gamedata" width="370" height="100" y="380">
<Text color="white" font.size="18" x="20" y="20">In play:</Text>
- <Image x="100" y="20" src="pics/bomb-color.png"/>
+ <Image x="100" y="20" source="pics/bomb-color.png"/>
<Text x="100" y="60" color="white" text="{numMines}"/>
- <Image x="140" y="20" src="pics/flag-color.png"/>
+ <Image x="140" y="20" source="pics/flag-color.png"/>
<Text x="140" y="60" color="white" text="{numFlags}"/>
- <Image x="240" y="0" src="{if(isPlaying==true){'pics/smile.png'}else{if(hasWon==true){'pics/glee.png'}else{'pics/frown.png'}}}">
+ <Image x="240" y="0" source="{if(isPlaying==true){'pics/smile.png'}else{if(hasWon==true){'pics/glee.png'}else{'pics/frown.png'}}}">
<MouseRegion anchors.fill="{parent}" onClicked="reset()"/>
</Image>
</Item>
diff --git a/examples/declarative/namespaces/lib/Chronos/Clock.qml b/examples/declarative/namespaces/lib/Chronos/Clock.qml
index 088a45c..959d193 100644
--- a/examples/declarative/namespaces/lib/Chronos/Clock.qml
+++ b/examples/declarative/namespaces/lib/Chronos/Clock.qml
@@ -1,6 +1,6 @@
<?qtfx namespacepath:http://nokia.com/qml/Chronos=. ?>
-<Image id="clock" src="pics/clockface.png" xmlns:This="http://nokia.com/qml/Chronos">
+<Image id="clock" source="pics/clockface.png" xmlns:This="http://nokia.com/qml/Chronos">
<properties>
<Property name="hours" value="0"/>
<Property name="minutes" value="0"/>
diff --git a/examples/declarative/scrollbar/display.qml b/examples/declarative/scrollbar/display.qml
index 4412d7f..42e8f25 100644
--- a/examples/declarative/scrollbar/display.qml
+++ b/examples/declarative/scrollbar/display.qml
@@ -7,7 +7,7 @@ Rect {
anchors.fill: parent
Image {
id: Picture
- src: "pics/niagara_falls.jpg"
+ source: "pics/niagara_falls.jpg"
}
viewportWidth: Picture.width
viewportHeight: Picture.height
diff --git a/examples/declarative/slideswitch/Switch.qml b/examples/declarative/slideswitch/Switch.qml
index f62e4b6..a3f75e8 100644
--- a/examples/declarative/slideswitch/Switch.qml
+++ b/examples/declarative/slideswitch/Switch.qml
@@ -31,7 +31,7 @@ Item {
}
Image {
id: Groove
- src: "background.svg"
+ source: "background.svg"
}
MouseRegion {
anchors.fill: Groove
@@ -39,7 +39,7 @@ Item {
}
Image {
id: Knob
- src: "knob.svg"
+ source: "knob.svg"
x: 1
y: 2
}
diff --git a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2/RemoveButton.qml b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2/RemoveButton.qml
index cf7d2bc..247e38b 100644
--- a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2/RemoveButton.qml
@@ -12,7 +12,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
}
}
//! [0]
diff --git a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2a/RemoveButton.qml b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2a/RemoveButton.qml
index 9df2864..6c6a949 100644
--- a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2a/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/2a/RemoveButton.qml
@@ -13,7 +13,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
}
]
}
diff --git a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/3/RemoveButton.qml b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/3/RemoveButton.qml
index 02b8145..964975f 100644
--- a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/3/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/3/RemoveButton.qml
@@ -12,7 +12,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
}
Image {
id: confirmIcon
@@ -21,7 +21,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
}
Text {
id: text
diff --git a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/4/RemoveButton.qml b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/4/RemoveButton.qml
index ec768da..79aae7a 100644
--- a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/4/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/4/RemoveButton.qml
@@ -26,7 +26,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
opacity: 1
MouseRegion {
anchors.fill: parent
@@ -41,7 +41,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
MouseRegion {
anchors.fill: parent
@@ -55,7 +55,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
MouseRegion {
anchors.fill: parent
diff --git a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/5/RemoveButton.qml b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/5/RemoveButton.qml
index b2fa0ca..6c9078a 100644
--- a/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/5/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/1_Drawing_and_Animation/5/RemoveButton.qml
@@ -23,7 +23,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
opacity: 1
MouseRegion {
anchors.fill: parent
@@ -37,7 +37,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
MouseRegion {
anchors.fill: parent
@@ -51,7 +51,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
MouseRegion {
anchors.fill: parent
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/1/ContactField.qml b/examples/declarative/tutorials/contacts/2_Reuse/1/ContactField.qml
index 078f62e..0218c3d 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/1/ContactField.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/1/ContactField.qml
@@ -22,7 +22,7 @@ Item {
text: 123123
}
Image {
- src: "../../shared/pics/phone.png"
+ source: "../../shared/pics/phone.png"
anchors.right: fieldText.left
anchors.rightMargin: 10
anchors.verticalCenter: parent.verticalCenter
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/1/RemoveButton.qml b/examples/declarative/tutorials/contacts/2_Reuse/1/RemoveButton.qml
index 12329ed..3142c45 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/1/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/1/RemoveButton.qml
@@ -23,7 +23,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
opacity: 1
MouseRegion {
anchors.fill: parent
@@ -37,7 +37,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
MouseRegion {
anchors.fill: parent
@@ -51,7 +51,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
MouseRegion {
anchors.fill: parent
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/1a/ContactField.qml b/examples/declarative/tutorials/contacts/2_Reuse/1a/ContactField.qml
index 55229de..62089b8 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/1a/ContactField.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/1a/ContactField.qml
@@ -25,7 +25,7 @@ Item {
text: 123123
}
Image {
- src: "../../shared/pics/phone.png"
+ source: "../../shared/pics/phone.png"
anchors.right: fieldText.left
anchors.rightMargin: 10
anchors.verticalCenter: parent.verticalCenter
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/1a/RemoveButton.qml b/examples/declarative/tutorials/contacts/2_Reuse/1a/RemoveButton.qml
index 12329ed..3142c45 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/1a/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/1a/RemoveButton.qml
@@ -23,7 +23,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
opacity: 1
MouseRegion {
anchors.fill: parent
@@ -37,7 +37,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
MouseRegion {
anchors.fill: parent
@@ -51,7 +51,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
MouseRegion {
anchors.fill: parent
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/1b/ContactField.qml b/examples/declarative/tutorials/contacts/2_Reuse/1b/ContactField.qml
index a31a5e0..1366548 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/1b/ContactField.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/1b/ContactField.qml
@@ -21,7 +21,7 @@ Item {
text: 123123
}
Image {
- src: "../../shared/pics/phone.png"
+ source: "../../shared/pics/phone.png"
anchors.right: fieldText.left
anchors.rightMargin: 10
anchors.verticalCenter: parent.verticalCenter
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/1b/lib/RemoveButton.qml b/examples/declarative/tutorials/contacts/2_Reuse/1b/lib/RemoveButton.qml
index 30985fb..a358b21 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/1b/lib/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/1b/lib/RemoveButton.qml
@@ -25,7 +25,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../../shared/pics/trash.png"
+ source: "../../../shared/pics/trash.png"
opacity: 1
MouseRegion {
anchors.fill: parent
@@ -39,7 +39,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../../shared/pics/cancel.png"
+ source: "../../../shared/pics/cancel.png"
opacity: 0
MouseRegion {
anchors.fill: parent
@@ -53,7 +53,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../../shared/pics/ok.png"
+ source: "../../../shared/pics/ok.png"
opacity: 0
MouseRegion {
anchors.fill: parent
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/2/ContactField.qml b/examples/declarative/tutorials/contacts/2_Reuse/2/ContactField.qml
index df4b46f..2542c1c 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/2/ContactField.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/2/ContactField.qml
@@ -24,7 +24,7 @@ Item {
text: 123123
}
Image {
- src: "../../shared/pics/phone.png"
+ source: "../../shared/pics/phone.png"
anchors.right: fieldText.left
anchors.rightMargin: 10
anchors.verticalCenter: parent.verticalCenter
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/2/RemoveButton.qml b/examples/declarative/tutorials/contacts/2_Reuse/2/RemoveButton.qml
index 642a33b..45b1899 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/2/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/2/RemoveButton.qml
@@ -32,7 +32,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
opacity: 1
MouseRegion {
anchors.fill: parent
@@ -46,7 +46,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
MouseRegion {
anchors.fill: parent
@@ -60,7 +60,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
MouseRegion {
anchors.fill: parent
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/3/ContactField.qml b/examples/declarative/tutorials/contacts/2_Reuse/3/ContactField.qml
index fa4f997..2d3d58a 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/3/ContactField.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/3/ContactField.qml
@@ -36,7 +36,7 @@ Item {
anchors.right: fieldText.left
anchors.rightMargin: 5
anchors.verticalCenter: parent.verticalCenter
- src: contactField.icon
+ source: contactField.icon
}
states: [
State {
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/3/FieldText.qml b/examples/declarative/tutorials/contacts/2_Reuse/3/FieldText.qml
index 7e4a1ce..cf654cf 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/3/FieldText.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/3/FieldText.qml
@@ -42,7 +42,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
}
Image {
@@ -52,7 +52,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
}
TextEdit {
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/3/RemoveButton.qml b/examples/declarative/tutorials/contacts/2_Reuse/3/RemoveButton.qml
index a222734..309ee5a 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/3/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/3/RemoveButton.qml
@@ -30,7 +30,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
opacity: 1
MouseRegion {
anchors.fill: parent
@@ -44,7 +44,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
MouseRegion {
anchors.fill: parent
@@ -58,7 +58,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
MouseRegion {
anchors.fill: parent
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/4/ContactField.qml b/examples/declarative/tutorials/contacts/2_Reuse/4/ContactField.qml
index 61de59d..0c422b7 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/4/ContactField.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/4/ContactField.qml
@@ -32,7 +32,7 @@ Item {
anchors.right: fieldText.left
anchors.rightMargin: 5
anchors.verticalCenter: parent.verticalCenter
- src: contactField.icon
+ source: contactField.icon
}
states: [
State {
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/4/FieldText.qml b/examples/declarative/tutorials/contacts/2_Reuse/4/FieldText.qml
index da5e6b9..6bb4e0a 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/4/FieldText.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/4/FieldText.qml
@@ -45,7 +45,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
}
Image {
@@ -55,7 +55,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
}
TextEdit {
diff --git a/examples/declarative/tutorials/contacts/2_Reuse/4/RemoveButton.qml b/examples/declarative/tutorials/contacts/2_Reuse/4/RemoveButton.qml
index bc30ee6..b57a95b 100644
--- a/examples/declarative/tutorials/contacts/2_Reuse/4/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/2_Reuse/4/RemoveButton.qml
@@ -36,7 +36,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
opacity: 1
MouseRegion {
anchors.fill: parent
@@ -50,7 +50,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
MouseRegion {
anchors.fill: parent
@@ -64,7 +64,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
MouseRegion {
anchors.fill: parent
diff --git a/examples/declarative/tutorials/contacts/3_Collections/lib/Button.qml b/examples/declarative/tutorials/contacts/3_Collections/lib/Button.qml
index 80588cf..57267f8 100644
--- a/examples/declarative/tutorials/contacts/3_Collections/lib/Button.qml
+++ b/examples/declarative/tutorials/contacts/3_Collections/lib/Button.qml
@@ -15,7 +15,7 @@ Item {
radius: 5
Image {
id: iconImage
- src: button.icon
+ source: button.icon
anchors.horizontalCenter: buttonRect.horizontalCenter
anchors.verticalCenter: buttonRect.verticalCenter
}
diff --git a/examples/declarative/tutorials/contacts/3_Collections/lib/ContactField.qml b/examples/declarative/tutorials/contacts/3_Collections/lib/ContactField.qml
index 61de59d..0c422b7 100644
--- a/examples/declarative/tutorials/contacts/3_Collections/lib/ContactField.qml
+++ b/examples/declarative/tutorials/contacts/3_Collections/lib/ContactField.qml
@@ -32,7 +32,7 @@ Item {
anchors.right: fieldText.left
anchors.rightMargin: 5
anchors.verticalCenter: parent.verticalCenter
- src: contactField.icon
+ source: contactField.icon
}
states: [
State {
diff --git a/examples/declarative/tutorials/contacts/3_Collections/lib/FieldText.qml b/examples/declarative/tutorials/contacts/3_Collections/lib/FieldText.qml
index 370ca00..8ba01da 100644
--- a/examples/declarative/tutorials/contacts/3_Collections/lib/FieldText.qml
+++ b/examples/declarative/tutorials/contacts/3_Collections/lib/FieldText.qml
@@ -45,7 +45,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
}
Image {
@@ -55,7 +55,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
}
TextEdit {
diff --git a/examples/declarative/tutorials/contacts/3_Collections/lib/RemoveButton.qml b/examples/declarative/tutorials/contacts/3_Collections/lib/RemoveButton.qml
index 7e0a2f9..0b90e48 100644
--- a/examples/declarative/tutorials/contacts/3_Collections/lib/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/3_Collections/lib/RemoveButton.qml
@@ -34,7 +34,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/trash.png"
+ source: "../../shared/pics/trash.png"
opacity: 1
MouseRegion {
anchors.fill: parent
@@ -48,7 +48,7 @@ Rect {
anchors.right: parent.right
anchors.rightMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/cancel.png"
+ source: "../../shared/pics/cancel.png"
opacity: 0
MouseRegion {
anchors.fill: parent
@@ -62,7 +62,7 @@ Rect {
anchors.left: parent.left
anchors.leftMargin: 4
anchors.verticalCenter: parent.verticalCenter
- src: "../../shared/pics/ok.png"
+ source: "../../shared/pics/ok.png"
opacity: 0
MouseRegion {
anchors.fill: parent
diff --git a/examples/declarative/tutorials/contacts/Final/Button.qml b/examples/declarative/tutorials/contacts/Final/Button.qml
index 8290d35..14965b5 100644
--- a/examples/declarative/tutorials/contacts/Final/Button.qml
+++ b/examples/declarative/tutorials/contacts/Final/Button.qml
@@ -10,7 +10,7 @@
color="lightgreen"
radius="5">
<Image id="iconImage"
- src="{button.icon}"
+ source="{button.icon}"
anchors.horizontalCenter="{buttonRect.horizontalCenter}"
anchors.verticalCenter="{buttonRect.verticalCenter}"/>
<MouseRegion id="buttonMouseRegion"
diff --git a/examples/declarative/tutorials/contacts/Final/ContactField.qml b/examples/declarative/tutorials/contacts/Final/ContactField.qml
index fe9329a..80ffd30 100644
--- a/examples/declarative/tutorials/contacts/Final/ContactField.qml
+++ b/examples/declarative/tutorials/contacts/Final/ContactField.qml
@@ -21,7 +21,7 @@
<Image
anchors.right="{fieldText.left}" anchors.rightMargin="5"
anchors.verticalCenter="{parent.verticalCenter}"
- src="{contactField.icon}"/>
+ source="{contactField.icon}"/>
<states>
<State name="editingText" when="{fieldText.state == 'editing'}">
<SetProperty target="{removeButton.anchors}" property="rightMargin" value="-35"/>
diff --git a/examples/declarative/tutorials/contacts/Final/FieldText.qml b/examples/declarative/tutorials/contacts/Final/FieldText.qml
index 93095be..ad7669d 100644
--- a/examples/declarative/tutorials/contacts/Final/FieldText.qml
+++ b/examples/declarative/tutorials/contacts/Final/FieldText.qml
@@ -39,13 +39,13 @@
width="22" height="22"
anchors.right="{parent.right}" anchors.rightMargin="4"
anchors.verticalCenter="{parent.verticalCenter}"
- src="../shared/pics/cancel.png"
+ source="../shared/pics/cancel.png"
opacity="0"/>
<Image id="confirmIcon"
width="22" height="22"
anchors.left="{parent.left}" anchors.leftMargin="4"
anchors.verticalCenter="{parent.verticalCenter}"
- src="../shared/pics/ok.png"
+ source="../shared/pics/ok.png"
opacity="0"/>
<TextEdit id="textEdit"
anchors.left="{parent.left}" anchors.leftMargin="0"
diff --git a/examples/declarative/tutorials/contacts/Final/RemoveButton.qml b/examples/declarative/tutorials/contacts/Final/RemoveButton.qml
index 493ab7a..b096bca 100644
--- a/examples/declarative/tutorials/contacts/Final/RemoveButton.qml
+++ b/examples/declarative/tutorials/contacts/Final/RemoveButton.qml
@@ -28,7 +28,7 @@
width="22" height="22"
anchors.right="{parent.right}" anchors.rightMargin="4"
anchors.verticalCenter="{parent.verticalCenter}"
- src="../shared/pics/trash.png"
+ source="../shared/pics/trash.png"
opacity="1">
<MouseRegion
anchors.fill="{parent}"
@@ -38,7 +38,7 @@
width="22" height="22"
anchors.right="{parent.right}" anchors.rightMargin="4"
anchors.verticalCenter="{parent.verticalCenter}"
- src="../shared/pics/cancel.png"
+ source="../shared/pics/cancel.png"
opacity="0">
<MouseRegion
anchors.fill="{parent}"
@@ -48,7 +48,7 @@
width="22" height="22"
anchors.left="{parent.left}" anchors.leftMargin="4"
anchors.verticalCenter="{parent.verticalCenter}"
- src="../shared/pics/ok.png"
+ source="../shared/pics/ok.png"
opacity="0">
<MouseRegion
anchors.fill="{parent}"
diff --git a/examples/declarative/tutorials/contacts/Final/SearchBar.qml b/examples/declarative/tutorials/contacts/Final/SearchBar.qml
index aea5a5d..3965e39 100644
--- a/examples/declarative/tutorials/contacts/Final/SearchBar.qml
+++ b/examples/declarative/tutorials/contacts/Final/SearchBar.qml
@@ -6,7 +6,7 @@
<Image id="searchIcon"
anchors.left="{parent.left}" anchors.leftMargin="5"
anchors.verticalCenter="{parent.verticalCenter}"
- src="../shared/pics/search.png"/>
+ source="../shared/pics/search.png"/>
<TextEdit id="searchEdit"
anchors.left="{searchIcon.right}" anchors.right="{parent.right}"
anchors.leftMargin="5" anchors.rightMargin="5"
diff --git a/examples/declarative/tutorials/contacts/shared/contacts.sqlite b/examples/declarative/tutorials/contacts/shared/contacts.sqlite
index 7347adc..6918878 100644
--- a/examples/declarative/tutorials/contacts/shared/contacts.sqlite
+++ b/examples/declarative/tutorials/contacts/shared/contacts.sqlite
Binary files differ
diff --git a/examples/declarative/velocity/Day.qml b/examples/declarative/velocity/Day.qml
index 3441648..b65f2bc 100644
--- a/examples/declarative/velocity/Day.qml
+++ b/examples/declarative/velocity/Day.qml
@@ -4,7 +4,7 @@
<Property name="stickies" />
</properties>
- <Image x="10" y="10" src="cork.jpg" opaque="true"/>
+ <Image x="10" y="10" source="cork.jpg" opaque="true"/>
<Text x="20" y="20" height="40" font.size="14" font.bold="true" width="370" text="{day}" style="Outline" styleColor="#dedede"/>
<Repeater dataSource="{Page.stickies}">
@@ -13,13 +13,13 @@
<Follow source="{-Flick.xVelocity / 100}" spring="2.0" damping="0.1"/>
</rotation>
<Item id="Sticky" scale="0.5">
- <Image id="StickyImage" src="sticky.png" smooth="true" y="-20" x="{8 + -width * 0.6 / 2}" scale="0.6" />
+ <Image id="StickyImage" source="sticky.png" smooth="true" y="-20" x="{8 + -width * 0.6 / 2}" scale="0.6" />
<TextEdit id="MyText" smooth="true" font.size="28" readOnly="false" x="-104" y="36" wrap="true" rotation="-8" text="{noteText}" width="195" height="172" />
<Item y="-20" x="{StickyImage.x}" width="{StickyImage.width * StickyImage.scale}" height="{StickyImage.height * StickyImage.scale}" >
<MouseRegion id="Mouse" onClicked="MyText.focus = true" anchors.fill="{parent}" drag.target="{StickyPage}" drag.axis="xy" drag.ymin="0" drag.ymax="500" drag.xmin="0" drag.xmax="400"/>
</Item>
</Item>
- <Image src="tack.png" x="{-width / 2}" y="{-height * 0.7 / 2}" scale="0.7" />
+ <Image source="tack.png" x="{-width / 2}" y="{-height * 0.7 / 2}" scale="0.7" />
<states>
<State name="pressed" when="{Mouse.pressed}">
diff --git a/examples/declarative/webview/qml-in-html.qml b/examples/declarative/webview/qml-in-html.qml
index 2715788..8c1c06f 100644
--- a/examples/declarative/webview/qml-in-html.qml
+++ b/examples/declarative/webview/qml-in-html.qml
@@ -1,7 +1,7 @@
<!-- The WebView supports QML data through the HTML OBJECT tag -->
<Flickable width="{250*.75}" height="240"
viewportWidth="{Web.width*Web.scale}" viewportHeight="{Web.height*Web.scale}">
-<WebView id="Web" width="250" height="420" scale="0.75">
+<WebView id="Web" width="250" height="420" scale="0.75" settings.pluginsEnabled="true">
<html><![CDATA[
<html>
<body bgcolor=white>
diff --git a/examples/declarative/xmldata/daringfireball.qml b/examples/declarative/xmldata/daringfireball.qml
index cfd0a98..5e98d1b 100644
--- a/examples/declarative/xmldata/daringfireball.qml
+++ b/examples/declarative/xmldata/daringfireball.qml
@@ -1,6 +1,6 @@
<Rect color="white" width="600" height="600">
<resources>
- <XmlListModel id="feedModel" src="http://daringfireball.net/index.xml"
+ <XmlListModel id="feedModel" source="http://daringfireball.net/index.xml"
query="doc($src)/feed/entry">
<namespaceDeclarations>
declare default element namespace 'http://www.w3.org/2005/Atom';
diff --git a/examples/declarative/xmldata/yahoonews.qml b/examples/declarative/xmldata/yahoonews.qml
index 80ace18..32a706e 100644
--- a/examples/declarative/xmldata/yahoonews.qml
+++ b/examples/declarative/xmldata/yahoonews.qml
@@ -1,6 +1,6 @@
<Rect color="black" gradientColor="#AAAAAA" width="600" height="600">
<resources>
- <XmlListModel id="feedModel" src="http://rss.news.yahoo.com/rss/oceania" query="doc($src)/rss/channel/item">
+ <XmlListModel id="feedModel" source="http://rss.news.yahoo.com/rss/oceania" query="doc($src)/rss/channel/item">
<Role name="title" query="title/string()"/>
<Role name="link" query="link/string()"/>
<Role name="description" query="description/string()" isCData="true"/>
diff --git a/src/declarative/extra/qmlxmllistmodel.cpp b/src/declarative/extra/qmlxmllistmodel.cpp
index 562a1c8..91c8139 100644
--- a/src/declarative/extra/qmlxmllistmodel.cpp
+++ b/src/declarative/extra/qmlxmllistmodel.cpp
@@ -192,13 +192,13 @@ QString QmlXmlListModel::toString(int role) const
return d->roleNames.at(index);
}
-QString QmlXmlListModel::src() const
+QString QmlXmlListModel::source() const
{
Q_D(const QmlXmlListModel);
return d->src;
}
-void QmlXmlListModel::setSrc(const QString &src)
+void QmlXmlListModel::setSource(const QString &src)
{
Q_D(QmlXmlListModel);
d->src = src;
diff --git a/src/declarative/extra/qmlxmllistmodel.h b/src/declarative/extra/qmlxmllistmodel.h
index a8f3087..d06cabf 100644
--- a/src/declarative/extra/qmlxmllistmodel.h
+++ b/src/declarative/extra/qmlxmllistmodel.h
@@ -90,7 +90,7 @@ class Q_DECLARATIVE_EXPORT QmlXmlListModel : public QListModelInterface, public
Q_OBJECT
Q_INTERFACES(QmlParserStatus)
- Q_PROPERTY(QString src READ src WRITE setSrc)
+ Q_PROPERTY(QString source READ source WRITE setSource)
Q_PROPERTY(QString query READ query WRITE setQuery)
Q_PROPERTY(QString namespaceDeclarations READ namespaceDeclarations WRITE setNamespaceDeclarations)
Q_PROPERTY(QmlList<XmlListModelRole *> *roles READ roleObjects)
@@ -106,8 +106,8 @@ public:
QmlList<XmlListModelRole *> *roleObjects();
- QString src() const;
- void setSrc(const QString&);
+ QString source() const;
+ void setSource(const QString&);
QString query() const;
void setQuery(const QString&);
diff --git a/src/declarative/fx/qfxcomponentinstance.cpp b/src/declarative/fx/qfxcomponentinstance.cpp
index 951c25d..5343f7d 100644
--- a/src/declarative/fx/qfxcomponentinstance.cpp
+++ b/src/declarative/fx/qfxcomponentinstance.cpp
@@ -51,15 +51,14 @@ QML_DEFINE_TYPE(QFxComponentInstance,ComponentInstance);
/*!
\internal
- \class QFxComponentInstance
- \qmlclass ComponentInstance
+ \class QFxComponentInstance ComponentInstance
\brief The QFxComponentInstance class provides a way to instantiate an item from a component.
*/
/*!
\qmlclass ComponentInstance QFxComponentInstance
- \brief The ComponentInstance element allows you to instantiate an arbitrary component.
+ \brief The ComponentInstance element allows you to instantiate a \l{qml-component.html} {Component}.
\code
<Item>
diff --git a/src/declarative/fx/qfxflipable.cpp b/src/declarative/fx/qfxflipable.cpp
index 9db0b57..1d15827 100644
--- a/src/declarative/fx/qfxflipable.cpp
+++ b/src/declarative/fx/qfxflipable.cpp
@@ -49,11 +49,17 @@ QML_DEFINE_TYPE(QFxFlipable,Flipable);
class QFxFlipablePrivate : public QFxItemPrivate
{
public:
- QFxFlipablePrivate() : current(QFxFlipable::Front), front(0), back(0) {}
+ QFxFlipablePrivate() : current(QFxFlipable::Front), front(0), back(0), axis(0), rotation(0) {}
+
+ void setBackTransform();
+ void _q_updateAxis();
QFxFlipable::Side current;
QFxItem *front;
QFxItem *back;
+ QFxAxis *axis;
+ QFxRotation axisRotation;
+ qreal rotation;
};
/*!
@@ -65,18 +71,18 @@ public:
\code
<Flipable id="flipable" width="40" height="40">
- <transform>
- <Axis id="axis" xStart="20" xEnd="20" yStart="20" yEnd="0" />
- </transform>
+ <axis>
+ <Axis startX="20" startY="0" endX="20" endY="40" />
+ </axis>
<front>
- <Image file="front.png"/>
+ <Image src="front.png"/>
</front>
<back>
- <Image file="back.png"/>
+ <Image src="back.png"/>
</back>
<states>
<State name="back">
- <SetProperty target="{axis}" property="rotation" value="180" />
+ <SetProperty target="{flipable}" property="rotation" value="180" />
</State>
</states>
<transitions>
@@ -153,6 +159,114 @@ void QFxFlipable::setBack(QFxItem *back)
children()->append(d->back);
if (Front == d->current)
d->back->setOpacity(0.);
+ d->setBackTransform();
+}
+
+/*!
+ \qmlproperty Axis Flipable::axis
+
+ The axis to flip around. See the \l Axis documentation for more
+ information on specifying an axis.
+*/
+
+QFxAxis *QFxFlipable::axis()
+{
+ Q_D(QFxFlipable);
+ return d->axis;
+}
+
+void QFxFlipable::setAxis(QFxAxis *axis)
+{
+ Q_D(QFxFlipable);
+ //### disconnect if we are already connected?
+ if (d->axis)
+ disconnect(d->axis, SIGNAL(updated()), this, SLOT(_q_updateAxis()));
+ d->axis = axis;
+ connect(d->axis, SIGNAL(updated()), this, SLOT(_q_updateAxis()));
+ d->_q_updateAxis();
+}
+
+void QFxFlipablePrivate::_q_updateAxis()
+{
+ axisRotation.axis()->setStartX(axis->startX());
+ axisRotation.axis()->setStartY(axis->startY());
+ axisRotation.axis()->setEndX(axis->endX());
+ axisRotation.axis()->setEndY(axis->endY());
+ axisRotation.axis()->setEndZ(axis->endZ());
+
+ setBackTransform();
+}
+
+void QFxFlipablePrivate::setBackTransform()
+{
+ if (!back)
+ return;
+
+ QPointF p1(0, 0);
+ QPointF p2(1, 0);
+ QPointF p3(1, 1);
+
+ axisRotation.setAngle(180);
+ p1 = axisRotation.transform().map(p1);
+ p2 = axisRotation.transform().map(p2);
+ p3 = axisRotation.transform().map(p3);
+ axisRotation.setAngle(rotation);
+
+ QSimpleCanvas::Matrix mat;
+#ifdef QFX_RENDER_OPENGL
+ mat.translate(back->width()/2,back->height()/2, 0);
+ if (back->width() && p1.x() >= p2.x())
+ mat.rotate(180, 0, 1, 0);
+ if (back->height() && p2.y() >= p3.y())
+ mat.rotate(180, 1, 0, 0);
+ mat.translate(-back->width()/2,-back->height()/2, 0);
+#else
+ mat.translate(back->width()/2,back->height()/2);
+ if (back->width() && p1.x() >= p2.x())
+ mat.rotate(180, Qt::YAxis);
+ if (back->height() && p2.y() >= p3.y())
+ mat.rotate(180, Qt::XAxis);
+ mat.translate(-back->width()/2,-back->height()/2);
+#endif
+ back->setTransform(mat);
+}
+
+/*!
+ \qmlproperty real Flipable::rotation
+ The angle to rotate the flipable. For example, to show the back side of the flipable
+ you can set the rotation to 180.
+*/
+qreal QFxFlipable::rotation() const
+{
+ Q_D(const QFxFlipable);
+ return d->rotation;
+}
+
+void QFxFlipable::setRotation(qreal angle)
+{
+ Q_D(QFxFlipable);
+ d->rotation = angle;
+ d->axisRotation.setAngle(angle);
+ setTransform(d->axisRotation.transform());
+
+
+ int simpleAngle = int(angle) % 360;
+
+ Side newSide;
+ if (simpleAngle < 91 || simpleAngle > 270) {
+ newSide = Front;
+ } else {
+ newSide = Back;
+ }
+
+ if (newSide != d->current) {
+ d->current = newSide;
+ if (d->front)
+ d->front->setOpacity((d->current==Front)?1.:0.);
+ if (d->back)
+ d->back->setOpacity((d->current==Back)?1.:0.);
+ emit sideChanged();
+ }
}
/*!
@@ -167,6 +281,9 @@ QFxFlipable::Side QFxFlipable::side() const
return d->current;
}
+//in some cases the user may want to specify a more complex transformation.
+//in that case, we still allow the generic use of transform.
+//(the logic here should be kept in sync with setBackTransform and setRotation)
void QFxFlipable::transformChanged(const QSimpleCanvas::Matrix &trans)
{
Q_D(QFxFlipable);
@@ -218,3 +335,5 @@ void QFxFlipable::transformChanged(const QSimpleCanvas::Matrix &trans)
}
QT_END_NAMESPACE
+
+#include "moc_qfxflipable.cpp"
diff --git a/src/declarative/fx/qfxflipable.h b/src/declarative/fx/qfxflipable.h
index 2c6c849..ef1832e 100644
--- a/src/declarative/fx/qfxflipable.h
+++ b/src/declarative/fx/qfxflipable.h
@@ -55,6 +55,7 @@ QT_BEGIN_NAMESPACE
QT_MODULE(Declarative)
+class QFxAxis;
class QFxFlipablePrivate;
class Q_DECLARATIVE_EXPORT QFxFlipable : public QFxItem
{
@@ -63,6 +64,8 @@ class Q_DECLARATIVE_EXPORT QFxFlipable : public QFxItem
Q_ENUMS(Side);
Q_PROPERTY(QFxItem *front READ front WRITE setFront)
Q_PROPERTY(QFxItem *back READ back WRITE setBack)
+ Q_PROPERTY(QFxAxis *axis READ axis WRITE setAxis)
+ Q_PROPERTY(qreal rotation READ rotation WRITE setRotation)
Q_PROPERTY(Side side READ side NOTIFY sideChanged)
public:
QFxFlipable(QFxItem *parent=0);
@@ -74,6 +77,12 @@ public:
QFxItem *back();
void setBack(QFxItem *);
+ QFxAxis *axis();
+ void setAxis(QFxAxis *axis);
+
+ qreal rotation() const;
+ void setRotation(qreal angle);
+
enum Side { Front, Back };
Side side() const;
@@ -84,6 +93,7 @@ Q_SIGNALS:
void sideChanged();
private:
+ Q_PRIVATE_SLOT(d_func(), void _q_updateAxis())
Q_DISABLE_COPY(QFxFlipable)
Q_DECLARE_PRIVATE(QFxFlipable)
};
diff --git a/src/declarative/fx/qfxhighlightfilter.cpp b/src/declarative/fx/qfxhighlightfilter.cpp
index ab0512c..70b50cd 100644
--- a/src/declarative/fx/qfxhighlightfilter.cpp
+++ b/src/declarative/fx/qfxhighlightfilter.cpp
@@ -119,7 +119,7 @@ QFxHighlightFilter::~QFxHighlightFilter()
*/
/*!
- \property QFxHighlightFilter::src
+ \property QFxHighlightFilter::source
\brief the URL of the image to be used as the highlight.
*/
QString QFxHighlightFilter::source() const
diff --git a/src/declarative/fx/qfxhighlightfilter.h b/src/declarative/fx/qfxhighlightfilter.h
index 6204242..218f4e1 100644
--- a/src/declarative/fx/qfxhighlightfilter.h
+++ b/src/declarative/fx/qfxhighlightfilter.h
@@ -56,7 +56,7 @@ class Q_DECLARATIVE_EXPORT QFxHighlightFilter : public QSimpleCanvasFilter
{
Q_OBJECT
- Q_PROPERTY(QString src READ source WRITE setSource NOTIFY sourceChanged)
+ Q_PROPERTY(QString source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(bool tiled READ tiled WRITE setTiled NOTIFY tiledChanged)
Q_PROPERTY(int xOffset READ xOffset WRITE setXOffset NOTIFY offsetChanged)
Q_PROPERTY(int yOffset READ yOffset WRITE setYOffset NOTIFY offsetChanged)
diff --git a/src/declarative/fx/qfximage.h b/src/declarative/fx/qfximage.h
index 4eed0ef..37fe5be 100644
--- a/src/declarative/fx/qfximage.h
+++ b/src/declarative/fx/qfximage.h
@@ -57,7 +57,7 @@ class Q_DECLARATIVE_EXPORT QFxImage : public QFxItem
Q_ENUMS(Status)
Q_PROPERTY(Status status READ status NOTIFY statusChanged)
- Q_PROPERTY(QString src READ source WRITE setSource NOTIFY sourceChanged)
+ Q_PROPERTY(QString source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(QFxScaleGrid *scaleGrid READ scaleGrid)
Q_PROPERTY(bool tile READ isTiled WRITE setTiled)
diff --git a/src/declarative/fx/qfxparticles.cpp b/src/declarative/fx/qfxparticles.cpp
index 309ebe8..16b3570 100644
--- a/src/declarative/fx/qfxparticles.cpp
+++ b/src/declarative/fx/qfxparticles.cpp
@@ -573,10 +573,10 @@ QFxParticles::~QFxParticles()
*/
/*!
- \property QFxParticles::src
+ \property QFxParticles::source
\brief the URL of the particle image.
*/
-QString QFxParticles::url() const
+QString QFxParticles::source() const
{
Q_D(const QFxParticles);
return d->source;
@@ -593,7 +593,7 @@ void QFxParticles::imageLoaded()
update();
}
-void QFxParticles::setUrl(const QString &name)
+void QFxParticles::setSource(const QString &name)
{
Q_D(QFxParticles);
diff --git a/src/declarative/fx/qfxparticles.h b/src/declarative/fx/qfxparticles.h
index d9c810d..0696e60 100644
--- a/src/declarative/fx/qfxparticles.h
+++ b/src/declarative/fx/qfxparticles.h
@@ -153,7 +153,7 @@ class Q_DECLARATIVE_EXPORT QFxParticles : public QFxItem
{
Q_OBJECT
- Q_PROPERTY(QString src READ url WRITE setUrl);
+ Q_PROPERTY(QString source READ source WRITE setSource);
Q_PROPERTY(int count READ count WRITE setCount);
Q_PROPERTY(int lifeSpan READ lifeSpan WRITE setLifeSpan);
Q_PROPERTY(int lifeSpanDeviation READ lifeSpanDeviation WRITE setLifeSpanDeviation);
@@ -172,8 +172,8 @@ public:
QFxParticles(QFxItem *parent=0);
~QFxParticles();
- QString url() const;
- void setUrl(const QString &);
+ QString source() const;
+ void setSource(const QString &);
int count() const;
void setCount(int cnt);
diff --git a/src/declarative/fx/qfxtransform.cpp b/src/declarative/fx/qfxtransform.cpp
index 9f18413..c355158 100644
--- a/src/declarative/fx/qfxtransform.cpp
+++ b/src/declarative/fx/qfxtransform.cpp
@@ -85,7 +85,16 @@ void QFxTransform::update()
/*!
\qmlclass Axis
- \brief An axis that can be used for rotation or translation.
+ \brief The Axis element defines an axis that can be used for rotation or translation.
+
+ An axis is specified by 2 points in 3D space: a start point and
+ an end point. While technically the axis is the line running through these two points
+ (and thus many different sets of two points could define the same axis), the distance
+ between the points does matter for translation along an axis.
+
+ \code
+ <Axis startX="0" startY="0" endX="20" endY="30"/>
+ \endcode
*/
QML_DEFINE_TYPE(QFxAxis, Axis);
@@ -99,6 +108,13 @@ QFxAxis::~QFxAxis()
{
}
+/*!
+ \qmlproperty real Axis::startX
+ \qmlproperty real Axis::startY
+
+ The start point of the axis. The z-position of the start point is assumed to be 0, and cannot
+ be changed.
+*/
qreal QFxAxis::startX() const
{
return _startX;
@@ -121,6 +137,13 @@ void QFxAxis::setStartY(qreal y)
emit updated();
}
+/*!
+ \qmlproperty real Axis::endX
+ \qmlproperty real Axis::endY
+ \qmlproperty real Axis::endZ
+
+ The end point of the axis.
+*/
qreal QFxAxis::endX() const
{
return _endX;
diff --git a/src/declarative/fx/qfxwebview.cpp b/src/declarative/fx/qfxwebview.cpp
index a6210e5..b2ad06c 100644
--- a/src/declarative/fx/qfxwebview.cpp
+++ b/src/declarative/fx/qfxwebview.cpp
@@ -75,6 +75,73 @@ QML_DEFINE_TYPE(QFxWebView,WebView);
static const int MAX_DOUBLECLICK_TIME=500; // XXX need better gesture system
+class QFxWebSettings : public QObject {
+ Q_OBJECT
+ /*
+ StandardFont,
+ FixedFont,
+ SerifFont,
+ SansSerifFont,
+ CursiveFont,
+ FantasyFont
+
+ MinimumFontSize,
+ MinimumLogicalFontSize,
+ DefaultFontSize,
+ DefaultFixedFontSize
+ */
+
+ Q_PROPERTY(bool autoLoadImages READ autoLoadImages WRITE setAutoLoadImages)
+ Q_PROPERTY(bool javascriptEnabled READ javascriptEnabled WRITE setJavascriptEnabled)
+ Q_PROPERTY(bool javaEnabled READ javaEnabled WRITE setJavaEnabled)
+ Q_PROPERTY(bool pluginsEnabled READ pluginsEnabled WRITE setPluginsEnabled)
+ Q_PROPERTY(bool privateBrowsingEnabled READ privateBrowsingEnabled WRITE setPrivateBrowsingEnabled)
+ Q_PROPERTY(bool javascriptCanOpenWindows READ javascriptCanOpenWindows WRITE setJavascriptCanOpenWindows)
+ Q_PROPERTY(bool javascriptCanAccessClipboard READ javascriptCanAccessClipboard WRITE setJavascriptCanAccessClipboard)
+ Q_PROPERTY(bool developerExtrasEnabled READ developerExtrasEnabled WRITE setDeveloperExtrasEnabled)
+ Q_PROPERTY(bool linksIncludedInFocusChain READ linksIncludedInFocusChain WRITE setLinksIncludedInFocusChain)
+ Q_PROPERTY(bool zoomTextOnly READ zoomTextOnly WRITE setZoomTextOnly)
+ Q_PROPERTY(bool printElementBackgrounds READ printElementBackgrounds WRITE setPrintElementBackgrounds)
+ Q_PROPERTY(bool offlineStorageDatabaseEnabled READ offlineStorageDatabaseEnabled WRITE setOfflineStorageDatabaseEnabled)
+ Q_PROPERTY(bool offlineWebApplicationCacheEnabled READ offlineWebApplicationCacheEnabled WRITE setOfflineWebApplicationCacheEnabled)
+ Q_PROPERTY(bool localStorageDatabaseEnabled READ localStorageDatabaseEnabled WRITE setLocalStorageDatabaseEnabled)
+
+public:
+ QFxWebSettings() {}
+
+ bool autoLoadImages() const { return s->testAttribute(QWebSettings::AutoLoadImages); }
+ void setAutoLoadImages(bool on) { s->setAttribute(QWebSettings::AutoLoadImages, on); }
+ bool javascriptEnabled() const { return s->testAttribute(QWebSettings::JavascriptEnabled); }
+ void setJavascriptEnabled(bool on) { s->setAttribute(QWebSettings::JavascriptEnabled, on); }
+ bool javaEnabled() const { return s->testAttribute(QWebSettings::JavaEnabled); }
+ void setJavaEnabled(bool on) { s->setAttribute(QWebSettings::JavaEnabled, on); }
+ bool pluginsEnabled() const { return s->testAttribute(QWebSettings::PluginsEnabled); }
+ void setPluginsEnabled(bool on) { s->setAttribute(QWebSettings::PluginsEnabled, on); }
+ bool privateBrowsingEnabled() const { return s->testAttribute(QWebSettings::PrivateBrowsingEnabled); }
+ void setPrivateBrowsingEnabled(bool on) { s->setAttribute(QWebSettings::PrivateBrowsingEnabled, on); }
+ bool javascriptCanOpenWindows() const { return s->testAttribute(QWebSettings::JavascriptCanOpenWindows); }
+ void setJavascriptCanOpenWindows(bool on) { s->setAttribute(QWebSettings::JavascriptCanOpenWindows, on); }
+ bool javascriptCanAccessClipboard() const { return s->testAttribute(QWebSettings::JavascriptCanAccessClipboard); }
+ void setJavascriptCanAccessClipboard(bool on) { s->setAttribute(QWebSettings::JavascriptCanAccessClipboard, on); }
+ bool developerExtrasEnabled() const { return s->testAttribute(QWebSettings::DeveloperExtrasEnabled); }
+ void setDeveloperExtrasEnabled(bool on) { s->setAttribute(QWebSettings::DeveloperExtrasEnabled, on); }
+ bool linksIncludedInFocusChain() const { return s->testAttribute(QWebSettings::LinksIncludedInFocusChain); }
+ void setLinksIncludedInFocusChain(bool on) { s->setAttribute(QWebSettings::LinksIncludedInFocusChain, on); }
+ bool zoomTextOnly() const { return s->testAttribute(QWebSettings::ZoomTextOnly); }
+ void setZoomTextOnly(bool on) { s->setAttribute(QWebSettings::ZoomTextOnly, on); }
+ bool printElementBackgrounds() const { return s->testAttribute(QWebSettings::PrintElementBackgrounds); }
+ void setPrintElementBackgrounds(bool on) { s->setAttribute(QWebSettings::PrintElementBackgrounds, on); }
+ bool offlineStorageDatabaseEnabled() const { return s->testAttribute(QWebSettings::OfflineStorageDatabaseEnabled); }
+ void setOfflineStorageDatabaseEnabled(bool on) { s->setAttribute(QWebSettings::OfflineStorageDatabaseEnabled, on); }
+ bool offlineWebApplicationCacheEnabled() const { return s->testAttribute(QWebSettings::OfflineWebApplicationCacheEnabled); }
+ void setOfflineWebApplicationCacheEnabled(bool on) { s->setAttribute(QWebSettings::OfflineWebApplicationCacheEnabled, on); }
+ bool localStorageDatabaseEnabled() const { return s->testAttribute(QWebSettings::LocalStorageDatabaseEnabled); }
+ void setLocalStorageDatabaseEnabled(bool on) { s->setAttribute(QWebSettings::LocalStorageDatabaseEnabled, on); }
+
+ QWebSettings *s;
+};
+
+
class QFxWebViewPrivate : public QFxItemPrivate
{
Q_DECLARE_PUBLIC(QFxWebView)
@@ -131,6 +198,7 @@ public:
QUrl pending_url;
QString pending_string;
QByteArray pending_data;
+ mutable QFxWebSettings settings;
};
@@ -866,9 +934,6 @@ QWebPage *QFxWebView::page() const
wp->setNetworkAccessManager(qmlEngine(this)->networkAccessManager());
- // XXX settable from QML?
- wp->settings()->setAttribute(QWebSettings::PluginsEnabled, true);
-
self->setPage(wp);
return wp;
@@ -877,6 +942,13 @@ QWebPage *QFxWebView::page() const
return d->page;
}
+// The QObject interface to settings().
+QObject *QFxWebView::settingsObject() const
+{
+ Q_D(const QFxWebView);
+ d->settings.s = page()->settings();
+ return &d->settings;
+}
void QFxWebView::setPage(QWebPage *page)
{
@@ -1031,7 +1103,10 @@ public:
QmlEngine *engine = qmlEngine(webview);
component = new QmlComponent(engine, url, this);
item = 0;
- connect(engine, SIGNAL(statusChanged(Status)), this, SLOT(qmlLoaded()));
+ if (component->isReady())
+ qmlLoaded();
+ else
+ connect(component, SIGNAL(statusChanged(QmlComponent::Status)), this, SLOT(qmlLoaded()));
}
public Q_SLOTS:
diff --git a/src/declarative/fx/qfxwebview.h b/src/declarative/fx/qfxwebview.h
index 1eede52..6ba4601 100644
--- a/src/declarative/fx/qfxwebview.h
+++ b/src/declarative/fx/qfxwebview.h
@@ -103,6 +103,8 @@ class Q_DECLARATIVE_EXPORT QFxWebView : public QFxItem
Q_PROPERTY(QObject* forward READ forwardAction)
Q_PROPERTY(QObject* stop READ stopAction)
+ Q_PROPERTY(QObject* settings READ settingsObject)
+
public:
QFxWebView(QFxItem *parent=0);
~QFxWebView();
@@ -164,6 +166,7 @@ public:
QWebHistory *history() const;
QWebSettings *settings() const;
+ QObject *settingsObject() const;
QString status() const;
diff --git a/src/declarative/qml/parser/javascript.g b/src/declarative/qml/parser/javascript.g
index 961041e..52d076f 100644
--- a/src/declarative/qml/parser/javascript.g
+++ b/src/declarative/qml/parser/javascript.g
@@ -87,7 +87,7 @@
%nonassoc T_IDENTIFIER T_COLON
%nonassoc REDUCE_HERE
-%start Program
+%start UiProgram
/.
/****************************************************************************
@@ -286,7 +286,7 @@ public:
bool parse(JavaScriptEnginePrivate *driver);
JavaScript::AST::UiProgram *ast()
- { return sym(1).UiProgram; }
+ { return program; }
QList<DiagnosticMessage> diagnosticMessages() const
{ return diagnostic_messages; }
@@ -326,6 +326,8 @@ protected:
int *state_stack;
JavaScript::AST::SourceLocation *location_stack;
+ JavaScript::AST::UiProgram *program;
+
// error recovery
enum { TOKEN_BUFFER_SIZE = 3 };
@@ -422,6 +424,7 @@ bool JavaScriptParser::parse(JavaScriptEnginePrivate *driver)
first_token = last_token = 0;
tos = -1;
+ program = 0;
do {
if (++tos == stack_size)
@@ -466,11 +469,12 @@ bool JavaScriptParser::parse(JavaScriptEnginePrivate *driver)
-- Declarative UI
--------------------------------------------------------------------------------------------------------
-Program: UiImportListOpt UiObjectMemberList ;
+UiProgram: UiImportListOpt UiObjectMemberList ;
/.
case $rule_number: {
- sym(1).Node = makeAstNode<AST::UiProgram> (driver->nodePool(), sym(1).UiImportList,
+ program = makeAstNode<AST::UiProgram> (driver->nodePool(), sym(1).UiImportList,
sym(2).UiObjectMemberList->finish());
+ sym(1).UiProgram = program;
} break;
./
@@ -602,7 +606,7 @@ case $rule_number: {
sym(4).UiObjectMemberList->finish());
node->colonToken = loc(2);
node->lbracketToken = loc(3);
- node->rbraceToken = loc(5);
+ node->rbracketToken = loc(5);
sym(1).Node = node;
} break;
./
@@ -2617,6 +2621,7 @@ PropertyNameAndValueListOpt: PropertyNameAndValueList ;
yytoken = *tk;
yylval = 0;
yylloc = token_buffer[0].loc;
+ yylloc.length = 0;
first_token = &token_buffer[0];
last_token = &token_buffer[2];
@@ -2639,6 +2644,7 @@ PropertyNameAndValueListOpt: PropertyNameAndValueList ;
yytoken = tk;
yylval = 0;
yylloc = token_buffer[0].loc;
+ yylloc.length = 0;
action = errorState;
goto _Lcheck_token;
diff --git a/src/declarative/qml/parser/javascriptast_p.h b/src/declarative/qml/parser/javascriptast_p.h
index 69958e5..8515998 100644
--- a/src/declarative/qml/parser/javascriptast_p.h
+++ b/src/declarative/qml/parser/javascriptast_p.h
@@ -128,6 +128,11 @@ public:
startLine(0), startColumn(0)
{ }
+ bool isValid() const { return length != 0; }
+
+ quint32 begin() const { return offset; }
+ quint32 end() const { return offset + length; }
+
// attributes
// ### encode
quint32 offset;
@@ -2175,6 +2180,40 @@ public:
UiObjectMemberList *members;
};
+class UiQualifiedId: public Node
+{
+public:
+ JAVASCRIPT_DECLARE_AST_NODE(UiQualifiedId)
+
+ UiQualifiedId(JavaScriptNameIdImpl *name)
+ : next(this), name(name)
+ { kind = K; }
+
+ UiQualifiedId(UiQualifiedId *previous, JavaScriptNameIdImpl *name)
+ : name(name)
+ {
+ kind = K;
+ next = previous->next;
+ previous->next = this;
+ }
+
+ virtual ~UiQualifiedId() {}
+
+ UiQualifiedId *finish()
+ {
+ UiQualifiedId *head = next;
+ next = 0;
+ return head;
+ }
+
+ virtual void accept0(Visitor *visitor);
+
+// attributes
+ UiQualifiedId *next;
+ JavaScriptNameIdImpl *name;
+ SourceLocation identifierToken;
+};
+
class UiImport: public Node
{
public:
@@ -2227,6 +2266,57 @@ public:
class UiObjectMember: public Node
{
+public:
+ virtual SourceLocation firstSourceLocation() const = 0;
+ virtual SourceLocation lastSourceLocation() const = 0;
+};
+
+class UiObjectMemberList: public Node
+{
+public:
+ JAVASCRIPT_DECLARE_AST_NODE(UiObjectMemberList)
+
+ UiObjectMemberList(UiObjectMember *member)
+ : next(this), member(member)
+ { kind = K; }
+
+ UiObjectMemberList(UiObjectMemberList *previous, UiObjectMember *member)
+ : member(member)
+ {
+ kind = K;
+ next = previous->next;
+ previous->next = this;
+ }
+
+ virtual void accept0(Visitor *visitor);
+
+ UiObjectMemberList *finish()
+ {
+ UiObjectMemberList *head = next;
+ next = 0;
+ return head;
+ }
+
+// attributes
+ UiObjectMemberList *next;
+ UiObjectMember *member;
+};
+
+class UiObjectInitializer: public Node
+{
+public:
+ JAVASCRIPT_DECLARE_AST_NODE(UiObjectInitializer)
+
+ UiObjectInitializer(UiObjectMemberList *members)
+ : members(members)
+ { kind = K; }
+
+ virtual void accept0(Visitor *visitor);
+
+// attributes
+ SourceLocation lbraceToken;
+ UiObjectMemberList *members;
+ SourceLocation rbraceToken;
};
class UiPublicMember: public UiObjectMember
@@ -2245,6 +2335,22 @@ public:
: memberType(memberType), name(name), expression(expression)
{ kind = K; }
+ virtual SourceLocation firstSourceLocation() const
+ { return publicToken; }
+
+ virtual SourceLocation lastSourceLocation() const
+ {
+ if (expression)
+ return expression->lastSourceLocation();
+ else if (colonToken.isValid())
+ return colonToken;
+ else if (identifierToken.isValid())
+ return identifierToken;
+ else if (attributeTypeToken.isValid())
+ return attributeTypeToken;
+ return publicToken;
+ }
+
virtual void accept0(Visitor *visitor);
// attributes
@@ -2267,29 +2373,23 @@ public:
: name(name), initializer(initializer)
{ kind = K; }
- virtual void accept0(Visitor *visitor);
-
-// attributes
- JavaScriptNameIdImpl *name;
- UiObjectInitializer *initializer;
- SourceLocation identifierToken;
-};
+ virtual SourceLocation firstSourceLocation() const
+ { return identifierToken; }
-class UiObjectInitializer: public Node
-{
-public:
- JAVASCRIPT_DECLARE_AST_NODE(UiObjectInitializer)
+ virtual SourceLocation lastSourceLocation() const
+ {
+ if (initializer)
+ return initializer->rbraceToken;
- UiObjectInitializer(UiObjectMemberList *members)
- : members(members)
- { kind = K; }
+ return identifierToken;
+ }
virtual void accept0(Visitor *visitor);
// attributes
- SourceLocation lbraceToken;
- UiObjectMemberList *members;
- SourceLocation rbraceToken;
+ JavaScriptNameIdImpl *name;
+ UiObjectInitializer *initializer;
+ SourceLocation identifierToken;
};
class UiSourceElement: public UiObjectMember
@@ -2301,6 +2401,27 @@ public:
: sourceElement(sourceElement)
{ kind = K; }
+ virtual SourceLocation firstSourceLocation() const
+ {
+ if (FunctionDeclaration *funDecl = cast<FunctionDeclaration *>(sourceElement))
+ return funDecl->firstSourceLocation();
+ else if (VariableStatement *varStmt = cast<VariableStatement *>(sourceElement))
+ return varStmt->firstSourceLocation();
+
+ return SourceLocation();
+ }
+
+ virtual SourceLocation lastSourceLocation() const
+ {
+ if (FunctionDeclaration *funDecl = cast<FunctionDeclaration *>(sourceElement))
+ return funDecl->lastSourceLocation();
+ else if (VariableStatement *varStmt = cast<VariableStatement *>(sourceElement))
+ return varStmt->lastSourceLocation();
+
+ return SourceLocation();
+ }
+
+
virtual void accept0(Visitor *visitor);
// attributes
@@ -2320,6 +2441,12 @@ public:
initializer(initializer)
{ kind = K; }
+ virtual SourceLocation firstSourceLocation() const
+ { return qualifiedId->identifierToken; }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return initializer->rbraceToken; }
+
virtual void accept0(Visitor *visitor);
// attributes
@@ -2341,6 +2468,12 @@ public:
statement(statement)
{ kind = K; }
+ virtual SourceLocation firstSourceLocation() const
+ { return qualifiedId->identifierToken; }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return statement->lastSourceLocation(); }
+
virtual void accept0(Visitor *visitor);
// attributes
@@ -2360,6 +2493,12 @@ public:
members(members)
{ kind = K; }
+ virtual SourceLocation firstSourceLocation() const
+ { return lbracketToken; }
+
+ virtual SourceLocation lastSourceLocation() const
+ { return rbracketToken; }
+
virtual void accept0(Visitor *visitor);
// attributes
@@ -2367,75 +2506,9 @@ public:
UiObjectMemberList *members;
SourceLocation colonToken;
SourceLocation lbracketToken;
- SourceLocation rbraceToken;
-};
-
-class UiObjectMemberList: public Node
-{
-public:
- JAVASCRIPT_DECLARE_AST_NODE(UiObjectMemberList)
-
- UiObjectMemberList(UiObjectMember *member)
- : next(this), member(member)
- { kind = K; }
-
- UiObjectMemberList(UiObjectMemberList *previous, UiObjectMember *member)
- : member(member)
- {
- kind = K;
- next = previous->next;
- previous->next = this;
- }
-
- virtual void accept0(Visitor *visitor);
-
- UiObjectMemberList *finish()
- {
- UiObjectMemberList *head = next;
- next = 0;
- return head;
- }
-
-// attributes
- UiObjectMemberList *next;
- UiObjectMember *member;
-};
-
-class UiQualifiedId: public Node
-{
-public:
- JAVASCRIPT_DECLARE_AST_NODE(UiQualifiedId)
-
- UiQualifiedId(JavaScriptNameIdImpl *name)
- : next(this), name(name)
- { kind = K; }
-
- UiQualifiedId(UiQualifiedId *previous, JavaScriptNameIdImpl *name)
- : name(name)
- {
- kind = K;
- next = previous->next;
- previous->next = this;
- }
-
- virtual ~UiQualifiedId() {}
-
- UiQualifiedId *finish()
- {
- UiQualifiedId *head = next;
- next = 0;
- return head;
- }
-
- virtual void accept0(Visitor *visitor);
-
-// attributes
- UiQualifiedId *next;
- JavaScriptNameIdImpl *name;
- SourceLocation identifierToken;
+ SourceLocation rbracketToken;
};
-
} } // namespace AST
diff --git a/src/declarative/qml/parser/javascriptgrammar.cpp b/src/declarative/qml/parser/javascriptgrammar.cpp
index b06fd32..b344366 100644
--- a/src/declarative/qml/parser/javascriptgrammar.cpp
+++ b/src/declarative/qml/parser/javascriptgrammar.cpp
@@ -118,458 +118,466 @@ const int JavaScriptGrammar:: rhs[] = {
1, 0, 1, 0, 1, 2};
const int JavaScriptGrammar::action_default [] = {
- 8, 2, 0, 0, 4, 3, 0, 296, 0, 6,
- 7, 5, 25, 223, 0, 27, 0, 224, 9, 1,
- 0, 0, 26, 0, 283, 284, 0, 281, 0, 282,
- 0, 285, 126, 193, 157, 165, 161, 201, 208, 105,
- 177, 207, 215, 203, 153, 0, 204, 286, 0, 291,
- 90, 205, 206, 211, 106, 169, 173, 94, 123, 104,
- 109, 89, 143, 209, 130, 288, 287, 290, 212, 0,
- 0, 0, 0, 36, 37, 0, 33, 0, 292, 30,
- 0, 294, 48, 0, 0, 0, 0, 0, 31, 34,
- 0, 0, 195, 237, 35, 0, 29, 0, 0, 32,
- 0, 0, 0, 0, 0, 213, 214, 119, 202, 210,
- 0, 0, 106, 125, 292, 30, 294, 108, 107, 0,
- 0, 0, 121, 122, 120, 0, 293, 283, 0, 0,
- 285, 0, 280, 0, 295, 0, 55, 56, 57, 58,
- 83, 59, 84, 60, 61, 62, 63, 64, 65, 66,
- 67, 52, 68, 69, 70, 71, 72, 54, 85, 73,
- 53, 74, 75, 76, 77, 78, 79, 80, 81, 82,
- 86, 0, 50, 0, 0, 42, 0, 51, 41, 124,
- 0, 154, 0, 0, 0, 0, 144, 0, 0, 0,
- 0, 0, 0, 134, 0, 0, 0, 128, 129, 127,
- 132, 136, 135, 133, 131, 146, 145, 147, 0, 162,
- 0, 158, 0, 0, 100, 99, 88, 87, 0, 0,
- 98, 194, 101, 0, 102, 0, 103, 97, 238, 239,
- 279, 0, 190, 183, 181, 188, 189, 187, 186, 192,
- 185, 184, 182, 191, 178, 0, 166, 0, 0, 170,
- 0, 0, 174, 0, 0, 100, 92, 0, 91, 0,
- 96, 289, 253, 0, 254, 255, 256, 249, 0, 250,
- 251, 252, 277, 278, 110, 0, 0, 0, 0, 0,
- 242, 243, 199, 197, 159, 167, 163, 179, 155, 200,
- 0, 106, 171, 175, 148, 137, 0, 0, 156, 0,
- 0, 0, 0, 149, 0, 0, 0, 0, 0, 141,
- 139, 142, 140, 138, 151, 150, 152, 0, 164, 0,
- 160, 0, 198, 106, 0, 180, 195, 196, 0, 195,
- 0, 0, 245, 0, 0, 0, 247, 0, 168, 0,
- 0, 172, 0, 0, 176, 235, 0, 227, 236, 230,
- 0, 234, 0, 195, 228, 0, 195, 0, 0, 246,
- 0, 0, 0, 248, 293, 0, 269, 0, 0, 0,
- 241, 0, 240, 217, 220, 0, 56, 83, 59, 84,
- 61, 62, 33, 66, 67, 30, 68, 71, 31, 34,
- 195, 35, 74, 29, 76, 32, 78, 79, 80, 81,
- 82, 86, 218, 216, 94, 95, 100, 0, 93, 0,
- 257, 258, 0, 0, 0, 260, 265, 263, 266, 0,
- 0, 264, 265, 0, 261, 0, 262, 219, 268, 0,
- 219, 267, 0, 270, 271, 0, 219, 272, 273, 0,
- 0, 274, 0, 0, 0, 275, 276, 112, 111, 0,
- 0, 0, 244, 0, 0, 0, 259, 0, 49, 0,
- 46, 48, 39, 0, 45, 40, 47, 44, 38, 0,
- 43, 116, 114, 118, 115, 113, 117, 0, 18, 13,
- 0, 14, 10, 0, 23, 0, 24, 0, 0, 22,
- 30, 48, 16, 27, 0, 11, 0, 17, 0, 20,
- 12, 0, 21, 30, 48, 15, 0, 19, 28, 232,
- 225, 0, 233, 229, 0, 231, 221, 0, 222, 226};
+ 8, 2, 0, 4, 3, 0, 0, 0, 6, 7,
+ 5, 25, 223, 0, 27, 0, 224, 9, 1, 0,
+ 0, 26, 0, 283, 284, 0, 281, 0, 282, 0,
+ 285, 126, 193, 157, 165, 161, 201, 208, 105, 177,
+ 207, 215, 203, 153, 0, 204, 286, 0, 291, 90,
+ 205, 206, 211, 106, 169, 173, 94, 123, 104, 109,
+ 89, 143, 209, 130, 288, 287, 290, 212, 0, 0,
+ 0, 0, 36, 37, 0, 33, 0, 292, 30, 0,
+ 294, 48, 0, 0, 0, 0, 0, 31, 34, 0,
+ 0, 195, 237, 35, 0, 29, 0, 0, 32, 0,
+ 0, 0, 0, 0, 213, 214, 119, 202, 210, 0,
+ 0, 106, 125, 292, 30, 294, 108, 107, 0, 0,
+ 0, 121, 122, 120, 0, 293, 283, 0, 0, 285,
+ 0, 280, 0, 295, 0, 55, 56, 57, 58, 83,
+ 59, 84, 60, 61, 62, 63, 64, 65, 66, 67,
+ 52, 68, 69, 70, 71, 72, 54, 85, 73, 53,
+ 74, 75, 76, 77, 78, 79, 80, 81, 82, 86,
+ 0, 50, 0, 0, 42, 0, 51, 41, 124, 0,
+ 154, 0, 0, 0, 0, 144, 0, 0, 0, 0,
+ 0, 0, 134, 0, 0, 0, 128, 129, 127, 132,
+ 136, 135, 133, 131, 146, 145, 147, 0, 162, 0,
+ 158, 0, 0, 100, 99, 88, 87, 0, 0, 98,
+ 194, 101, 0, 102, 0, 103, 97, 238, 239, 279,
+ 0, 190, 183, 181, 188, 189, 187, 186, 192, 185,
+ 184, 182, 191, 178, 0, 166, 0, 0, 170, 0,
+ 0, 174, 0, 0, 100, 92, 0, 91, 0, 96,
+ 289, 253, 0, 254, 255, 256, 249, 0, 250, 251,
+ 252, 277, 278, 110, 0, 0, 0, 0, 0, 242,
+ 243, 199, 197, 159, 167, 163, 179, 155, 200, 0,
+ 106, 171, 175, 148, 137, 0, 0, 156, 0, 0,
+ 0, 0, 149, 0, 0, 0, 0, 0, 141, 139,
+ 142, 140, 138, 151, 150, 152, 0, 164, 0, 160,
+ 0, 198, 106, 0, 180, 195, 196, 0, 195, 0,
+ 0, 245, 0, 0, 0, 247, 0, 168, 0, 0,
+ 172, 0, 0, 176, 235, 0, 227, 236, 230, 0,
+ 234, 0, 195, 228, 0, 195, 0, 0, 246, 0,
+ 0, 0, 248, 293, 0, 269, 0, 0, 0, 241,
+ 0, 240, 217, 220, 0, 56, 83, 59, 84, 61,
+ 62, 33, 66, 67, 30, 68, 71, 31, 34, 195,
+ 35, 74, 29, 76, 32, 78, 79, 80, 81, 82,
+ 86, 218, 216, 94, 95, 100, 0, 93, 0, 257,
+ 258, 0, 0, 0, 260, 265, 263, 266, 0, 0,
+ 264, 265, 0, 261, 0, 262, 219, 268, 0, 219,
+ 267, 0, 270, 271, 0, 219, 272, 273, 0, 0,
+ 274, 0, 0, 0, 275, 276, 112, 111, 0, 0,
+ 0, 244, 0, 0, 0, 259, 0, 49, 0, 46,
+ 48, 39, 0, 45, 40, 47, 44, 38, 0, 43,
+ 116, 114, 118, 115, 113, 117, 0, 18, 13, 0,
+ 14, 10, 0, 23, 0, 24, 0, 0, 22, 30,
+ 48, 16, 27, 0, 11, 0, 17, 0, 20, 12,
+ 0, 21, 30, 48, 15, 0, 19, 28, 232, 225,
+ 0, 233, 229, 0, 231, 221, 0, 222, 226, 296};
const int JavaScriptGrammar::goto_default [] = {
- 2, 6, 19, 1, 5, 4, 18, 494, 495, 478,
- 20, 373, 45, 12, 108, 61, 459, 457, 135, 134,
- 33, 458, 133, 136, 215, 57, 50, 223, 59, 39,
- 222, 54, 60, 107, 58, 32, 64, 62, 294, 44,
- 288, 34, 284, 36, 286, 35, 285, 55, 292, 56,
- 293, 40, 287, 283, 324, 409, 289, 290, 37, 43,
- 46, 51, 52, 41, 38, 63, 109, 53, 68, 105,
- 106, 42, 375, 374, 21, 511, 510, 346, 347, 513,
- 349, 512, 348, 415, 419, 422, 418, 417, 437, 438,
- 26, 48, 125, 25, 47, 66, 65, 0};
+ 6, 5, 18, 1, 4, 3, 17, 493, 494, 477,
+ 19, 372, 44, 11, 107, 60, 458, 456, 134, 133,
+ 32, 457, 132, 135, 214, 56, 49, 222, 58, 38,
+ 221, 53, 59, 106, 57, 31, 63, 61, 293, 43,
+ 287, 33, 283, 35, 285, 34, 284, 54, 291, 55,
+ 292, 39, 286, 282, 323, 408, 288, 289, 36, 42,
+ 45, 50, 51, 40, 37, 62, 108, 52, 67, 104,
+ 105, 41, 374, 373, 20, 510, 509, 345, 346, 512,
+ 348, 511, 347, 414, 418, 421, 417, 416, 436, 437,
+ 25, 47, 124, 24, 46, 65, 64, 0};
const int JavaScriptGrammar::action_index [] = {
- -25, -88, 89, 70, -88, -15, 251, -88, 85, -88,
- -88, -88, -88, -88, 56, 48, 46, -88, -88, 262,
- 127, 72, -88, -17, -9, 20, -29, -88, -3, -88,
- -6, 1289, 112, -88, 13, -44, -76, -88, -88, 212,
- -88, -88, -88, -88, 253, 228, -88, -88, -10, -88,
- -88, -88, -88, -88, 347, 53, 87, 154, 274, -88,
- -88, -88, 287, -88, 191, -88, 1289, -88, -88, 199,
- 194, 115, 557, -88, -88, 1205, -88, 66, 71, 77,
- 63, 1541, 79, 557, 557, 557, 480, 557, -88, -88,
- 557, 557, 557, -88, -88, 60, -88, 557, 557, -88,
- 41, 557, 557, 42, 44, -88, -88, -88, -88, -88,
- 557, 557, 83, 177, -24, -88, 1037, -88, -88, 557,
- 557, 557, -88, -88, -88, 25, -88, -18, -58, -8,
- 1289, -26, -88, 58, 64, 67, -88, -88, -88, -88,
+ -21, -88, 43, -88, -11, 246, 80, 75, -88, -88,
+ -88, -88, -88, 56, 66, 50, -88, -88, 238, 173,
+ 71, -88, 51, 27, 9, -30, -88, -2, -88, -7,
+ 1298, 132, -88, 23, -34, -73, -88, -88, 205, -88,
+ -88, -88, -88, 239, 203, -88, -88, -18, -88, -88,
+ -88, -88, -88, 489, 133, 111, 197, 177, -88, -88,
+ -88, 404, -88, 274, -88, 1298, -88, -88, 186, 181,
+ 89, 566, -88, -88, 1214, -88, 74, 68, 83, 69,
+ 1550, 87, 566, 566, 566, 379, 566, -88, -88, 566,
+ 566, 566, -88, -88, 52, -88, 566, 566, -88, 65,
+ 566, 566, 53, 58, -88, -88, -88, -88, -88, 566,
+ 566, 90, 172, 63, -88, 1046, -88, -88, 566, 566,
+ 566, -88, -88, -88, 40, -88, -17, -52, -28, 1298,
+ -26, -88, 24, 88, -12, -88, -88, -88, -88, -88,
-88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
-88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
-88, -88, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, 557, -88, 1121, 55, -88, 557, -88, -88, 175,
- 557, 250, 557, 557, 557, 557, 404, 557, 557, 557,
- 557, 557, 557, 158, 557, 557, 557, 80, 73, 81,
- 197, 238, 220, 159, 167, 277, 404, 317, 557, 14,
- 557, 90, 953, 557, 557, -88, -88, -88, 108, 557,
- -88, -88, 65, 49, -88, 557, -88, -88, -88, -88,
- -88, 557, -88, -88, -88, -88, -88, -88, -88, -88,
- -88, -88, -88, -88, -88, 557, 45, 557, 557, 75,
- 69, 557, -88, 953, 557, 557, -88, 153, -88, 6,
- -88, -88, -88, 105, -88, -88, -88, -88, 111, -88,
- -88, -88, -88, -88, -88, 21, 62, 557, 122, 95,
- -88, -88, 634, -88, 39, -30, -59, -88, 259, 8,
- -46, 417, 19, 125, 339, 188, -7, 557, 248, 557,
- 557, 557, 557, 339, 557, 557, 557, 557, 557, 187,
- 166, 192, 206, 232, 339, 339, 339, 557, -59, 557,
- 39, 557, -88, 380, 557, -88, 557, -5, -60, 557,
- -48, 1205, -88, 557, 142, 1205, -88, 557, -38, 557,
- 557, 7, 0, 557, -88, 17, 84, 22, -88, -88,
- 557, -88, 27, 557, -88, -13, 557, 52, 1205, -88,
- 557, 102, 1205, -88, 28, 1205, -88, 557, 100, 1205,
- 34, 1205, -88, -88, 1205, -19, 139, 9, 149, 82,
- 557, 1205, 23, 1, 119, 36, 10, 480, 40, 120,
- 869, 35, 5, 26, 557, 37, -1, 557, 29, 557,
- 31, 33, -88, -88, 205, -88, 557, -11, -88, 78,
- -88, -88, 557, 98, 38, -88, 47, -88, 54, 198,
- 557, -88, 30, 32, -88, -4, -88, 1205, -88, 107,
- 1205, -88, 213, -88, -88, 113, 1205, 43, -88, 18,
- 24, -88, -21, -54, -20, -88, -88, -88, -88, 557,
- 143, 1205, -88, 557, 110, 1205, -88, 118, 16, 788,
- -88, 15, -88, 711, -88, -88, -88, -88, -88, 121,
- -88, -88, -88, -88, -88, -88, -88, 298, -88, -88,
- 284, -88, -88, 59, 76, 557, 74, 1373, 57, -88,
- 147, 130, -88, 61, 97, -88, 96, -88, 50, -88,
- -88, 1457, -88, 116, 99, -88, 109, -88, -88, 51,
- -88, 190, -88, -88, 557, -88, -88, 68, -88, -88,
+ 566, -88, 1130, 32, -88, 566, -88, -88, 187, 566,
+ 233, 566, 566, 566, 566, 312, 566, 566, 566, 566,
+ 566, 566, 274, 566, 566, 566, 118, 131, 128, 160,
+ 180, 168, 200, 165, 322, 302, 404, 566, -8, 566,
+ 72, 962, 566, 566, -88, -88, -88, 106, 566, -88,
+ -88, 73, 59, -88, 566, -88, -88, -88, -88, -88,
+ 566, -88, -88, -88, -88, -88, -88, -88, -88, -88,
+ -88, -88, -88, -88, 566, 13, 566, 566, 133, 60,
+ 566, -88, 962, 566, 566, -88, 117, -88, 17, -88,
+ -88, -88, 92, -88, -88, -88, -88, 85, -88, -88,
+ -88, -88, -88, -88, 67, 70, 566, 104, 115, -88,
+ -88, 643, -88, 19, -29, -55, -88, 237, 8, -46,
+ 421, 20, 79, 339, 274, -4, 566, 227, 566, 566,
+ 566, 566, 257, 566, 566, 566, 566, 566, 274, 274,
+ 274, 274, 274, 263, 339, 339, 566, -75, 566, 3,
+ 566, -88, 489, 566, -88, 566, 47, -33, 566, -60,
+ 1214, -88, 566, 136, 1214, -88, 566, -35, 566, 566,
+ 7, 0, 566, -88, 1, 99, 2, -88, -88, 566,
+ -88, 28, 566, -88, 4, 566, 12, 1214, -88, 566,
+ 114, 1214, -88, 34, 1214, -88, 566, 110, 1214, 22,
+ 1214, -88, -88, 1214, -20, 152, 5, 162, 77, 566,
+ 1214, 41, 14, 84, 42, 11, 353, 38, 35, 801,
+ 25, 10, 33, 566, 44, 21, 566, 31, 566, 26,
+ 39, -88, -88, 194, -88, 566, -1, -88, 105, -88,
+ -88, 566, 95, 45, -88, 6, -88, 48, 211, 566,
+ -88, 36, 37, -88, -19, -88, 1214, -88, 109, 1214,
+ -88, 192, -88, -88, 120, 1214, 46, -88, 16, 30,
+ -88, 29, -54, -23, -88, -88, -88, -88, 566, 137,
+ 1214, -88, 566, 126, 1214, -88, 119, -6, 720, -88,
+ 15, -88, 878, -88, -88, -88, -88, -88, 96, -88,
+ -88, -88, -88, -88, -88, -88, 286, -88, -88, 248,
+ -88, -88, 54, 64, 566, 61, 1382, 55, -88, 171,
+ 123, -88, 49, 103, -88, 94, -88, 57, -88, -88,
+ 1466, -88, 116, 113, -88, 107, -88, -88, 76, -88,
+ 140, -88, -88, 566, -88, -88, 62, -88, -88, -88,
- -98, -98, -98, -98, -98, 30, 13, -98, -98, -98,
- -98, -98, -98, -98, -98, -98, -98, -98, -98, 87,
+ -98, -98, -98, -98, 13, 6, -98, -98, -98, -98,
+ -98, -98, -98, -98, -98, -98, -98, -98, 60, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
- -98, 83, -98, -98, -98, -98, -98, -98, -98, -98,
+ 62, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
- -98, -98, -98, -98, -43, -98, -98, -98, -98, -98,
- -98, -98, -98, -98, -98, -98, 184, -98, -98, -98,
- -98, -98, 113, -98, -98, -9, -98, -98, -98, -98,
- -98, -98, -98, 42, 116, 112, 127, 146, -98, -98,
- 151, 147, 40, -98, -98, -98, -98, 37, 89, -98,
- -10, 90, 86, -98, -98, -98, -98, -98, -98, -98,
- 77, 94, -98, -98, -98, -98, -98, -98, -98, 106,
- 103, 98, -98, -98, -98, -98, -98, -47, -98, -98,
- 253, -98, -98, -98, -98, -98, -98, -98, -98, -98,
+ -98, -98, -98, -32, -98, -98, -98, -98, -98, -98,
+ -98, -98, -98, -98, -98, 174, -98, -98, -98, -98,
+ -98, 63, -98, -98, -2, -98, -98, -98, -98, -98,
+ -98, -98, 51, 80, 83, 56, 99, -98, -98, 87,
+ 59, 48, -98, -98, -98, -98, 40, 113, -98, -17,
+ 139, 123, -98, -98, -98, -98, -98, -98, -98, 130,
+ 131, -98, -98, -98, -98, -98, -98, -98, 120, 117,
+ 112, -98, -98, -98, -98, -98, -60, -98, -98, 175,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
- -98, -7, -98, 0, -98, -98, -3, -98, -98, -98,
- 136, -98, 117, 119, 132, 134, -98, 130, 49, 36,
- 35, 61, 64, -98, 47, 46, 38, -98, -98, -98,
- -98, -98, -98, -98, -98, -98, -98, -98, 59, -98,
- 58, -98, 24, 32, 17, -98, -98, -98, -98, 21,
- -98, -98, -98, -98, -98, 8, -98, -98, -98, -98,
- -98, 4, -98, -98, -98, -98, -98, -98, -98, -98,
- -98, -98, -98, -98, -98, 60, -98, 57, -19, -98,
- -98, -17, -98, 118, 44, 133, -98, -98, -98, -98,
-98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
- -98, -98, -98, -98, -98, -98, -98, 3, -98, -98,
- -98, -98, 67, -98, -98, -98, -98, -98, -98, -98,
- -98, -98, -98, -98, -98, -98, -98, 186, -98, 196,
- 183, 177, 187, -98, 82, 76, 79, 96, 99, -98,
- -98, -98, -98, -98, -98, -98, -98, 168, -98, 158,
- -98, 156, -98, -98, 175, -98, 102, -98, -98, 104,
- -98, 25, -98, 27, -98, 29, -98, 155, -98, 154,
- 157, -98, -98, 167, -98, -98, -98, -98, -98, -98,
- 193, -98, -48, 126, -98, -98, 128, -98, 15, -98,
- 19, -98, 22, -98, -98, 23, -98, 20, -98, 18,
- -98, 34, -98, -98, 53, -98, -98, -98, -98, -98,
- 93, 52, -98, -98, -98, -98, -98, 81, -98, -98,
- 45, -98, -98, -98, 43, -98, -35, 137, -98, 141,
- -98, -98, -98, -98, -98, -98, 131, -98, -98, -98,
- -98, -98, -8, -98, -98, -98, -98, -98, -77, -98,
- 6, -98, -76, -98, -98, -98, -98, -52, -98, -98,
- -51, -98, -98, -98, -98, -98, -98, -75, -98, -98,
- -46, -98, -98, -98, -49, -98, -98, -98, -98, 7,
- -98, 5, -98, -12, -98, 75, -98, -98, -98, -14,
- -98, -11, -98, -13, -98, -98, -98, -98, -98, -98,
- -98, -98, -98, -98, -98, -98, -98, 73, -98, -98,
- 56, -98, -98, -98, -98, 41, -98, 39, -98, -98,
- 50, 48, -98, 51, -98, -98, -98, -98, 66, -98,
- -98, 31, -98, 16, 166, -98, -98, -98, -98, -98,
- -98, -98, -98, -98, 26, -98, -98, -38, -98, -98};
+ 33, -98, 35, -98, -98, 39, -98, -98, -98, 54,
+ -98, 64, 66, 67, 68, -98, 55, 52, 41, 71,
+ 93, 95, -98, 92, 86, 75, -98, -98, -98, -98,
+ -98, -98, -98, -98, -98, -98, -98, 69, -98, 78,
+ -98, 20, 32, 26, -98, -98, -98, -98, 8, -98,
+ -98, -98, -98, -98, 15, -98, -98, -98, -98, -98,
+ 31, -98, -98, -98, -98, -98, -98, -98, -98, -98,
+ -98, -98, -98, -98, 97, -98, 102, 34, -98, -98,
+ 38, -98, 47, 36, 42, -98, -98, -98, -98, -98,
+ -98, -98, -98, -98, -98, -98, -98, -98, -98, -98,
+ -98, -98, -98, -98, -98, -98, 30, -98, -98, -98,
+ -98, 144, -98, -98, -98, -98, -98, -98, -98, -98,
+ -98, -98, -98, -98, -98, -98, 187, -98, 173, 170,
+ 176, 162, -98, 140, 137, 127, 103, 121, -98, -98,
+ -98, -98, -98, -98, -98, -98, 158, -98, 161, -98,
+ 185, -98, -98, 188, -98, 129, -98, -98, 135, -98,
+ 29, -98, 19, -98, 21, -98, 189, -98, 186, 179,
+ -98, -98, 160, -98, -98, -98, -98, -98, -98, 146,
+ -98, -52, 128, -98, -98, 124, -98, 22, -98, 24,
+ -98, 27, -98, -98, 28, -98, 25, -98, 23, -98,
+ 18, -98, -98, 53, -98, -98, -98, -98, -98, 136,
+ 50, -98, -98, -98, -98, -98, 110, -98, -98, 44,
+ -98, -98, -98, 43, -98, -11, 49, -98, 45, -98,
+ -98, -98, -98, -98, -98, 88, -98, -98, -98, -98,
+ -98, 37, -98, -98, -98, -98, -98, -84, -98, -6,
+ -98, -83, -98, -98, -98, -98, -62, -98, -98, -47,
+ -98, -98, -98, -98, -98, -98, -77, -98, -98, -42,
+ -98, -98, -98, -37, -98, -98, -98, -98, -10, -98,
+ -7, -98, 77, -98, 0, -98, -98, -98, 7, -98,
+ 1, -98, -1, -98, -98, -98, -98, -98, -98, -98,
+ -98, -98, -98, -98, -98, -98, 240, -98, -98, 73,
+ -98, -98, -98, -98, 12, -98, -3, -98, -98, -9,
+ 3, -98, 14, -98, -98, -98, -98, 57, -98, -98,
+ 4, -98, 5, 115, -98, -98, -98, -98, -98, -98,
+ -98, -98, -98, -13, -98, -98, -71, -98, -98, -98};
const int JavaScriptGrammar::action_info [] = {
- 210, 329, 129, 219, 208, 126, 444, 343, 443, 337,
- 317, 27, 331, 436, 180, 326, 321, 319, 317, 24,
- 27, 337, 345, 460, 466, 130, 29, 31, 28, 132,
- -64, 30, 436, -75, 350, 420, 403, 282, -223, 427,
- 297, 412, -53, -52, -77, 230, 367, -72, 356, 408,
- 371, 426, 420, 360, 442, 245, 345, 436, -224, 420,
- 3, 127, 176, 440, 24, 171, 260, 449, 514, 453,
- 3, 416, 173, 225, 436, 483, 251, 245, 449, 493,
- 453, 477, 219, 485, 365, 23, 508, 460, 484, 7,
- 210, 180, 352, 208, 477, 276, 412, 509, 277, 367,
- 364, 509, 282, 501, 0, 498, 219, 460, 219, 227,
- 219, 488, 358, 110, 430, 219, 219, 498, 219, 439,
- 110, 110, 178, 365, 111, 117, 461, -54, 493, 219,
- 219, 111, 111, 440, 487, 8, 118, 247, 460, 411,
- 410, 248, 488, 273, 272, 353, 10, 9, 126, 477,
- 219, 219, 110, 499, 365, -292, 281, 280, 414, 493,
- 369, 219, 362, 111, 220, 507, 266, 265, 263, 253,
- 455, 0, 271, 270, 462, 339, 273, 272, 268, 340,
- 477, 470, 279, 194, 194, 195, 195, 119, 254, 119,
- 255, 194, 194, 195, 195, 0, 196, 196, 517, 0,
- 264, 262, 335, 451, 196, 196, 0, 0, 423, 258,
- 269, 267, 194, 194, 195, 195, 194, 194, 195, 195,
- 253, 219, 194, 268, 195, 196, 196, 212, 263, 196,
- 196, 194, 120, 195, 120, 196, 219, 0, 121, 254,
- 121, 406, 0, 0, 196, 194, 213, 195, 214, 0,
- 0, 518, 516, 424, 0, 269, 267, 194, 196, 195,
- 264, 262, 0, 194, 0, 195, 299, 300, 182, 183,
- 196, 182, 183, 14, 434, 433, 196, 299, 300, 0,
- 15, 0, 0, 0, 14, 0, 119, 0, 0, 229,
- 228, 15, 0, 301, 302, 184, 185, 0, 184, 185,
- 187, 188, 0, 0, 301, 302, 14, 0, 189, 190,
- 187, 188, 191, 15, 192, 0, 0, 0, 189, 190,
- 14, 0, 191, 17, 192, 0, 0, 15, 0, 0,
- 0, 120, 13, 0, 17, 16, 0, 121, 0, 481,
- 187, 188, 0, 13, 0, 0, 16, 0, 189, 190,
- 232, 0, 191, 479, 192, 0, 17, 0, 0, 0,
- 233, 0, 304, 305, 234, 13, 0, 0, 16, 0,
- 17, 306, 0, 235, 307, 236, 308, 0, 0, 13,
- 0, 0, 16, 232, 0, 0, 237, 0, 238, 117,
- 0, 0, 0, 233, 0, 0, 239, 234, 0, 240,
- 118, 0, 0, 0, 0, 241, 235, 0, 236, 0,
- 0, 242, 0, 0, 0, 0, 0, 0, 0, 237,
- 232, 238, 117, 0, 243, 0, 0, 187, 188, 239,
- 233, 0, 240, 118, 234, 189, 190, 0, 241, 191,
- 0, 192, 0, 235, 242, 236, 0, 0, 333, 0,
- 0, 0, 0, 0, 0, 0, 237, 243, 238, 117,
- 0, 0, 0, 0, 0, 0, 239, 0, 0, 240,
- 118, 0, 0, 0, 0, 241, 0, 0, 0, 0,
- 0, 242, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 73, 74, 243, 0, 0, 0, 0, 0,
- 0, 0, 114, 0, 0, 0, 0, 0, 0, 115,
- 0, 0, 0, 116, 82, 0, 83, 0, 0, 0,
- 0, 0, 0, 86, 0, 0, 0, 89, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 94, 0, 96, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 88, 99,
- 76, 0, 0, 0, 0, 0, 0, 0, 72, 73,
- 74, 0, 0, 0, 0, 0, 0, 0, 0, 114,
- 0, 0, 0, 0, 0, 0, 115, 0, 0, 0,
- 116, 82, 0, 83, 0, 0, 0, 84, 0, 85,
- 86, 87, 0, 0, 89, 0, 0, 0, 90, 0,
- 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 94, 0, 96, 0, 98, 0, 101, 0,
- 102, 0, 0, 0, 0, 88, 99, 76, 0, 0,
- 0, 0, 0, 0, 0, 72, 73, 74, 0, 0,
- 0, 0, 0, 0, 0, 0, 114, 0, 0, 0,
- 0, 0, 0, 115, 0, 0, 0, 116, 82, 0,
- 83, 0, 0, 0, 84, 0, 85, 86, 87, 0,
- 0, 89, 0, 0, 0, 90, 0, 91, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 94,
- 0, 96, 0, 98, 0, 101, 296, 102, 0, 0,
- 0, 0, 88, 99, 76, 0, 0, 0, 0, 0,
- 0, 0, 72, 73, 74, 0, 0, 0, 0, 0,
- 0, 0, 0, 114, 0, 0, 0, 0, 0, 0,
- 115, 0, 0, 0, 116, 82, 0, 83, 0, 0,
- 0, 84, 0, 85, 86, 87, 0, 0, 89, 0,
- 0, 0, 90, 0, 91, 0, 0, 465, 0, 0,
- 0, 0, 0, 0, 0, 0, 94, 0, 96, 0,
- 98, 0, 101, 0, 102, 0, 0, 0, 0, 88,
- 99, 76, 0, 0, 0, 0, 0, 0, 0, 72,
- 73, 74, 0, 0, 0, 0, 0, 0, 0, 0,
- 114, 0, 0, 0, 0, 0, 0, 115, 0, 0,
- 0, 116, 82, 0, 83, 0, 0, 0, 84, 0,
- 85, 86, 87, 0, 0, 89, 0, 0, 0, 90,
- 0, 91, 0, 0, 468, 0, 0, 0, 0, 0,
- 0, 0, 0, 94, 0, 96, 0, 98, 0, 101,
- 0, 102, 0, 0, 0, 0, 88, 99, 76, 0,
- 0, 0, 0, 0, 0, 0, -73, 0, 0, 0,
- 72, 73, 74, 0, 0, 0, 0, 0, 0, 0,
- 0, 114, 0, 0, 0, 0, 0, 0, 115, 0,
- 0, 0, 116, 82, 0, 83, 0, 0, 0, 84,
- 0, 85, 86, 87, 0, 0, 89, 0, 0, 0,
- 90, 0, 91, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 94, 0, 96, 0, 98, 0,
- 101, 0, 102, 0, 0, 0, 0, 88, 99, 76,
- 0, 0, 0, 0, 0, 0, 0, 137, 138, 139,
- 0, 0, 141, 143, 144, 0, 0, 145, 0, 146,
- 0, 0, 0, 148, 149, 150, 0, 0, 0, 0,
- 0, 0, 217, 152, 153, 154, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 155, 0, 0, 0,
+ 330, 318, 465, 209, 296, 129, 443, 342, 128, 336,
+ 435, 419, 26, 316, 207, 325, 320, 27, 349, 316,
+ 296, 318, 336, 459, 179, 344, 30, 28, 328, 131,
+ 29, 170, -53, 359, -223, 402, 425, 229, 370, 175,
+ -75, 419, -54, 177, 426, -72, 411, 366, -64, -52,
+ 281, -77, 441, 419, 435, 218, 26, 344, 442, 407,
+ -224, 207, 448, 435, 2, 355, 439, 250, 209, 218,
+ 23, 484, 357, 179, 2, 452, 126, 259, 415, 482,
+ 519, 224, 476, 483, 507, 22, 492, 23, 411, 448,
+ 364, 508, 125, 513, 452, 459, 172, 363, 435, 476,
+ 508, 500, 0, 218, 218, 366, 276, 351, 7, 487,
+ 281, 497, 218, 125, 218, 497, 429, 218, 218, 226,
+ -292, 459, 218, 364, 0, 218, 438, 460, 0, 338,
+ 0, 459, 116, 339, 218, 244, 9, 8, 272, 271,
+ 439, 275, 492, 117, 218, 218, 270, 269, 516, 476,
+ 272, 271, 492, 265, 264, 413, 469, 0, 109, 498,
+ 352, 246, 219, 506, 278, 247, 410, 409, 109, 110,
+ 368, 109, 109, 257, 361, 461, 280, 279, 364, 110,
+ 486, 262, 110, 110, 118, 193, 454, 194, 487, 118,
+ 193, 267, 194, 193, 0, 194, 334, 450, 195, 118,
+ 218, 517, 515, 195, 476, 193, 195, 194, 0, 252,
+ 267, 218, 252, 263, 261, 262, 0, 0, 195, 0,
+ 211, 422, 0, 268, 266, 193, 0, 194, 253, 119,
+ 405, 253, 0, 254, 119, 120, 0, 0, 195, 212,
+ 120, 213, 268, 266, 119, 298, 299, 263, 261, 0,
+ 120, 181, 182, 433, 432, 298, 299, 181, 182, 0,
+ 13, 0, 0, 0, 228, 227, 423, 14, 13, 0,
+ 13, 0, 300, 301, 0, 14, 0, 14, 183, 184,
+ 303, 304, 300, 301, 183, 184, 303, 304, 0, 305,
+ 0, 0, 306, 0, 307, 305, 0, 0, 306, 193,
+ 307, 194, 0, 480, 0, 0, 0, 0, 13, 0,
+ 16, 0, 195, 0, 0, 14, 0, 0, 16, 12,
+ 16, 0, 15, 0, 0, 186, 187, 12, 0, 12,
+ 15, 0, 15, 188, 189, 186, 187, 190, 0, 191,
+ 0, 478, 0, 188, 189, 186, 187, 190, 0, 191,
+ 0, 0, 0, 188, 189, 0, 0, 190, 16, 191,
+ 0, 0, 303, 304, 0, 72, 73, 12, 0, 0,
+ 15, 305, 0, 0, 306, 113, 307, 0, 0, 0,
+ 0, 0, 114, 0, 0, 0, 115, 81, 0, 82,
+ 0, 72, 73, 0, 0, 0, 85, 0, 0, 0,
+ 88, 113, 0, 0, 0, 0, 0, 0, 114, 0,
+ 0, 0, 115, 81, 0, 82, 0, 0, 93, 0,
+ 95, 0, 85, 0, 231, 0, 88, 186, 187, 0,
+ 0, 87, 98, 75, 232, 188, 189, 0, 233, 190,
+ 0, 191, 0, 0, 93, 0, 95, 234, 0, 235,
+ 0, 0, 332, 0, 0, 0, 0, 87, 98, 75,
+ 236, 0, 237, 116, 0, 0, 0, 0, 0, 0,
+ 238, 0, 0, 239, 117, 0, 0, 0, 0, 240,
+ 0, 0, 0, 0, 0, 241, 0, 0, 0, 0,
+ 0, 0, 231, 0, 0, 0, 0, 0, 242, 0,
+ 0, 0, 232, 0, 0, 0, 233, 0, 0, 0,
+ 0, 0, 0, 0, 0, 234, 0, 235, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 236, 0,
+ 237, 116, 0, 0, 0, 0, 0, 0, 238, 0,
+ 0, 239, 117, 0, 0, 0, 0, 240, 0, 0,
+ 0, 0, 0, 241, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 242, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 71, 72, 73,
+ 0, 0, 0, 0, 0, 0, 0, 0, 113, 0,
+ 0, 0, 0, 0, 0, 114, 0, 0, 0, 115,
+ 81, 0, 82, 0, 0, 0, 83, 0, 84, 85,
+ 86, 0, 0, 88, 0, 0, 0, 89, 0, 90,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 159, 0, 0, 0, 0, 0, 0, 161,
- 162, 163, 0, 165, 166, 167, 168, 169, 170, 0,
- 0, 156, 164, 147, 140, 142, 158, 0, 0, 0,
- 0, 137, 138, 139, 0, 0, 141, 143, 144, 0,
- 0, 145, 0, 146, 0, 0, 0, 148, 149, 150,
- 0, 0, 0, 0, 0, 0, 151, 152, 153, 154,
+ 0, 93, 0, 95, 0, 97, 0, 100, 0, 101,
+ 0, 0, 0, 0, 87, 98, 75, 0, 0, 0,
+ 0, 0, 0, 0, 71, 72, 73, 0, 0, 0,
+ 0, 0, 0, 0, 0, 113, 0, 0, 0, 0,
+ 0, 0, 114, 0, 0, 0, 115, 81, 0, 82,
+ 0, 0, 0, 83, 0, 84, 85, 86, 0, 0,
+ 88, 0, 0, 0, 89, 0, 90, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 93, 0,
+ 95, 0, 97, 0, 100, 295, 101, 0, 0, 0,
+ 0, 87, 98, 75, 0, 0, 0, 0, 0, 0,
+ 0, 71, 72, 73, 0, 0, 0, 0, 0, 0,
+ 0, 0, 113, 0, 0, 0, 0, 0, 0, 114,
+ 0, 0, 0, 115, 81, 0, 82, 0, 0, 0,
+ 83, 0, 84, 85, 86, 0, 0, 88, 0, 0,
+ 0, 89, 0, 90, 0, 0, 467, 0, 0, 0,
+ 0, 0, 0, 0, 0, 93, 0, 95, 0, 97,
+ 0, 100, 0, 101, 0, 0, 0, 0, 87, 98,
+ 75, 0, 0, 0, 0, 0, 0, 0, -73, 0,
+ 0, 0, 71, 72, 73, 0, 0, 0, 0, 0,
+ 0, 0, 0, 113, 0, 0, 0, 0, 0, 0,
+ 114, 0, 0, 0, 115, 81, 0, 82, 0, 0,
+ 0, 83, 0, 84, 85, 86, 0, 0, 88, 0,
+ 0, 0, 89, 0, 90, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 93, 0, 95, 0,
+ 97, 0, 100, 0, 101, 0, 0, 0, 0, 87,
+ 98, 75, 0, 0, 0, 0, 0, 0, 0, 71,
+ 72, 73, 0, 0, 0, 0, 0, 0, 0, 0,
+ 113, 0, 0, 0, 0, 0, 0, 114, 0, 0,
+ 0, 115, 81, 0, 82, 0, 0, 0, 83, 0,
+ 84, 85, 86, 0, 0, 88, 0, 0, 0, 89,
+ 0, 90, 0, 0, 464, 0, 0, 0, 0, 0,
+ 0, 0, 0, 93, 0, 95, 0, 97, 0, 100,
+ 0, 101, 0, 0, 0, 0, 87, 98, 75, 0,
+ 0, 0, 0, 0, 0, 0, 136, 137, 138, 0,
+ 0, 140, 142, 143, 0, 0, 144, 0, 145, 0,
+ 0, 0, 147, 148, 149, 0, 0, 0, 0, 0,
+ 0, 216, 151, 152, 153, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 154, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 155, 0, 0, 0, 157, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 159, 0, 0, 0,
- 0, 0, 160, 161, 162, 163, 0, 165, 166, 167,
- 168, 169, 170, 0, 0, 156, 164, 147, 140, 142,
- 158, 0, 0, 0, 0, 137, 138, 139, 0, 0,
- 141, 143, 144, 0, 0, 145, 0, 146, 0, 0,
- 0, 148, 149, 150, 0, 0, 0, 0, 0, 0,
- 151, 152, 153, 154, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 155, 0, 0, 0, 157, 0,
- 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
- 159, 0, 0, 0, 0, 0, 160, 161, 162, 163,
- 0, 165, 166, 167, 168, 169, 170, 0, 0, 156,
- 164, 147, 140, 142, 158, 0, 0, 0, 0, 69,
- 0, 0, 0, 0, 70, 0, 72, 73, 74, 75,
- 0, 0, 0, 0, 0, 0, 77, 114, 0, 0,
- 0, 0, 0, 0, 79, 80, 0, 0, 81, 82,
- 0, 83, 0, 0, 0, 84, 0, 85, 86, 87,
- 0, 0, 89, 0, 0, 0, 90, 0, 91, 0,
- 0, 0, 0, 0, 92, 0, 93, 0, 0, 0,
- 94, 95, 96, 97, 98, 100, 101, 17, 102, 103,
- 104, 0, 0, 88, 99, 76, 13, 71, 0, 0,
- 0, 0, 0, 69, 0, 0, 0, 0, 70, 0,
- 72, 73, 74, 75, 0, 0, 0, 0, 0, 0,
- 77, 78, 0, 0, 0, 0, 0, 0, 79, 80,
- 0, 0, 81, 82, 0, 83, 0, 0, 0, 84,
- 0, 85, 86, 87, 0, 0, 89, 0, 0, 0,
- 90, 0, 91, 0, 0, 0, 0, 0, 92, 0,
- 93, 0, 0, 0, 94, 95, 96, 97, 98, 100,
- 101, 17, 102, 103, 104, 0, 0, 88, 99, 76,
- 13, 71, 0, 0, 0, 0, 0, 69, 0, 0,
- 0, 0, 70, 0, 72, 73, 74, 75, 0, 0,
- 0, 0, 0, 0, 77, 114, 0, 0, 0, 0,
- 0, 0, 490, 80, 0, 0, 81, 491, 0, 83,
- 0, 0, 0, 84, 0, 85, 86, 87, 0, 0,
- 89, 0, 0, 0, 90, 0, 91, 0, 0, 0,
- 0, 0, 92, 0, 93, 0, 0, 0, 94, 95,
- 96, 97, 98, 100, 101, 17, 102, 103, 104, 0,
- 0, 88, 99, 76, 13, 71, 0, 0, 0, 0,
- 0, 69, 0, 0, 0, 0, 70, 0, 72, 73,
- 74, 75, 0, 0, 0, 0, 0, 0, 77, 114,
- 0, 0, 0, 0, 0, 0, 503, 80, 0, 0,
- 81, 504, 0, 83, 0, 0, 0, 84, 0, 85,
- 86, 87, 0, 0, 89, 0, 0, 0, 90, 0,
- 91, 0, 0, 0, 0, 0, 92, 0, 93, 0,
- 0, 0, 94, 95, 96, 97, 98, 100, 101, 17,
- 102, 103, 104, 0, 0, 88, 99, 76, 13, 71,
- 0, 0, 0, 0, 0, 376, 138, 139, 0, 0,
- 378, 143, 380, 73, 74, 381, 0, 146, 0, 0,
- 0, 148, 383, 384, 0, 0, 0, 0, 0, 0,
- 385, 386, 153, 154, 81, 82, 0, 83, 0, 0,
- 0, 84, 0, 85, 387, 87, 0, 0, 389, 0,
- 0, 0, 90, 0, 91, 0, -219, 0, 0, 0,
- 390, 0, 93, 0, 0, 0, 391, 392, 393, 394,
- 98, 396, 397, 398, 399, 400, 401, 0, 0, 388,
- 395, 382, 377, 379, 158, 0, 0, 0, 0,
+ 0, 158, 0, 0, 0, 0, 0, 0, 160, 161,
+ 162, 0, 164, 165, 166, 167, 168, 169, 0, 0,
+ 155, 163, 146, 139, 141, 157, 0, 0, 0, 0,
+ 136, 137, 138, 0, 0, 140, 142, 143, 0, 0,
+ 144, 0, 145, 0, 0, 0, 147, 148, 149, 0,
+ 0, 0, 0, 0, 0, 150, 151, 152, 153, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 154,
+ 0, 0, 0, 156, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 158, 0, 0, 0, 0,
+ 0, 159, 160, 161, 162, 0, 164, 165, 166, 167,
+ 168, 169, 0, 0, 155, 163, 146, 139, 141, 157,
+ 0, 0, 0, 0, 136, 137, 138, 0, 0, 140,
+ 142, 143, 0, 0, 144, 0, 145, 0, 0, 0,
+ 147, 148, 149, 0, 0, 0, 0, 0, 0, 150,
+ 151, 152, 153, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 154, 0, 0, 0, 156, 0, 0,
+ 0, 0, 0, 0, 0, 174, 0, 0, 0, 158,
+ 0, 0, 0, 0, 0, 159, 160, 161, 162, 0,
+ 164, 165, 166, 167, 168, 169, 0, 0, 155, 163,
+ 146, 139, 141, 157, 0, 0, 0, 0, 68, 0,
+ 0, 0, 0, 69, 0, 71, 72, 73, 74, 0,
+ 0, 0, 0, 0, 0, 76, 113, 0, 0, 0,
+ 0, 0, 0, 78, 79, 0, 0, 80, 81, 0,
+ 82, 0, 0, 0, 83, 0, 84, 85, 86, 0,
+ 0, 88, 0, 0, 0, 89, 0, 90, 0, 0,
+ 0, 0, 0, 91, 0, 92, 0, 0, 0, 93,
+ 94, 95, 96, 97, 99, 100, 16, 101, 102, 103,
+ 0, 0, 87, 98, 75, 12, 70, 0, 0, 0,
+ 0, 0, 68, 0, 0, 0, 0, 69, 0, 71,
+ 72, 73, 74, 0, 0, 0, 0, 0, 0, 76,
+ 77, 0, 0, 0, 0, 0, 0, 78, 79, 0,
+ 0, 80, 81, 0, 82, 0, 0, 0, 83, 0,
+ 84, 85, 86, 0, 0, 88, 0, 0, 0, 89,
+ 0, 90, 0, 0, 0, 0, 0, 91, 0, 92,
+ 0, 0, 0, 93, 94, 95, 96, 97, 99, 100,
+ 16, 101, 102, 103, 0, 0, 87, 98, 75, 12,
+ 70, 0, 0, 0, 0, 0, 68, 0, 0, 0,
+ 0, 69, 0, 71, 72, 73, 74, 0, 0, 0,
+ 0, 0, 0, 76, 113, 0, 0, 0, 0, 0,
+ 0, 489, 79, 0, 0, 80, 490, 0, 82, 0,
+ 0, 0, 83, 0, 84, 85, 86, 0, 0, 88,
+ 0, 0, 0, 89, 0, 90, 0, 0, 0, 0,
+ 0, 91, 0, 92, 0, 0, 0, 93, 94, 95,
+ 96, 97, 99, 100, 16, 101, 102, 103, 0, 0,
+ 87, 98, 75, 12, 70, 0, 0, 0, 0, 0,
+ 68, 0, 0, 0, 0, 69, 0, 71, 72, 73,
+ 74, 0, 0, 0, 0, 0, 0, 76, 113, 0,
+ 0, 0, 0, 0, 0, 502, 79, 0, 0, 80,
+ 503, 0, 82, 0, 0, 0, 83, 0, 84, 85,
+ 86, 0, 0, 88, 0, 0, 0, 89, 0, 90,
+ 0, 0, 0, 0, 0, 91, 0, 92, 0, 0,
+ 0, 93, 94, 95, 96, 97, 99, 100, 16, 101,
+ 102, 103, 0, 0, 87, 98, 75, 12, 70, 0,
+ 0, 0, 0, 0, 375, 137, 138, 0, 0, 377,
+ 142, 379, 72, 73, 380, 0, 145, 0, 0, 0,
+ 147, 382, 383, 0, 0, 0, 0, 0, 0, 384,
+ 385, 152, 153, 80, 81, 0, 82, 0, 0, 0,
+ 83, 0, 84, 386, 86, 0, 0, 388, 0, 0,
+ 0, 89, 0, 90, 0, -219, 0, 0, 0, 389,
+ 0, 92, 0, 0, 0, 390, 391, 392, 393, 97,
+ 395, 396, 397, 398, 399, 400, 0, 0, 387, 394,
+ 381, 376, 378, 157, 0, 0, 0, 0,
- 454, 250, 275, 252, 413, 463, 467, 464, 425, 445,
- 421, 231, 446, 172, 441, 278, 452, 177, 429, 450,
- 428, 431, 174, 435, 244, 505, 359, 22, 226, 370,
- 354, 361, 368, 363, 366, 11, 332, 224, 519, 334,
- 336, 221, 502, 128, 218, 372, 515, 216, 435, 432,
- 489, 0, 327, 486, 469, 432, 257, 327, 496, 492,
- 497, 0, 482, 275, 402, 0, 112, 112, 0, 112,
- 22, 202, 201, 199, 500, 480, 496, 112, 112, 0,
- 112, 198, 197, 0, 0, 200, 456, 22, 112, 112,
- 112, 112, 112, 482, 67, 112, 49, 203, 291, 211,
- 204, 22, 209, 295, 249, 246, 404, 112, 112, 405,
- 112, 113, 310, 112, 327, 311, 327, 112, 309, 448,
- 112, 112, 476, 447, 112, 112, 274, 112, 179, 112,
- 112, 124, 312, 0, 112, 313, 123, 112, 327, 122,
- 327, 216, 256, 112, 112, 472, 274, 112, 112, 471,
- 112, 224, 404, 224, 186, 405, 205, 328, 407, 330,
- 259, 112, 0, 112, 0, 112, 193, 112, 112, 206,
- 447, 207, 112, 506, 448, 181, 496, 112, 112, 473,
- 475, 355, 112, 357, 474, 112, 112, 323, 323, 112,
- 295, 295, 295, 295, 295, 67, 0, 49, 323, 112,
- 320, 338, 341, 295, 295, 0, 323, 0, 112, 322,
- 342, 295, 318, 295, 112, 315, 0, 112, 112, 295,
- 344, 314, 295, 295, 323, 316, 298, 112, 325, 295,
- 0, 0, 295, 0, 303, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 351, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 67, 0, 49, 0, 0, 0,
+ 491, 424, 449, 420, 451, 518, 428, 514, 488, 274,
+ 427, 455, 440, 495, 504, 501, 445, 462, 10, 463,
+ 21, 444, 230, 496, 485, 430, 353, 466, 220, 371,
+ 127, 333, 335, 358, 369, 225, 360, 367, 362, 365,
+ 331, 434, 277, 215, 217, 0, 223, 434, 256, 412,
+ 0, 243, 431, 171, 249, 431, 326, 173, 251, 176,
+ 326, 274, 223, 468, 401, 499, 481, 495, 0, 258,
+ 215, 255, 111, 66, 21, 48, 111, 200, 447, 481,
+ 111, 403, 446, 111, 404, 111, 111, 21, 199, 453,
+ 111, 192, 474, 180, 111, 111, 273, 111, 111, 111,
+ 111, 185, 111, 204, 205, 206, 111, 201, 223, 111,
+ 198, 111, 208, 470, 111, 406, 471, 111, 111, 210,
+ 473, 197, 505, 111, 111, 495, 111, 196, 111, 202,
+ 111, 203, 472, 111, 111, 403, 326, 0, 404, 311,
+ 326, 326, 245, 111, 111, 123, 475, 326, 111, 248,
+ 122, 111, 111, 121, 111, 0, 447, 312, 111, 0,
+ 0, 111, 111, 310, 112, 178, 0, 111, 111, 273,
+ 111, 111, 446, 309, 0, 290, 308, 322, 0, 356,
+ 294, 0, 294, 354, 327, 66, 66, 48, 48, 111,
+ 329, 322, 111, 111, 294, 0, 294, 294, 294, 350,
+ 315, 111, 317, 319, 111, 0, 294, 111, 313, 294,
+ 322, 302, 294, 343, 314, 294, 322, 111, 111, 322,
+ 111, 294, 294, 294, 294, 294, 0, 297, 0, 0,
+ 0, 0, 341, 0, 340, 337, 0, 0, 321, 0,
+ 0, 324, 479, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 21, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 130, 0, 0, 0,
+ 260, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 261, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 131, 0, 0, 0, 0, 0,
- 0};
+ 0, 0, 0, 0, 0, 0, 0, 0};
const int JavaScriptGrammar::action_check [] = {
- 76, 61, 60, 8, 48, 29, 60, 7, 29, 2,
- 48, 29, 60, 33, 1, 61, 8, 76, 48, 36,
- 29, 2, 29, 8, 8, 33, 29, 33, 8, 55,
- 7, 60, 33, 7, 17, 5, 55, 36, 29, 7,
- 1, 36, 7, 7, 7, 55, 36, 7, 61, 60,
- 16, 55, 5, 31, 36, 2, 29, 33, 29, 5,
- 85, 36, 7, 20, 36, 7, 60, 36, 17, 36,
- 85, 33, 8, 8, 33, 29, 7, 2, 36, 29,
- 36, 33, 8, 7, 7, 29, 29, 8, 29, 0,
- 76, 1, 8, 48, 33, 74, 36, 29, 36, 36,
- 29, 29, 36, 7, -1, 8, 8, 8, 8, 60,
- 8, 15, 60, 40, 7, 8, 8, 8, 8, 6,
- 40, 40, 55, 7, 51, 42, 8, 7, 29, 8,
- 8, 51, 51, 20, 7, 65, 53, 50, 8, 61,
- 62, 54, 15, 61, 62, 61, 61, 62, 29, 33,
- 8, 8, 40, 56, 7, 36, 61, 62, 60, 29,
- 60, 8, 60, 51, 56, 56, 61, 62, 29, 15,
- 60, -1, 61, 62, 56, 50, 61, 62, 29, 54,
- 33, 60, 60, 25, 25, 27, 27, 12, 34, 12,
- 36, 25, 25, 27, 27, -1, 38, 38, 8, -1,
- 61, 62, 60, 60, 38, 38, -1, -1, 10, 56,
- 61, 62, 25, 25, 27, 27, 25, 25, 27, 27,
- 15, 8, 25, 29, 27, 38, 38, 15, 29, 38,
- 38, 25, 57, 27, 57, 38, 8, -1, 63, 34,
- 63, 36, -1, -1, 38, 25, 34, 27, 36, -1,
- -1, 61, 62, 55, -1, 61, 62, 25, 38, 27,
- 61, 62, -1, 25, -1, 27, 18, 19, 18, 19,
- 38, 18, 19, 22, 61, 62, 38, 18, 19, -1,
- 29, -1, -1, -1, 22, -1, 12, -1, -1, 61,
- 62, 29, -1, 45, 46, 45, 46, -1, 45, 46,
- 23, 24, -1, -1, 45, 46, 22, -1, 31, 32,
- 23, 24, 35, 29, 37, -1, -1, -1, 31, 32,
- 22, -1, 35, 72, 37, -1, -1, 29, -1, -1,
- -1, 57, 81, -1, 72, 84, -1, 63, -1, 55,
- 23, 24, -1, 81, -1, -1, 84, -1, 31, 32,
- 3, -1, 35, 55, 37, -1, 72, -1, -1, -1,
- 13, -1, 23, 24, 17, 81, -1, -1, 84, -1,
- 72, 32, -1, 26, 35, 28, 37, -1, -1, 81,
- -1, -1, 84, 3, -1, -1, 39, -1, 41, 42,
- -1, -1, -1, 13, -1, -1, 49, 17, -1, 52,
- 53, -1, -1, -1, -1, 58, 26, -1, 28, -1,
- -1, 64, -1, -1, -1, -1, -1, -1, -1, 39,
- 3, 41, 42, -1, 77, -1, -1, 23, 24, 49,
- 13, -1, 52, 53, 17, 31, 32, -1, 58, 35,
- -1, 37, -1, 26, 64, 28, -1, -1, 31, -1,
- -1, -1, -1, -1, -1, -1, 39, 77, 41, 42,
- -1, -1, -1, -1, -1, -1, 49, -1, -1, 52,
- 53, -1, -1, -1, -1, 58, -1, -1, -1, -1,
- -1, 64, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 12, 13, 77, -1, -1, -1, -1, -1,
+ 60, 76, 8, 76, 1, 33, 60, 7, 60, 2,
+ 33, 5, 29, 48, 48, 61, 8, 8, 17, 48,
+ 1, 76, 2, 8, 1, 29, 33, 29, 61, 55,
+ 60, 7, 7, 31, 29, 55, 55, 55, 16, 7,
+ 7, 5, 7, 55, 7, 7, 36, 36, 7, 7,
+ 36, 7, 36, 5, 33, 8, 29, 29, 29, 60,
+ 29, 48, 36, 33, 85, 61, 20, 7, 76, 8,
+ 36, 7, 60, 1, 85, 36, 36, 60, 33, 29,
+ 0, 8, 33, 29, 29, 29, 29, 36, 36, 36,
+ 7, 29, 29, 17, 36, 8, 8, 29, 33, 33,
+ 29, 7, -1, 8, 8, 36, 36, 8, 65, 15,
+ 36, 8, 8, 29, 8, 8, 7, 8, 8, 60,
+ 36, 8, 8, 7, -1, 8, 6, 8, -1, 50,
+ -1, 8, 42, 54, 8, 2, 61, 62, 61, 62,
+ 20, 74, 29, 53, 8, 8, 61, 62, 8, 33,
+ 61, 62, 29, 61, 62, 60, 60, -1, 40, 56,
+ 61, 50, 56, 56, 60, 54, 61, 62, 40, 51,
+ 60, 40, 40, 56, 60, 56, 61, 62, 7, 51,
+ 7, 29, 51, 51, 12, 25, 60, 27, 15, 12,
+ 25, 29, 27, 25, -1, 27, 60, 60, 38, 12,
+ 8, 61, 62, 38, 33, 25, 38, 27, -1, 15,
+ 29, 8, 15, 61, 62, 29, -1, -1, 38, -1,
+ 15, 10, -1, 61, 62, 25, -1, 27, 34, 57,
+ 36, 34, -1, 36, 57, 63, -1, -1, 38, 34,
+ 63, 36, 61, 62, 57, 18, 19, 61, 62, -1,
+ 63, 18, 19, 61, 62, 18, 19, 18, 19, -1,
+ 22, -1, -1, -1, 61, 62, 55, 29, 22, -1,
+ 22, -1, 45, 46, -1, 29, -1, 29, 45, 46,
+ 23, 24, 45, 46, 45, 46, 23, 24, -1, 32,
+ -1, -1, 35, -1, 37, 32, -1, -1, 35, 25,
+ 37, 27, -1, 55, -1, -1, -1, -1, 22, -1,
+ 72, -1, 38, -1, -1, 29, -1, -1, 72, 81,
+ 72, -1, 84, -1, -1, 23, 24, 81, -1, 81,
+ 84, -1, 84, 31, 32, 23, 24, 35, -1, 37,
+ -1, 55, -1, 31, 32, 23, 24, 35, -1, 37,
+ -1, -1, -1, 31, 32, -1, -1, 35, 72, 37,
+ -1, -1, 23, 24, -1, 12, 13, 81, -1, -1,
+ 84, 32, -1, -1, 35, 22, 37, -1, -1, -1,
+ -1, -1, 29, -1, -1, -1, 33, 34, -1, 36,
+ -1, 12, 13, -1, -1, -1, 43, -1, -1, -1,
+ 47, 22, -1, -1, -1, -1, -1, -1, 29, -1,
+ -1, -1, 33, 34, -1, 36, -1, -1, 65, -1,
+ 67, -1, 43, -1, 3, -1, 47, 23, 24, -1,
+ -1, 78, 79, 80, 13, 31, 32, -1, 17, 35,
+ -1, 37, -1, -1, 65, -1, 67, 26, -1, 28,
+ -1, -1, 31, -1, -1, -1, -1, 78, 79, 80,
+ 39, -1, 41, 42, -1, -1, -1, -1, -1, -1,
+ 49, -1, -1, 52, 53, -1, -1, -1, -1, 58,
+ -1, -1, -1, -1, -1, 64, -1, -1, -1, -1,
+ -1, -1, 3, -1, -1, -1, -1, -1, 77, -1,
+ -1, -1, 13, -1, -1, -1, 17, -1, -1, -1,
+ -1, -1, -1, -1, -1, 26, -1, 28, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 39, -1,
+ 41, 42, -1, -1, -1, -1, -1, -1, 49, -1,
+ -1, 52, 53, -1, -1, -1, -1, 58, -1, -1,
+ -1, -1, -1, 64, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 77, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 11, 12, 13,
+ -1, -1, -1, -1, -1, -1, -1, -1, 22, -1,
+ -1, -1, -1, -1, -1, 29, -1, -1, -1, 33,
+ 34, -1, 36, -1, -1, -1, 40, -1, 42, 43,
+ 44, -1, -1, 47, -1, -1, -1, 51, -1, 53,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 65, -1, 67, -1, 69, -1, 71, -1, 73,
+ -1, -1, -1, -1, 78, 79, 80, -1, -1, -1,
+ -1, -1, -1, -1, 11, 12, 13, -1, -1, -1,
+ -1, -1, -1, -1, -1, 22, -1, -1, -1, -1,
+ -1, -1, 29, -1, -1, -1, 33, 34, -1, 36,
+ -1, -1, -1, 40, -1, 42, 43, 44, -1, -1,
+ 47, -1, -1, -1, 51, -1, 53, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 65, -1,
+ 67, -1, 69, -1, 71, 72, 73, -1, -1, -1,
+ -1, 78, 79, 80, -1, -1, -1, -1, -1, -1,
+ -1, 11, 12, 13, -1, -1, -1, -1, -1, -1,
-1, -1, 22, -1, -1, -1, -1, -1, -1, 29,
-1, -1, -1, 33, 34, -1, 36, -1, -1, -1,
- -1, -1, -1, 43, -1, -1, -1, 47, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 65, -1, 67, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 78, 79,
- 80, -1, -1, -1, -1, -1, -1, -1, 11, 12,
- 13, -1, -1, -1, -1, -1, -1, -1, -1, 22,
- -1, -1, -1, -1, -1, -1, 29, -1, -1, -1,
- 33, 34, -1, 36, -1, -1, -1, 40, -1, 42,
- 43, 44, -1, -1, 47, -1, -1, -1, 51, -1,
- 53, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 65, -1, 67, -1, 69, -1, 71, -1,
- 73, -1, -1, -1, -1, 78, 79, 80, -1, -1,
- -1, -1, -1, -1, -1, 11, 12, 13, -1, -1,
- -1, -1, -1, -1, -1, -1, 22, -1, -1, -1,
- -1, -1, -1, 29, -1, -1, -1, 33, 34, -1,
- 36, -1, -1, -1, 40, -1, 42, 43, 44, -1,
- -1, 47, -1, -1, -1, 51, -1, 53, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 65,
- -1, 67, -1, 69, -1, 71, 72, 73, -1, -1,
- -1, -1, 78, 79, 80, -1, -1, -1, -1, -1,
+ 40, -1, 42, 43, 44, -1, -1, 47, -1, -1,
+ -1, 51, -1, 53, -1, -1, 56, -1, -1, -1,
+ -1, -1, -1, -1, -1, 65, -1, 67, -1, 69,
+ -1, 71, -1, 73, -1, -1, -1, -1, 78, 79,
+ 80, -1, -1, -1, -1, -1, -1, -1, 7, -1,
-1, -1, 11, 12, 13, -1, -1, -1, -1, -1,
-1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
29, -1, -1, -1, 33, 34, -1, 36, -1, -1,
-1, 40, -1, 42, 43, 44, -1, -1, 47, -1,
- -1, -1, 51, -1, 53, -1, -1, 56, -1, -1,
+ -1, -1, 51, -1, 53, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 65, -1, 67, -1,
69, -1, 71, -1, 73, -1, -1, -1, -1, 78,
79, 80, -1, -1, -1, -1, -1, -1, -1, 11,
@@ -580,117 +588,107 @@ const int JavaScriptGrammar::action_check [] = {
-1, 53, -1, -1, 56, -1, -1, -1, -1, -1,
-1, -1, -1, 65, -1, 67, -1, 69, -1, 71,
-1, 73, -1, -1, -1, -1, 78, 79, 80, -1,
- -1, -1, -1, -1, -1, -1, 7, -1, -1, -1,
- 11, 12, 13, -1, -1, -1, -1, -1, -1, -1,
- -1, 22, -1, -1, -1, -1, -1, -1, 29, -1,
- -1, -1, 33, 34, -1, 36, -1, -1, -1, 40,
- -1, 42, 43, 44, -1, -1, 47, -1, -1, -1,
- 51, -1, 53, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 65, -1, 67, -1, 69, -1,
- 71, -1, 73, -1, -1, -1, -1, 78, 79, 80,
- -1, -1, -1, -1, -1, -1, -1, 4, 5, 6,
- -1, -1, 9, 10, 11, -1, -1, 14, -1, 16,
- -1, -1, -1, 20, 21, 22, -1, -1, -1, -1,
- -1, -1, 29, 30, 31, 32, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 43, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 4, 5, 6, -1,
+ -1, 9, 10, 11, -1, -1, 14, -1, 16, -1,
+ -1, -1, 20, 21, 22, -1, -1, -1, -1, -1,
+ -1, 29, 30, 31, 32, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 43, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 59, -1, -1, -1, -1, -1, -1, 66,
- 67, 68, -1, 70, 71, 72, 73, 74, 75, -1,
- -1, 78, 79, 80, 81, 82, 83, -1, -1, -1,
- -1, 4, 5, 6, -1, -1, 9, 10, 11, -1,
- -1, 14, -1, 16, -1, -1, -1, 20, 21, 22,
- -1, -1, -1, -1, -1, -1, 29, 30, 31, 32,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 43, -1, -1, -1, 47, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 59, -1, -1, -1,
- -1, -1, 65, 66, 67, 68, -1, 70, 71, 72,
- 73, 74, 75, -1, -1, 78, 79, 80, 81, 82,
- 83, -1, -1, -1, -1, 4, 5, 6, -1, -1,
- 9, 10, 11, -1, -1, 14, -1, 16, -1, -1,
- -1, 20, 21, 22, -1, -1, -1, -1, -1, -1,
- 29, 30, 31, 32, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 43, -1, -1, -1, 47, -1,
- -1, -1, -1, -1, -1, -1, 55, -1, -1, -1,
- 59, -1, -1, -1, -1, -1, 65, 66, 67, 68,
- -1, 70, 71, 72, 73, 74, 75, -1, -1, 78,
- 79, 80, 81, 82, 83, -1, -1, -1, -1, 4,
- -1, -1, -1, -1, 9, -1, 11, 12, 13, 14,
- -1, -1, -1, -1, -1, -1, 21, 22, -1, -1,
- -1, -1, -1, -1, 29, 30, -1, -1, 33, 34,
- -1, 36, -1, -1, -1, 40, -1, 42, 43, 44,
- -1, -1, 47, -1, -1, -1, 51, -1, 53, -1,
- -1, -1, -1, -1, 59, -1, 61, -1, -1, -1,
- 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
- 75, -1, -1, 78, 79, 80, 81, 82, -1, -1,
- -1, -1, -1, 4, -1, -1, -1, -1, 9, -1,
- 11, 12, 13, 14, -1, -1, -1, -1, -1, -1,
- 21, 22, -1, -1, -1, -1, -1, -1, 29, 30,
- -1, -1, 33, 34, -1, 36, -1, -1, -1, 40,
- -1, 42, 43, 44, -1, -1, 47, -1, -1, -1,
- 51, -1, 53, -1, -1, -1, -1, -1, 59, -1,
- 61, -1, -1, -1, 65, 66, 67, 68, 69, 70,
- 71, 72, 73, 74, 75, -1, -1, 78, 79, 80,
- 81, 82, -1, -1, -1, -1, -1, 4, -1, -1,
- -1, -1, 9, -1, 11, 12, 13, 14, -1, -1,
- -1, -1, -1, -1, 21, 22, -1, -1, -1, -1,
- -1, -1, 29, 30, -1, -1, 33, 34, -1, 36,
- -1, -1, -1, 40, -1, 42, 43, 44, -1, -1,
- 47, -1, -1, -1, 51, -1, 53, -1, -1, -1,
- -1, -1, 59, -1, 61, -1, -1, -1, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, -1,
- -1, 78, 79, 80, 81, 82, -1, -1, -1, -1,
- -1, 4, -1, -1, -1, -1, 9, -1, 11, 12,
- 13, 14, -1, -1, -1, -1, -1, -1, 21, 22,
- -1, -1, -1, -1, -1, -1, 29, 30, -1, -1,
- 33, 34, -1, 36, -1, -1, -1, 40, -1, 42,
- 43, 44, -1, -1, 47, -1, -1, -1, 51, -1,
- 53, -1, -1, -1, -1, -1, 59, -1, 61, -1,
- -1, -1, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, -1, -1, 78, 79, 80, 81, 82,
- -1, -1, -1, -1, -1, 4, 5, 6, -1, -1,
- 9, 10, 11, 12, 13, 14, -1, 16, -1, -1,
- -1, 20, 21, 22, -1, -1, -1, -1, -1, -1,
- 29, 30, 31, 32, 33, 34, -1, 36, -1, -1,
- -1, 40, -1, 42, 43, 44, -1, -1, 47, -1,
- -1, -1, 51, -1, 53, -1, 55, -1, -1, -1,
- 59, -1, 61, -1, -1, -1, 65, 66, 67, 68,
- 69, 70, 71, 72, 73, 74, 75, -1, -1, 78,
- 79, 80, 81, 82, 83, -1, -1, -1, -1,
+ -1, 59, -1, -1, -1, -1, -1, -1, 66, 67,
+ 68, -1, 70, 71, 72, 73, 74, 75, -1, -1,
+ 78, 79, 80, 81, 82, 83, -1, -1, -1, -1,
+ 4, 5, 6, -1, -1, 9, 10, 11, -1, -1,
+ 14, -1, 16, -1, -1, -1, 20, 21, 22, -1,
+ -1, -1, -1, -1, -1, 29, 30, 31, 32, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 43,
+ -1, -1, -1, 47, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 59, -1, -1, -1, -1,
+ -1, 65, 66, 67, 68, -1, 70, 71, 72, 73,
+ 74, 75, -1, -1, 78, 79, 80, 81, 82, 83,
+ -1, -1, -1, -1, 4, 5, 6, -1, -1, 9,
+ 10, 11, -1, -1, 14, -1, 16, -1, -1, -1,
+ 20, 21, 22, -1, -1, -1, -1, -1, -1, 29,
+ 30, 31, 32, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 43, -1, -1, -1, 47, -1, -1,
+ -1, -1, -1, -1, -1, 55, -1, -1, -1, 59,
+ -1, -1, -1, -1, -1, 65, 66, 67, 68, -1,
+ 70, 71, 72, 73, 74, 75, -1, -1, 78, 79,
+ 80, 81, 82, 83, -1, -1, -1, -1, 4, -1,
+ -1, -1, -1, 9, -1, 11, 12, 13, 14, -1,
+ -1, -1, -1, -1, -1, 21, 22, -1, -1, -1,
+ -1, -1, -1, 29, 30, -1, -1, 33, 34, -1,
+ 36, -1, -1, -1, 40, -1, 42, 43, 44, -1,
+ -1, 47, -1, -1, -1, 51, -1, 53, -1, -1,
+ -1, -1, -1, 59, -1, 61, -1, -1, -1, 65,
+ 66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
+ -1, -1, 78, 79, 80, 81, 82, -1, -1, -1,
+ -1, -1, 4, -1, -1, -1, -1, 9, -1, 11,
+ 12, 13, 14, -1, -1, -1, -1, -1, -1, 21,
+ 22, -1, -1, -1, -1, -1, -1, 29, 30, -1,
+ -1, 33, 34, -1, 36, -1, -1, -1, 40, -1,
+ 42, 43, 44, -1, -1, 47, -1, -1, -1, 51,
+ -1, 53, -1, -1, -1, -1, -1, 59, -1, 61,
+ -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, -1, -1, 78, 79, 80, 81,
+ 82, -1, -1, -1, -1, -1, 4, -1, -1, -1,
+ -1, 9, -1, 11, 12, 13, 14, -1, -1, -1,
+ -1, -1, -1, 21, 22, -1, -1, -1, -1, -1,
+ -1, 29, 30, -1, -1, 33, 34, -1, 36, -1,
+ -1, -1, 40, -1, 42, 43, 44, -1, -1, 47,
+ -1, -1, -1, 51, -1, 53, -1, -1, -1, -1,
+ -1, 59, -1, 61, -1, -1, -1, 65, 66, 67,
+ 68, 69, 70, 71, 72, 73, 74, 75, -1, -1,
+ 78, 79, 80, 81, 82, -1, -1, -1, -1, -1,
+ 4, -1, -1, -1, -1, 9, -1, 11, 12, 13,
+ 14, -1, -1, -1, -1, -1, -1, 21, 22, -1,
+ -1, -1, -1, -1, -1, 29, 30, -1, -1, 33,
+ 34, -1, 36, -1, -1, -1, 40, -1, 42, 43,
+ 44, -1, -1, 47, -1, -1, -1, 51, -1, 53,
+ -1, -1, -1, -1, -1, 59, -1, 61, -1, -1,
+ -1, 65, 66, 67, 68, 69, 70, 71, 72, 73,
+ 74, 75, -1, -1, 78, 79, 80, 81, 82, -1,
+ -1, -1, -1, -1, 4, 5, 6, -1, -1, 9,
+ 10, 11, 12, 13, 14, -1, 16, -1, -1, -1,
+ 20, 21, 22, -1, -1, -1, -1, -1, -1, 29,
+ 30, 31, 32, 33, 34, -1, 36, -1, -1, -1,
+ 40, -1, 42, 43, 44, -1, -1, 47, -1, -1,
+ -1, 51, -1, 53, -1, 55, -1, -1, -1, 59,
+ -1, 61, -1, -1, -1, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, -1, -1, 78, 79,
+ 80, 81, 82, 83, -1, -1, -1, -1,
- 12, 20, 11, 20, 12, 16, 20, 20, 84, 58,
- 87, 54, 58, 20, 89, 12, 11, 20, 12, 12,
- 72, 72, 22, 58, 20, 9, 11, 14, 20, 11,
- 78, 12, 12, 11, 11, 5, 11, 20, 76, 12,
- 11, 20, 11, 90, 12, 11, 20, 23, 58, 12,
- 11, -1, 12, 12, 12, 12, 12, 12, 10, 9,
- 9, -1, 6, 11, 11, -1, 31, 31, -1, 31,
- 14, 36, 36, 35, 8, 2, 10, 31, 31, -1,
- 31, 35, 35, -1, -1, 36, 11, 14, 31, 31,
- 31, 31, 31, 6, 11, 31, 13, 36, 31, 41,
- 36, 14, 43, 36, 47, 45, 25, 31, 31, 28,
- 31, 34, 36, 31, 12, 36, 12, 31, 36, 33,
- 31, 31, 33, 33, 31, 31, 33, 31, 34, 31,
- 31, 33, 36, -1, 31, 36, 33, 31, 12, 33,
- 12, 23, 24, 31, 31, 33, 33, 31, 31, 33,
- 31, 20, 25, 20, 37, 28, 37, 55, 27, 55,
- 27, 31, -1, 31, -1, 31, 36, 31, 31, 37,
- 33, 37, 31, 7, 33, 39, 10, 31, 31, 33,
- 33, 55, 31, 55, 33, 31, 31, 31, 31, 31,
- 36, 36, 36, 36, 36, 11, -1, 13, 31, 31,
- 42, 46, 48, 36, 36, -1, 31, -1, 31, 53,
- 53, 36, 44, 36, 31, 38, -1, 31, 31, 36,
- 53, 38, 36, 36, 31, 38, 40, 31, 53, 36,
- -1, -1, 36, -1, 38, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 53, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 11, -1, 13, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 9, 84, 12, 87, 11, 76, 12, 20, 11, 11,
+ 72, 11, 89, 10, 9, 11, 58, 16, 5, 20,
+ 14, 58, 54, 9, 12, 72, 78, 20, 20, 11,
+ 90, 12, 11, 11, 11, 20, 12, 12, 11, 11,
+ 11, 58, 12, 23, 12, -1, 20, 58, 12, 12,
+ -1, 20, 12, 20, 20, 12, 12, 22, 20, 20,
+ 12, 11, 20, 12, 11, 8, 6, 10, -1, 27,
+ 23, 24, 31, 11, 14, 13, 31, 36, 33, 6,
+ 31, 25, 33, 31, 28, 31, 31, 14, 36, 12,
+ 31, 36, 33, 39, 31, 31, 33, 31, 31, 31,
+ 31, 37, 31, 37, 37, 37, 31, 36, 20, 31,
+ 35, 31, 43, 33, 31, 27, 33, 31, 31, 41,
+ 33, 35, 7, 31, 31, 10, 31, 35, 31, 36,
+ 31, 36, 33, 31, 31, 25, 12, -1, 28, 36,
+ 12, 12, 45, 31, 31, 33, 33, 12, 31, 47,
+ 33, 31, 31, 33, 31, -1, 33, 36, 31, -1,
+ -1, 31, 31, 36, 34, 34, -1, 31, 31, 33,
+ 31, 31, 33, 36, -1, 31, 36, 31, -1, 55,
+ 36, -1, 36, 55, 55, 11, 11, 13, 13, 31,
+ 55, 31, 31, 31, 36, -1, 36, 36, 36, 53,
+ 38, 31, 44, 42, 31, -1, 36, 31, 38, 36,
+ 31, 38, 36, 53, 38, 36, 31, 31, 31, 31,
+ 31, 36, 36, 36, 36, 36, -1, 40, -1, -1,
+ -1, -1, 53, -1, 48, 46, -1, -1, 53, -1,
+ -1, 53, 2, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 14, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 91, -1, -1, -1,
96, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 91, -1, -1, -1, -1, -1,
- -1};
+ -1, -1, -1, -1, -1, -1, -1, -1};
diff --git a/src/declarative/qml/parser/javascriptgrammar_p.h b/src/declarative/qml/parser/javascriptgrammar_p.h
index 490acb2..c35c56e 100644
--- a/src/declarative/qml/parser/javascriptgrammar_p.h
+++ b/src/declarative/qml/parser/javascriptgrammar_p.h
@@ -147,15 +147,15 @@ public:
T_XOR = 76,
T_XOR_EQ = 77,
- ACCEPT_STATE = 7,
+ ACCEPT_STATE = 519,
RULE_COUNT = 296,
STATE_COUNT = 520,
TERMINAL_COUNT = 88,
NON_TERMINAL_COUNT = 98,
GOTO_INDEX_OFFSET = 520,
- GOTO_INFO_OFFSET = 1629,
- GOTO_CHECK_OFFSET = 1629
+ GOTO_INFO_OFFSET = 1638,
+ GOTO_CHECK_OFFSET = 1638
};
static const char *const spell [];
diff --git a/src/declarative/qml/parser/javascriptparser.cpp b/src/declarative/qml/parser/javascriptparser.cpp
index 6221386..03bbc13 100644
--- a/src/declarative/qml/parser/javascriptparser.cpp
+++ b/src/declarative/qml/parser/javascriptparser.cpp
@@ -123,6 +123,7 @@ bool JavaScriptParser::parse(JavaScriptEnginePrivate *driver)
first_token = last_token = 0;
tos = -1;
+ program = 0;
do {
if (++tos == stack_size)
@@ -163,8 +164,9 @@ bool JavaScriptParser::parse(JavaScriptEnginePrivate *driver)
switch (r) {
case 0: {
- sym(1).Node = makeAstNode<AST::UiProgram> (driver->nodePool(), sym(1).UiImportList,
+ program = makeAstNode<AST::UiProgram> (driver->nodePool(), sym(1).UiImportList,
sym(2).UiObjectMemberList->finish());
+ sym(1).UiProgram = program;
} break;
case 2: {
@@ -246,7 +248,7 @@ case 19: {
sym(4).UiObjectMemberList->finish());
node->colonToken = loc(2);
node->lbracketToken = loc(3);
- node->rbraceToken = loc(5);
+ node->rbracketToken = loc(5);
sym(1).Node = node;
} break;
case 20:
@@ -1530,6 +1532,7 @@ case 293: {
yytoken = *tk;
yylval = 0;
yylloc = token_buffer[0].loc;
+ yylloc.length = 0;
first_token = &token_buffer[0];
last_token = &token_buffer[2];
@@ -1552,6 +1555,7 @@ case 293: {
yytoken = tk;
yylval = 0;
yylloc = token_buffer[0].loc;
+ yylloc.length = 0;
action = errorState;
goto _Lcheck_token;
diff --git a/src/declarative/qml/parser/javascriptparser_p.h b/src/declarative/qml/parser/javascriptparser_p.h
index c08a14a..e97abeb 100644
--- a/src/declarative/qml/parser/javascriptparser_p.h
+++ b/src/declarative/qml/parser/javascriptparser_p.h
@@ -143,7 +143,7 @@ public:
bool parse(JavaScriptEnginePrivate *driver);
JavaScript::AST::UiProgram *ast()
- { return sym(1).UiProgram; }
+ { return program; }
QList<DiagnosticMessage> diagnosticMessages() const
{ return diagnostic_messages; }
@@ -183,6 +183,8 @@ protected:
int *state_stack;
JavaScript::AST::SourceLocation *location_stack;
+ JavaScript::AST::UiProgram *program;
+
// error recovery
enum { TOKEN_BUFFER_SIZE = 3 };
diff --git a/src/declarative/qml/qmlinfo.cpp b/src/declarative/qml/qmlinfo.cpp
index a2b304f..65a4298 100644
--- a/src/declarative/qml/qmlinfo.cpp
+++ b/src/declarative/qml/qmlinfo.cpp
@@ -47,12 +47,14 @@ QT_BEGIN_NAMESPACE
\class QmlInfo
\brief The QmlInfo class prints warnings messages that include the file and line number for QML types.
- When QML types display warning messages, it improves tracibility if they include the
- QML file and line number on which the particular instance was instantiated.
+ When QML types display warning messages, it improves tracibility
+ if they include the QML file and line number on which the
+ particular instance was instantiated.
- QmlInfo statements work just like regular Qt qDebug() statements. To include the file
- and line number, an object must be passed. If the file and line number is not available
- for that instance (either it was not instantiated by the QML engine or location
+ QmlInfo statements work just like regular Qt qDebug() statements.
+ To include the file and line number, an object must be passed. If
+ the file and line number is not available for that instance
+ (either it was not instantiated by the QML engine or location
information is disabled), "unknown location" will be used instead.
For example,
@@ -69,7 +71,8 @@ QT_BEGIN_NAMESPACE
*/
/*!
- Construct a QmlInfo, using \a object for file and line number information.
+ Construct a QmlInfo, using \a object for file and line number
+ information.
*/
QmlInfo::QmlInfo(QObject *object)
: QDebug(QtWarningMsg)
@@ -81,17 +84,16 @@ QmlInfo::QmlInfo(QObject *object)
}
/*!
- \internal
+ The destructor does nothing special.
*/
QmlInfo::~QmlInfo()
{
}
/*!
- \fn QmlInfo qmlInfo(QObject *me)
- \internal
-
- XXX - how do we document these?
+ \relates QmlInfo
+ \fn QmlInfo qmlInfo(QObject *me)
+ Constructs an instance of QmlInfo from \a me and returns it.
*/
QT_END_NAMESPACE
diff --git a/src/declarative/util/qfxview.cpp b/src/declarative/util/qfxview.cpp
index 1e9d5a4..e285890 100644
--- a/src/declarative/util/qfxview.cpp
+++ b/src/declarative/util/qfxview.cpp
@@ -107,10 +107,10 @@ public:
\class QFxView
\brief The QFxView class provides a widget for displaying a Qt Declarative user interface.
- QFxView currently provides a minimal interface for displaying Qml files, and
- connecting between QML and C++ Qt objects.
+ QFxView currently provides a minimal interface for displaying QML
+ files, and connecting between QML and C++ Qt objects.
- Typcial usage looks something like this:
+ Typcial usage:
\code
...
QFxView *view = new QFxView(this);
@@ -129,12 +129,24 @@ public:
\endcode
*/
+/*!
+ \fn QFxView::QFxView(QWidget *parent)
+
+ Constructs a QFxView with the given \a parent.
+*/
QFxView::QFxView(QWidget *parent)
: QSimpleCanvas(parent), d(new QFxViewPrivate(this))
{
d->init();
}
+/*!
+ \fn QFxView::QFxView(QSimpleCanvas::CanvasMode mode, QWidget *parent)
+
+ Constructs a QFxView with the given \a parent. The canvas
+ \a mode can be QSimpleCanvas::GraphicsView or
+ QSimpleCanvas::SimpleCanvas.
+*/
QFxView::QFxView(QSimpleCanvas::CanvasMode mode, QWidget *parent)
: QSimpleCanvas(mode, parent), d(new QFxViewPrivate(this))
{
@@ -157,29 +169,49 @@ void QFxViewPrivate::init()
QFontDatabase database;
}
+/*!
+ The destructor clears the instance and deletes the internal
+ representation.
+
+ \sa clearItems()
+ */
QFxView::~QFxView()
{
clearItems();
delete d; d = 0;
}
+/*!
+ Sets the source to the \a url. The XML string is set to
+ empty.
+ */
void QFxView::setUrl(const QUrl& url)
{
d->source = url;
d->xml = QString();
}
+/*!
+ Sets the source to the URL from the \a filename, and sets
+ the XML string to \a xml.
+ */
void QFxView::setXml(const QString &xml, const QString &filename)
{
d->source = QUrl::fromLocalFile(filename);
d->xml = xml;
}
+/*!
+ Returns the XML string.
+ */
QString QFxView::xml() const
{
return d->xml;
}
+/*!
+ Returns a pointer to the QmlEngine.
+ */
QmlEngine* QFxView::engine()
{
return &d->engine;
diff --git a/src/declarative/util/qmlscript.h b/src/declarative/util/qmlscript.h
index fc038b4..8047a88 100644
--- a/src/declarative/util/qmlscript.h
+++ b/src/declarative/util/qmlscript.h
@@ -58,7 +58,7 @@ class Q_DECLARATIVE_EXPORT QmlScript : public QObject
Q_DECLARE_PRIVATE(QmlScript);
Q_PROPERTY(QString script READ script WRITE setScript);
- Q_PROPERTY(QString src READ source WRITE setSource);
+ Q_PROPERTY(QString source READ source WRITE setSource);
Q_CLASSINFO("DefaultProperty", "script");
public:
diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp
index 5850a97..cd33f5e 100644
--- a/src/declarative/util/qmlstate.cpp
+++ b/src/declarative/util/qmlstate.cpp
@@ -175,7 +175,6 @@ void QmlState::setWhen(QmlBindableValue *when)
}
/*!
- \advanced
\qmlproperty string State::extends
This property holds the state that this state extends
diff --git a/tools/qdoc3/test/qt-inc.qdocconf b/tools/qdoc3/test/qt-inc.qdocconf
index d6cb0e6..decdc15 100644
--- a/tools/qdoc3/test/qt-inc.qdocconf
+++ b/tools/qdoc3/test/qt-inc.qdocconf
@@ -99,7 +99,8 @@ Cpp.ignoretokens = QAXFACTORY_EXPORT \
Q_TESTLIB_EXPORT \
Q_TYPENAME \
Q_XML_EXPORT \
- QDBUS_EXPORT
+ QDBUS_EXPORT \
+ Q_DECLARATIVE_EXPORT
Cpp.ignoredirectives = Q_DECLARE_HANDLE \
Q_DECLARE_INTERFACE \
Q_DECLARE_METATYPE \