Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrachytski <siarhei.rachytski@gmail.com>2013-01-28 18:30:30 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:49:24 +0300
commit8a76c0966deabbb180730345a9c65859145de9bc (patch)
treebe5957ec98fb9f5859904d682c32815e4eaa5fa3 /qt_tstfrm
parent6f1dcdd9ede0f0158bc41c964b7bdf5786555700 (diff)
added gui::Balloon::setOnClickListener and added a test for it.
Diffstat (limited to 'qt_tstfrm')
-rw-r--r--qt_tstfrm/gui_test_widget.hpp31
1 files changed, 30 insertions, 1 deletions
diff --git a/qt_tstfrm/gui_test_widget.hpp b/qt_tstfrm/gui_test_widget.hpp
index df5d798d09..4fb18ef30c 100644
--- a/qt_tstfrm/gui_test_widget.hpp
+++ b/qt_tstfrm/gui_test_widget.hpp
@@ -2,6 +2,7 @@
#include "gl_test_widget.hpp"
#include "../../gui/controller.hpp"
+#include <QMouseEvent>
template <class T, void (T::*)(gui::Controller*)>
struct init_with_controller_fn_bind
@@ -33,6 +34,11 @@ private:
public:
+ void invalidate()
+ {
+ base_t::updateGL();
+ }
+
void initializeGL()
{
base_t::initializeGL();
@@ -56,7 +62,7 @@ public:
rp.m_CacheScreen = m_cacheScreen.get();
rp.m_GlyphCache = base_t::m_resourceManager->glyphCache(0);
- rp.m_InvalidateFn = bind(&QGLWidget::update, this);
+ rp.m_InvalidateFn = bind(&GUITestWidget<TTest>::invalidate, this);
rp.m_VisualScale = 1.0;
InitImpl(m_controller, bool_tag<has_init_with_controller<TTest, TTest>::value >());
@@ -78,6 +84,29 @@ public:
m_controller->UpdateElements();
m_controller->DrawFrame(s.get());
}
+
+ void mousePressEvent(QMouseEvent * e)
+ {
+ base_t::mousePressEvent(e);
+
+ if (e->button() == Qt::LeftButton)
+ m_controller->OnTapStarted(m2::PointU(e->pos().x(), e->pos().y()));
+ }
+
+ void mouseReleaseEvent(QMouseEvent * e)
+ {
+ base_t::mouseReleaseEvent(e);
+
+ if (e->button() == Qt::LeftButton)
+ m_controller->OnTapEnded(m2::PointU(e->pos().x(), e->pos().y()));
+ }
+
+ void mouseMoveEvent(QMouseEvent * e)
+ {
+ base_t::mouseMoveEvent(e);
+
+ m_controller->OnTapMoved(m2::PointU(e->pos().x(), e->pos().y()));
+ }
};
template <class Test> QWidget * create_gui_test_widget()