Hi all,<br><br>I am currently trying to write a plugin for QGis. I just need a simple thing: be able to catch click events. So, I just added in my plugin this piece of code:<br><br>// plugin.hpp<br>// ...<br>QgsMapToolEmitPoint* m_toolEmitPoint;<br>
// ...<br>private slots:<br>&nbsp;&nbsp; // ...<br>&nbsp;&nbsp; void canvas_clicked(QgsPoint &amp;point, Qt::MouseButton button);<br><br>// plugin.cpp<br>// in the constructor<br>m_toolEmitPoint = new QgsMapToolEmitPoint(m_mapCanvas);<br>QObject::connect( (QgsMapToolEmitPoint*)m_toolEmitPoint , SIGNAL(canvasClicked()) , this , SLOT(canvas_clicked(QgsPoint&amp;,Qt::MouseButton)) );<br>
// I also tried this version, but it does not work better:<br>QObject::connect( (QgsMapToolEmitPoint*)m_toolEmitPoint , SIGNAL(canvasClicked(QgsPoint&amp;,Qt::MouseButton)) , this , SLOT(canvas_clicked(QgsPoint&amp;,Qt::MouseButton)) );<br>
<br>void plugin::canvas_clicked(QgsPoint &amp;point, Qt::MouseButton button)<br>{<br>&nbsp;&nbsp;&nbsp; QMessageBox msg;<br>&nbsp;&nbsp;&nbsp; msg.setText(&quot;Canvas clicked !&quot;);<br>&nbsp;&nbsp;&nbsp; msg.exec();<br>}<br><br>The problem is that with the above code, the function canvas_clicked is never called. So, what am I doing wrong ? Do I misunderstand how to use QgsMapToolEmitPoint ?<br>
<br>Could please help me ?<br><br>Best regards,<br><br>Olivier<br clear="all"><br>-- <br>Olivier Tournaire<br>MATIS - Institut Géographique National<br>73, Ave de Paris<br>94165 St Mandé cedex, France<br><br>tel: (+33) 1 43 98 80 00 - 71 25<br>
fax: (+33) 1 43 98 85 81<br>