[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu/marble/src/lib
From: Henry de Valence <hdevalence () gmail ! com>
Date: 2008-09-02 19:49:43
Message-ID: 1220384983.018278.4854.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 856408 by hdevalence:
Get rid of MarbleRunnerResult and work directly with the placemarks. Todo: get icons working
M +0 -1 CMakeLists.txt
M +13 -16 MarbleRunnerManager.cpp
M +4 -7 MarbleRunnerManager.h
D MarbleRunnerResult.cpp
D MarbleRunnerResult.h
M +9 -14 runners/LatLonRunner.cpp
M +0 -4 runners/LatLonRunner.h
M +1 -1 runners/MarbleAbstractRunner.cpp
M +8 -5 runners/MarbleAbstractRunner.h
M +12 -16 runners/OnfRunner.cpp
--- trunk/KDE/kdeedu/marble/src/lib/CMakeLists.txt #856407:856408
@@ -157,7 +157,6 @@
MapThemeSortFilterProxyModel.cpp
MarbleRunnerManager.cpp
- MarbleRunnerResult.cpp
runners/MarbleAbstractRunner.cpp
runners/LatLonRunner.cpp
runners/OnfRunner.cpp
--- trunk/KDE/kdeedu/marble/src/lib/MarbleRunnerManager.cpp #856407:856408
@@ -20,15 +20,17 @@
#include "MarbleRunnerManager.h"
-#include "MarbleRunnerResult.h"
#include "MarblePlacemarkModel.h"
#include "PlaceMarkManager.h"
+#include "PlaceMarkContainer.h"
+#include "GeoDataPlacemark.h"
#include "LatLonRunner.h"
#include "OnfRunner.h"
#include <QtCore/QObject>
#include <QtCore/QString>
+#include <QtCore/QVector>
#include <QtDebug>
@@ -38,8 +40,8 @@
MarbleRunnerManager::MarbleRunnerManager( QObject *parent )
: QObject(parent)
{
- qRegisterMetaType<MarbleRunnerResult>("MarbleRunnerResult");
-
+ qRegisterMetaType<QVector<GeoDataPlacemark*> >("QVector<GeoDataPlacemark*>");
+
m_model = new MarblePlacemarkModel(0);
m_activeRunners = 0;
m_lastString = "";
@@ -50,8 +52,8 @@
m_latlonRunner->moveToThread(m_latlonRunner);
connect( m_latlonRunner, SIGNAL( runnerStarted(QString) ),
this, SLOT( slotRunnerStarted(QString) ));
- connect( m_latlonRunner, SIGNAL( runnerFinished( MarbleRunnerResult ) ),
- this, SLOT( slotRunnerFinished( MarbleRunnerResult ) ));
+ connect( m_latlonRunner, SIGNAL( runnerFinished( QVector<GeoDataPlacemark*> ) ),
+ this, SLOT( slotRunnerFinished( QVector<GeoDataPlacemark*> ) ));
connect( this, SIGNAL( engage(QString) ),
m_latlonRunner, SLOT( parse(QString) ));
@@ -60,8 +62,8 @@
m_onfRunner->moveToThread(m_onfRunner);
connect( m_onfRunner, SIGNAL( runnerStarted(QString) ),
this, SLOT( slotRunnerStarted(QString) ));
- connect( m_onfRunner, SIGNAL( runnerFinished( MarbleRunnerResult ) ),
- this, SLOT( slotRunnerFinished( MarbleRunnerResult ) ));
+ connect( m_onfRunner, SIGNAL( runnerFinished( QVector<GeoDataPlacemark*> ) ),
+ this, SLOT( slotRunnerFinished( QVector<GeoDataPlacemark*> ) ));
connect( this, SIGNAL( engage(QString) ),
m_onfRunner, SLOT( parse(QString) ));
}
@@ -91,18 +93,13 @@
emit engage(text);
}
-void MarbleRunnerManager::slotRunnerFinished( MarbleRunnerResult result )
+void MarbleRunnerManager::slotRunnerFinished( QVector<GeoDataPlacemark*> result )
{
m_activeRunners--;
qDebug() << "Runner finished, active runners: " << m_activeRunners;
- if( result.score() == MarbleRunnerResult::NoMatch ) {
- qDebug() << "[RunnerManager]" << result.runnerName() << "failed to match :(";
- return;
- }
- qDebug() << "[RunnerManager]" << result.runnerName() << "reports match found ("
- << static_cast<int>(result.score()) << ") :D";
- //TODO: use MarbleRunnerResult::ResultType to list the objects in order
- PlaceMarkContainer cont = result.placemarks();
+ qDebug() << "Runner reports" << result.size() << "results";
+
+ PlaceMarkContainer cont( result, "Runner Results" );
m_model->addPlaceMarks( cont, false );
// qDebug() << "emit modelchanged";
emit modelChanged( m_model );
--- trunk/KDE/kdeedu/marble/src/lib/MarbleRunnerManager.h #856407:856408
@@ -21,18 +21,15 @@
#ifndef MARBLERUNNERMANAGER_H
#define MARBLERUNNERMANAGER_H
-
-#include "MarbleRunnerResult.h"
-
#include <QtCore/QObject>
+#include <QtCore/QVector>
+#include <QtCore/QString>
-class QString;
-
namespace Marble
{
class MarblePlacemarkModel;
-class PlaceMarkManager;
+class GeoDataPlacemark;
class LatLonRunner;
class OnfRunner;
@@ -54,7 +51,7 @@
//tells runners to make it so
void engage(QString text);
private slots:
- void slotRunnerFinished(MarbleRunnerResult result);
+ void slotRunnerFinished(QVector<GeoDataPlacemark*> result);
void slotRunnerStarted(QString runnerName);
private:
int m_activeRunners;
--- trunk/KDE/kdeedu/marble/src/lib/runners/LatLonRunner.cpp #856407:856408
@@ -21,13 +21,12 @@
#include "LatLonRunner.h"
#include "MarbleAbstractRunner.h"
-#include "MarbleRunnerResult.h"
#include "GeoDataPlacemark.h"
#include "GeoDataCoordinates.h"
-#include "PlaceMarkContainer.h"
#include <QtCore/QString>
#include <QtCore/QStringList>
+#include <QtCore/QVector>
#include <QtDebug>
@@ -41,7 +40,7 @@
QString LatLonRunner::name() const
{
- return tr("Latitude / Longitude Runner");
+ return "FIXME";
}
LatLonRunner::~LatLonRunner()
@@ -55,26 +54,22 @@
bool successful = false;
GeoDataCoordinates coord = GeoDataCoordinates::fromString( input, successful );
- MarbleRunnerResult::Score score;
GeoDataPlacemark *placemark = new GeoDataPlacemark();
placemark->setName( input );
qreal lon, lat;
coord.geoCoordinates( lon, lat );
placemark->setCoordinate( lon, lat );
+ QVector<GeoDataPlacemark*> vector;
+ //TODO: FIXME
if( successful ) {
- score = MarbleRunnerResult::PerfectMatch; // matches regex
- } else {
- score = MarbleRunnerResult::NoMatch; //does not match
+ //TODO: set placemark icon
+ placemark->setPopularity( 1000000000 );
+ placemark->setPopularityIndex( 18 );
+ vector.append( placemark );
}
- PlaceMarkContainer container;
- container.setName( "Coordinate search result" );
- container.append( placemark );
-
- MarbleRunnerResult result( container, score, name() );
-
- emit runnerFinished( result );
+ emit runnerFinished( vector );
}
}
--- trunk/KDE/kdeedu/marble/src/lib/runners/LatLonRunner.h #856407:856408
@@ -23,10 +23,6 @@
#include "MarbleAbstractRunner.h"
-class QThread;
-class QString;
-class QStringList;
-
namespace Marble
{
--- trunk/KDE/kdeedu/marble/src/lib/runners/MarbleAbstractRunner.cpp #856407:856408
@@ -41,7 +41,7 @@
QString MarbleAbstractRunner::name() const
{
- return QString("Abstract Runner");
+ return "FIXME";
}
void MarbleAbstractRunner::run()
--- trunk/KDE/kdeedu/marble/src/lib/runners/MarbleAbstractRunner.h #856407:856408
@@ -21,14 +21,17 @@
#ifndef MARBLEABSTRACTRUNNER_H
#define MARBLEABSTRACTRUNNER_H
-#include "MarbleRunnerResult.h"
#include <QThread>
+#include <QVector>
class QString;
namespace Marble
{
+
+class GeoDataPlacemark;
+
/**
* This class is the base class for all Marble Runners.
*/
@@ -45,7 +48,8 @@
*/
~MarbleAbstractRunner();
/**
- * This function should return the user-visible name for this runner
+ * This function gives the name of the icon for this runner
+ * @return the name of the icon of the runner
*/
virtual QString name() const;
@@ -64,18 +68,17 @@
signals:
/**
* This is emitted to indicate that the runner has started to work.
- * @param runnerName the user-visible name for the runner.
+ * @param runnerName the name of the icon for the runner.
* @see parse()
* @see name()
*/
void runnerStarted(QString runnerName);
/**
* This is emitted to indicate that the runner has finished.
- * If the parsing failed, @p result should have MarbleRunnerResult::NoMatch
* @param result the result of the parsing.
* @see parse()
*/
- void runnerFinished(MarbleRunnerResult result);
+ void runnerFinished(QVector<GeoDataPlacemark*> result);
};
}
--- trunk/KDE/kdeedu/marble/src/lib/runners/OnfRunner.cpp #856407:856408
@@ -21,13 +21,13 @@
#include "OnfRunner.h"
#include "MarbleAbstractRunner.h"
-#include "MarbleRunnerResult.h"
#include "GeoOnfParser.h"
#include "GeoDataDocument.h"
-#include "PlaceMarkContainer.h"
+#include "GeoDataPlacemark.h"
#include <QtCore/QString>
#include <QtCore/QBuffer>
+#include <QtCore/QVector>
#include <QtCore/QtDebug>
#include <QtNetwork/QHttp>
@@ -41,7 +41,6 @@
OnfRunner::OnfRunner( QObject *parent ) : MarbleAbstractRunner( parent )
{
- qRegisterMetaType<MarbleRunnerResult>();
m_http = new QHttp("gazetteer.openstreetmap.org");
m_buffer = 0;
@@ -65,9 +64,8 @@
//The manager needs to know when parsing starts and stops
//in order to have a balanced count of active runners. So
//we emit runnerFinished() to balance the previous failed runnerStarted()
- MarbleRunnerResult fail;
- fail.setRunnerName( name() );
- emit runnerFinished( fail );
+ QVector<GeoDataPlacemark*> empty;
+ emit runnerFinished( empty );
return;
}
@@ -119,17 +117,15 @@
GeoDataDocument *results = static_cast<GeoDataDocument*>( parser.releaseDocument() );
Q_ASSERT( results );
-
- PlaceMarkContainer container( results->placemarks(), "ONF Search Results" );
- MarbleRunnerResult result;
-
- if( container.isEmpty() ) {
- result = MarbleRunnerResult( container, MarbleRunnerResult::NoMatch, name() );
- } else {
- result = MarbleRunnerResult( container, MarbleRunnerResult::PerfectMatch, name() );
+
+ QVector<GeoDataPlacemark*> placemarks = results->placemarks();
+ //TODO: get icons working
+/*
+ foreach( GeoDataPlacemark* placemark, placemarks ) {
+ //SET ICON using name()
}
-
- emit runnerFinished( result );
+*/
+ emit runnerFinished( placemarks );
return;
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic