- MapEngine must have view attached before using the map,
and the tests didn't have, so the test segfaulted
const QPoint ONE_PIXEL = QPoint(1, 1);
const QPoint ONE_PIXEL = QPoint(1, 1);
- QGraphicsView *view = m_mapScene->views().at(0);
+ QGraphicsView *view = m_mapScene->views().first();
QPointF sceneTopLeft = view->mapToScene(0, 0);
QPoint viewBottomRight = QPoint(view->size().width(), view->size().height()) - ONE_PIXEL;
QPointF sceneBottomRight = view->mapToScene(viewBottomRight);
QPointF sceneTopLeft = view->mapToScene(0, 0);
QPoint viewBottomRight = QPoint(view->size().width(), view->size().height()) - ONE_PIXEL;
QPointF sceneBottomRight = view->mapToScene(viewBottomRight);
* Logic for controlling map functionality. Does also include static methods for
* converting coordinates.
*
* Logic for controlling map functionality. Does also include static methods for
* converting coordinates.
*
+ * NOTE: MapEngine must have a view attached before using it!
+ *
* @author Sami Rämö - sami.ramo (at) ixonos.com
* @author Jussi Laitinen - jussi.laitinen (at) ixonos.com
* @author Pekka Nissinen - pekka.nissinen (at) ixonos.com
* @author Sami Rämö - sami.ramo (at) ixonos.com
* @author Jussi Laitinen - jussi.laitinen (at) ixonos.com
* @author Pekka Nissinen - pekka.nissinen (at) ixonos.com
*/
#include <QGraphicsScene>
*/
#include <QGraphicsScene>
+#include <QGraphicsView>
#include <QtTest/QtTest>
#include "common.h"
#include <QtTest/QtTest>
#include "common.h"
void convertTileNumberToSceneCoordinate_data();
void setLocationNewTilesCount();
void setLocationRemovedTilesCount();
void convertTileNumberToSceneCoordinate_data();
void setLocationNewTilesCount();
void setLocationRemovedTilesCount();
- void zoomOutRemovedTilesCount();
- void zoomInRemovedTilesCount();
void usingLastLocation();
void usingLastLocation();
+ void zoomInRemovedTilesCount();
+ void zoomOutRemovedTilesCount();
signals:
void setCenterPosition(SceneCoordinate); // a way to call a private slot
signals:
void setCenterPosition(SceneCoordinate); // a way to call a private slot
void TestMapEngine::setLocationNewTilesCount()
{
MapEngine engine;
void TestMapEngine::setLocationNewTilesCount()
{
MapEngine engine;
+ QGraphicsView view;
+ view.setScene(engine.scene());
engine.viewResized(QSize(800, 480));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
&engine, SLOT(setCenterPosition(SceneCoordinate)));
engine.viewResized(QSize(800, 480));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
&engine, SLOT(setCenterPosition(SceneCoordinate)));
void TestMapEngine::setLocationRemovedTilesCount()
{
MapEngine engine;
void TestMapEngine::setLocationRemovedTilesCount()
{
MapEngine engine;
+ QGraphicsView view;
+ view.setScene(engine.scene());
engine.viewResized(QSize(800, 480));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
&engine, SLOT(setCenterPosition(SceneCoordinate)));
engine.viewResized(QSize(800, 480));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
&engine, SLOT(setCenterPosition(SceneCoordinate)));
void TestMapEngine::zoomInRemovedTilesCount()
{
MapEngine engine;
void TestMapEngine::zoomInRemovedTilesCount()
{
MapEngine engine;
+ QGraphicsView view;
+ view.setScene(engine.scene());
engine.viewResized(QSize(800, 480));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
&engine, SLOT(setCenterPosition(SceneCoordinate)));
engine.viewResized(QSize(800, 480));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
&engine, SLOT(setCenterPosition(SceneCoordinate)));
void TestMapEngine::zoomOutRemovedTilesCount()
{
MapEngine engine;
void TestMapEngine::zoomOutRemovedTilesCount()
{
MapEngine engine;
+ QGraphicsView view;
+ view.setScene(engine.scene());
engine.viewResized(QSize(800, 480));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
&engine, SLOT(setCenterPosition(SceneCoordinate)));
engine.viewResized(QSize(800, 480));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
&engine, SLOT(setCenterPosition(SceneCoordinate)));
{
// Create mapengine and start monitoring zoomLevelChanged-signal
MapEngine *mapengine = new MapEngine;
{
// Create mapengine and start monitoring zoomLevelChanged-signal
MapEngine *mapengine = new MapEngine;
+ QGraphicsView view;
+ view.setScene(mapengine->scene());
QSignalSpy mapEngineSpy(mapengine, SIGNAL(zoomLevelChanged(int)));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
mapengine, SLOT(setCenterPosition(SceneCoordinate)));
QSignalSpy mapEngineSpy(mapengine, SIGNAL(zoomLevelChanged(int)));
connect(this, SIGNAL(setCenterPosition(SceneCoordinate)),
mapengine, SLOT(setCenterPosition(SceneCoordinate)));