<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
<font style="" face="Tahoma">    Hello,</font><font style="" face="Tahoma"><br></font><font style="" face="Tahoma"><br></font><font style="" face="Tahoma">    I'm developing a small application using Python bindings for Marble. I want my application to gather some geographic data from a database and pinpoint several coordinates in a map.</font><font style="" face="Tahoma"><br></font><font style="" face="Tahoma"><br></font><font style="" face="Tahoma">    As far as I understand, such can be achieved by the use of </font><font style="" face="Tahoma"><i>placemarks</i></font><font style="" face="Tahoma">, as explained in this fragment of code extracted from one of the <a href="http://http://techbase.kde.org/Projects/Marble/Runners/DisplayGeoDataPlacemark">Marble Tutorials</a>, where </font><font style="" face="Tahoma"><i>GeoDataPlacemarks</i></font><font style="" face="Tahoma"> are instantiated and then added to a </font><font style="" face="Tahoma"><i>GeoDataDocument</i></font><font style="" face="Tahoma"> that will later render them in the map.</font><font style="" face="Tahoma"><br></font><font style="" face="Tahoma"></font><br><pre class="de1"><font style="" color="#1F497D">  GeoDataPlacemark </font><font style="" color="#1F497D"><span class="sy0">*</span></font><font style="" color="#1F497D">place </font><font style="" color="#1F497D"><span class="sy0">=</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="kw1">new</span></font><font style="" color="#1F497D"> GeoDataPlacemark</font><font style="" color="#1F497D"><span class="br0">(</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="st0">"Bucharest"</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="br0">)</span></font><font style="" color="#1F497D"><span class="sy0">;</span></font><font style="" color="#1F497D">
        place</font><font style="" color="#1F497D"><span class="sy0">-></span></font><font style="" color="#1F497D"><span class="me3">setCoordinate</span></font><font style="" color="#1F497D"><span class="br0">(</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="nu16">25.97</span></font><font style="" color="#1F497D"><span class="sy0">,</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="nu16">44.43</span></font><font style="" color="#1F497D"><span class="sy0">,</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="nu16">0.0</span></font><font style="" color="#1F497D"><span class="sy0">,</span></font><font style="" color="#1F497D"> GeoDataCoordinates</font><font style="" color="#1F497D"><span class="sy0">::</span></font><font style="" color="#1F497D"><span class="me2">Degree</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="br0">)</span></font><font style="" color="#1F497D"><span class="sy0">;</span></font><font style="" color="#1F497D">
        place</font><font style="" color="#1F497D"><span class="sy0">-></span></font><font style="" color="#1F497D"><span class="me3">setPopulation</span></font><font style="" color="#1F497D"><span class="br0">(</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="nu0">1877155</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="br0">)</span></font><font style="" color="#1F497D"><span class="sy0">;</span></font><font style="" color="#1F497D">
        place</font><font style="" color="#1F497D"><span class="sy0">-></span></font><font style="" color="#1F497D"><span class="me3">setCountryCode</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="br0">(</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="st0">"Romania"</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="br0">)</span></font><font style="" color="#1F497D"><span class="sy0">;</span></font><font style="" color="#1F497D">
 
 
        GeoDataDocument </font><font style="" color="#1F497D"><span class="sy0">*</span></font><font style="" color="#1F497D">document </font><font style="" color="#1F497D"><span class="sy0">=</span></font><font style="" color="#1F497D"> </font><font style="" color="#1F497D"><span class="kw1">new</span></font><font style="" color="#1F497D"> GeoDataDocument</font><font style="" color="#1F497D"><span class="sy0">;</span></font><font style="" color="#1F497D">
        document</font><font style="" color="#1F497D"><span class="sy0">-></span></font><font style="" color="#1F497D"><span class="me3">append</span></font><font style="" color="#1F497D"><span class="br0">(</span></font><font style="" color="#1F497D"> place </font><font style="" color="#1F497D"><span class="br0">)</span></font><font style="" color="#1F497D"><span class="sy0">;</span></font><font style="" color="#1F497D">
 
        </font><font style="" color="#1F497D"><span class="co1">// Add the document to MarbleWidget's tree model</span></font><font style="" color="#1F497D">
        mapWidget</font><font style="" color="#1F497D"><span class="sy0">-></span></font><font style="" color="#1F497D"><span class="me3">model</span></font><font style="" color="#1F497D"><span class="br0">(</span></font><font style="" color="#1F497D"><span class="br0">)</span></font><font style="" color="#1F497D"><span class="sy0">-></span></font><font style="" color="#1F497D"><span class="me3">treeModel</span></font><font style="" color="#1F497D"><span class="br0">(</span></font><font style="" color="#1F497D"><span class="br0">)</span></font><font style="" color="#1F497D"><span class="sy0">-></span></font><font style="" color="#1F497D"><span class="me3">addDocument</span></font><font style="" color="#1F497D"><span class="br0">(</span></font><font style="" color="#1F497D"> document </font><font style="" color="#1F497D"><span class="br0">)</span></font><font style="" color="#1F497D"><span class="sy0">;</span></font></pre><font style="" face="Tahoma"><br></font><font style="" face="Tahoma">    Trying to reproduce these lines of code in Python have proven to be unsuccesful. The MarbleWidget.model() doesn't seem to have the corresponding treeModel(). Even so, looking at the <i>MarbleModel.sip files</i> inside the Marble source code, the <i>treeModel</i> attribute is commented.</font><font style="" face="Tahoma"><br><br>This is a small snippet of the code I'm using, which would be equivalent to the one above.<br><br></font><blockquote><blockquote><font style="" color="#1F497D" face="Arial">mapWidget = Marble.MarbleWidget()</font><font style="" color="#1F497D" face="Arial"></font><font style="" color="#1F497D" face="Arial"><br>mapWidget.resize(800,600)</font><font style="" color="#1F497D" face="Arial"><br></font><font style="" color="#1F497D" face="Arial"><br></font><font style="" color="#1F497D" face="Arial">place = Marble.GeoDataPlacemark( "Bucharest" )</font><font style="" color="#1F497D" face="Arial"><br></font><font style="" color="#1F497D" face="Arial">place.setCoordinate( 25.97, 44.43, 0.0, Marble.GeoDataCoordinates.Degree )</font><font style="" color="#1F497D" face="Arial"><br></font><font style="" color="#1F497D" face="Arial">place.setPopulation( 1877155 )</font><font style="" color="#1F497D" face="Arial"><br></font><font style="" color="#1F497D" face="Arial">place.setCountryCode ( "Romania" )</font><font style="" color="#1F497D" face="Arial"><br></font><font style="" color="#1F497D" face="Arial"><br></font><font style="" color="#1F497D" face="Arial">document = Marble.GeoDataDocument()</font><font style="" color="#1F497D" face="Arial"><br></font><font style="" color="#1F497D" face="Arial">document.append( place )</font><font style="" face="Arial"><br></font><font style="" face="Arial"><br></font><font style="" color="#1F497D" face="Arial">mapWidget.model().treeModel().addDocument(document)</font><font style="" color="#1F497D" face="Arial"> </font><font style="" face="Arial">  </font><font style="" color="#C00000">--> this is where the compiler warns there is no tree model attribute</font><br></blockquote></blockquote><font style="" face="Tahoma"><br></font><font style="" face="Tahoma"><br></font><font style="" face="Tahoma">    My question is whether the addition of placemarks can be done using python bindings, and if so,  whether my approach is correct or if there is another way to do it.</font><font style="" face="Tahoma"><br></font><font style="" face="Tahoma">    </font><font style="" face="Tahoma"><br></font><font style="" face="Tahoma">    Thanks in advance,<br><br>     Jess<br></font>                                           </div></body>
</html>