[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Just a little more help needed with QML and Data Engine
From:       Eric Mesa <ericsbinaryworld () gmail ! com>
Date:       2012-01-22 22:51:52
Message-ID: CAKYHq8L4LioXw+AmV5j8PPA8n=gRjqfZrChnh-uq4aLCqqAgfw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Here's what the data in the data engine looks like:
http://i.imgur.com/MBtLw.png

It's a QString.

I want to access that from within my QML Program.  But I keep getting the
error:

Result of expression 'viewsSource.data["75"]' [undefined] is not an object.


Here's the code in my QML program:


import Qt 4.7

import "content"

import QtWebKit 1.0

import org.kde.plasma.core 0.1 as PlasmaCore


Rectangle {

    id: window

    width: 360

    height: 360


    PlasmaCore.DataSource {

         id: viewsSource

         engine: "flickrviewsengine"

         connectedSources: ["75"]

         interval: 0

         onSourceAdded: connectSource(viewsSource)

         Component.onCompleted: connectedSources = sources

     }


    property string currentGroup: viewsSource.data["75"]["Group 75"]
//"/home/ermesa/bin/qml/plasmoids/flickrviews/testgrouprss"

    property bool loading: feedModel.status == XmlListModel.Loading


    XmlListModel{

            id:feedModel

            source: window.currentGroup //viewsSource.data["75"]["Group 75"]

            query: "/rsp/photos/photo"

            XmlRole { name: "title"; query: "@title/string()"}


        }


    Row {

        width: 360

        height: 43

        Rectangle{

            width: window.width; height: window.height

            color: "blue"


            Text {

                id: testtext

                text: qsTr("buttons will go here!")

            }

        }

    }


    Row {

        x: 0

        y: 43

        width: 370

        height: 317

            Rectangle {

                width: window.width/3+10; height: window.height

                color: "#efefef"


                ListView {

                    id: list

                    width: window.width/3; height: window.height

                    model: feedModel

                    delegate: ItemDelegate {}


                    highlight: Rectangle { color: "lightgray" }

                    highlightMoveSpeed: 9999999

                }


            }


            Rectangle {

                width: window.width/3*2

                height: window.height

            }

    }

}




What am I missing?

Thanks!

--
Eric Mesa
http://www.ericsbinaryworld.com

[Attachment #5 (text/html)]

Here&#39;s what the data in the data engine looks like: <a \
href="http://i.imgur.com/MBtLw.png">http://i.imgur.com/MBtLw.png</a><div><br></div><div>It&#39;s \
a QString.</div><div><br></div><div>I want to access that from within my QML Program. \
But I keep getting the error:  <p \
style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span \
style="font-family:&#39;Monospace&#39;;font-size:9pt;font-weight:600;color:#0a09b3">Result \
of expression &#39;viewsSource.data[&quot;75&quot;]&#39; [undefined] is not an \
object.</span></p> <p \
style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span \
style="font-family:&#39;Monospace&#39;;font-size:9pt;font-weight:600;color:#0a09b3"><br></span></p><p \
style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"> <span \
style="font-family:&#39;Monospace&#39;;font-size:9pt;font-weight:600;color:#0a09b3">Here&#39;s \
the code in my QML program:</span></p><p \
style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px"><span \
style="font-family:&#39;Monospace&#39;;font-size:9pt;font-weight:600;color:#0a09b3"><br>
 </span></p><p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px">
 </p><pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#808000">import</span><span style="color:#c0c0c0"> </span><span \
style="color:#800080">Qt</span><span style="color:#c0c0c0"> </span>4.7</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span \
style="color:#808000">import</span><span style="color:#c0c0c0"> </span><span \
style="color:#008000">&quot;content&quot;</span></pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span \
style="color:#808000">import</span><span style="color:#c0c0c0"> </span><span \
style="color:#800080">QtWebKit</span><span style="color:#c0c0c0"> </span>1.0</pre> \
<pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#808000">import</span><span style="color:#c0c0c0"> \
</span>org.kde.plasma.core<span style="color:#c0c0c0"> </span>0.1<span \
style="color:#c0c0c0"> </span>as<span style="color:#c0c0c0"> </span><span \
style="color:#800080">PlasmaCore</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#800080">Rectangle</span><span style="color:#c0c0c0"> </span>{</pre> \
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    \
</span><span style="color:#800000">id</span>:<span style="color:#c0c0c0"> \
</span>window</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">    </span><span style="color:#800000">width</span>:<span \
style="color:#c0c0c0"> </span>360</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span \
style="color:#800000">height</span>:<span style="color:#c0c0c0"> </span>360</pre> \
<pre style="margin-top:0px;margin-bottom:0px"><br></pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span \
style="color:#800080">PlasmaCore</span>.<span \
style="color:#800080">DataSource</span><span style="color:#c0c0c0"> </span>{</pre> \
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">         \
</span><span style="color:#800000">id</span>:<span style="color:#c0c0c0"> \
</span>viewsSource</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">         </span><span style="color:#800000">engine</span>:<span \
style="color:#c0c0c0"> </span><span \
style="color:#008000">&quot;flickrviewsengine&quot;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">         \
</span><span style="color:#800000">connectedSources</span>:<span \
style="color:#c0c0c0"> </span>[<span \
style="color:#008000">&quot;75&quot;</span>]</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">         \
</span><span style="color:#800000">interval</span>:<span style="color:#c0c0c0"> \
</span>0</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">         </span><span \
style="color:#800000">onSourceAdded</span>:<span style="color:#c0c0c0"> \
</span>connectSource(viewsSource)</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">         \
</span><span style="color:#800080">Component</span>.<span \
style="color:#800000">onCompleted</span>:<span style="color:#c0c0c0"> \
</span>connectedSources<span style="color:#c0c0c0"> </span>=<span \
style="color:#c0c0c0"> </span>sources</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">     \
</span>}</pre> <pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    \
</span><span style="color:#808000">property</span><span style="color:#c0c0c0"> \
</span><span style="color:#808000">string</span><span style="color:#c0c0c0"> \
</span>currentGroup:<span style="color:#c0c0c0"> </span>viewsSource.data[<span \
style="color:#008000">&quot;75&quot;</span>][<span \
style="color:#008000">&quot;Group</span><span style="color:#c0c0c0"> </span><span \
style="color:#008000">75&quot;</span>]<span style="color:#c0c0c0"> </span><span \
style="color:#008000">//&quot;/home/ermesa/bin/qml/plasmoids/flickrviews/testgrouprss&quot;</span></pre>


<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    \
</span><span style="color:#808000">property</span><span style="color:#c0c0c0"> \
</span><span style="color:#808000">bool</span><span style="color:#c0c0c0"> \
</span>loading:<span style="color:#c0c0c0"> </span>feedModel.status<span \
style="color:#c0c0c0"> </span>==<span style="color:#c0c0c0"> </span><span \
style="color:#800080">XmlListModel</span>.<span \
style="color:#800080">Loading</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    \
</span><span style="color:#800080">XmlListModel</span>{</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">id</span>:feedModel</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">source</span>:<span style="color:#c0c0c0"> \
</span>window.currentGroup<span style="color:#c0c0c0"> </span><span \
style="color:#008000">//viewsSource.data[&quot;75&quot;][&quot;Group</span><span \
style="color:#c0c0c0"> </span><span style="color:#008000">75&quot;]</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">query</span>:<span style="color:#c0c0c0"> \
</span><span style="color:#008000">&quot;/rsp/photos/photo&quot;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800080">XmlRole</span><span style="color:#c0c0c0"> \
</span>{<span style="color:#c0c0c0"> </span><span \
style="color:#800000">name</span>:<span style="color:#c0c0c0"> </span><span \
style="color:#008000">&quot;title&quot;</span>;<span style="color:#c0c0c0"> \
</span><span style="color:#800000">query</span>:<span style="color:#c0c0c0"> \
</span><span style="color:#008000">&quot;@title/string()&quot;</span>}</pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        \
</span>}</pre> <pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    \
</span><span style="color:#800080">Row</span><span style="color:#c0c0c0"> \
</span>{</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">        </span><span style="color:#800000">width</span>:<span \
style="color:#c0c0c0"> </span>360</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        \
</span><span style="color:#800000">height</span>:<span style="color:#c0c0c0"> \
</span>43</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">        </span><span \
style="color:#800080">Rectangle</span>{</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">width</span>:<span style="color:#c0c0c0"> \
</span>window.width;<span style="color:#c0c0c0"> </span><span \
style="color:#800000">height</span>:<span style="color:#c0c0c0"> \
</span>window.height</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">color</span>:<span style="color:#c0c0c0"> \
</span><span style="color:#008000">&quot;blue&quot;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800080">Text</span><span style="color:#c0c0c0"> \
</span>{</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">                </span><span \
style="color:#800000">id</span>:<span style="color:#c0c0c0"> </span>testtext</pre> \
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">text</span>:<span style="color:#c0c0c0"> \
</span>qsTr(<span style="color:#008000">&quot;buttons</span><span \
style="color:#c0c0c0"> </span><span style="color:#008000">will</span><span \
style="color:#c0c0c0"> </span><span style="color:#008000">go</span><span \
style="color:#c0c0c0"> </span><span style="color:#008000">here!&quot;</span>)</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span>}</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">        </span>}</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    \
</span>}</pre> <pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    \
</span><span style="color:#800080">Row</span><span style="color:#c0c0c0"> \
</span>{</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">        </span><span style="color:#800000">x</span>:<span \
style="color:#c0c0c0"> </span>0</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        \
</span><span style="color:#800000">y</span>:<span style="color:#c0c0c0"> \
</span>43</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">        </span><span style="color:#800000">width</span>:<span \
style="color:#c0c0c0"> </span>370</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        \
</span><span style="color:#800000">height</span>:<span style="color:#c0c0c0"> \
</span>317</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">            </span><span \
style="color:#800080">Rectangle</span><span style="color:#c0c0c0"> </span>{</pre> \
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">width</span>:<span style="color:#c0c0c0"> \
</span>window.width/3+10;<span style="color:#c0c0c0"> </span><span \
style="color:#800000">height</span>:<span style="color:#c0c0c0"> \
</span>window.height</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">color</span>:<span style="color:#c0c0c0"> \
</span><span style="color:#008000">&quot;#efefef&quot;</span></pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800080">ListView</span><span style="color:#c0c0c0"> \
</span>{</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">                    </span><span \
style="color:#800000">id</span>:<span style="color:#c0c0c0"> </span>list</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                 \
</span><span style="color:#800000">width</span>:<span style="color:#c0c0c0"> \
</span>window.width/3;<span style="color:#c0c0c0"> </span><span \
style="color:#800000">height</span>:<span style="color:#c0c0c0"> \
</span>window.height</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">model</span>:<span style="color:#c0c0c0"> \
</span>feedModel</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">                    </span><span \
style="color:#800000">delegate</span>:<span style="color:#c0c0c0"> </span><span \
style="color:#800080">ItemDelegate</span><span style="color:#c0c0c0"> </span>{}</pre>

<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">highlight</span>:<span style="color:#c0c0c0"> \
</span><span style="color:#800080">Rectangle</span><span style="color:#c0c0c0"> \
</span>{<span style="color:#c0c0c0"> </span><span \
style="color:#800000">color</span>:<span style="color:#c0c0c0"> </span><span \
style="color:#008000">&quot;lightgray&quot;</span><span style="color:#c0c0c0"> \
</span>}</pre>

<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800000">highlightMoveSpeed</span>:<span \
style="color:#c0c0c0"> </span>9999999</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">                \
</span>}</pre> <pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span>}</pre> <pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">            \
</span><span style="color:#800080">Rectangle</span><span style="color:#c0c0c0"> \
</span>{</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">                </span><span \
style="color:#800000">width</span>:<span style="color:#c0c0c0"> \
</span>window.width/3*2</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">                </span><span \
style="color:#800000">height</span>:<span style="color:#c0c0c0"> \
</span>window.height</pre> <pre style="margin-top:0px;margin-bottom:0px"><span \
style="color:#c0c0c0">            </span>}</pre> <pre \
style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    \
</span>}</pre> <pre style="margin-top:0px;margin-bottom:0px">}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre \
style="margin-top:0px;margin-bottom:0px"><br></pre><pre \
style="margin-top:0px;margin-bottom:0px"><br></pre><p></p><div>What am I missing?  \
</div><div><br></div> <div>Thanks!</div><div><br></div>--<br>Eric Mesa<br><a \
href="http://www.ericsbinaryworld.com">http://www.ericsbinaryworld.com</a><br> </div>



_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic