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
path: root/map
diff options
context:
space:
mode:
authorExMix <rahuba.youri@mapswithme.com>2013-06-27 16:15:01 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:57:21 +0300
commit366c57ac6a0c8ac48e22c8831b641a4afb3a979e (patch)
tree22920efe23a679cb518a32ab85fe6c96a6e3245d /map
parent56c2974f149cc38c36bd9768d7097657dbe1b5f1 (diff)
[fix]
- Sort gui elements by depth before select. - Correct My position and Bookmark depth. - Add ballon mode for show with bookmark padding and without.
Diffstat (limited to 'map')
-rw-r--r--map/balloon_manager.cpp18
-rw-r--r--map/balloon_manager.hpp2
-rw-r--r--map/bookmark_balloon.cpp9
-rw-r--r--map/bookmark_balloon.hpp3
4 files changed, 17 insertions, 15 deletions
diff --git a/map/balloon_manager.cpp b/map/balloon_manager.cpp
index 3007ae1b9c..93026f4a42 100644
--- a/map/balloon_manager.cpp
+++ b/map/balloon_manager.cpp
@@ -57,20 +57,20 @@ void BalloonManager::LocationChanged(location::GpsInfo const & info)
void BalloonManager::OnPositionClicked(m2::PointD const & pt)
{
- Show(pt, m_f.GetStringsBundle().GetString("my_position"), "");
+ Show(pt, m_f.GetStringsBundle().GetString("my_position"), "", false);
m_balloon->setOnClickListener(bind(&BalloonManager::OnActivateMyPosition, this, _1));
m_updateForLocation = true;
}
-void BalloonManager::Show(m2::PointD const & pt, string const & name, string const & type)
+void BalloonManager::Show(m2::PointD const & pt, string const & name, string const & type, bool needPadding)
{
m_updateForLocation = false;
m_balloon->setGlbPivot(pt);
m_balloon->setBookmarkCaption(name, type);
- m_balloon->showAnimated();
+ m_balloon->showAnimated(needPadding);
m_f.Invalidate();
}
@@ -91,7 +91,7 @@ void BalloonManager::ShowAddress(m2::PointD const & pt, search::AddressInfo cons
if (name.empty() && type.empty())
name = m_f.GetStringsBundle().GetString("dropped_pin");
- Show(pt, name, type);
+ Show(pt, name, type, false);
m_balloon->setOnClickListener(bind(&BalloonManager::OnActivatePOI, this, _1, info));
}
@@ -100,14 +100,14 @@ void BalloonManager::ShowApiPoint(url_scheme::ApiPoint const & apiPoint)
{
Show(m2::PointD(MercatorBounds::LonToX(apiPoint.m_lon),
MercatorBounds::LatToY(apiPoint.m_lat)),
- apiPoint.m_name, "");
+ apiPoint.m_name, "", true);
m_balloon->setOnClickListener(bind(&BalloonManager::OnActivateAPI, this, _1, apiPoint));
}
void BalloonManager::ShowBookmark(BookmarkAndCategory bmAndCat)
{
Bookmark const * pBM = m_f.GetBmCategory(bmAndCat.first)->GetBookmark(bmAndCat.second);
- Show(pBM->GetOrg(), pBM->GetName(), "");
+ Show(pBM->GetOrg(), pBM->GetName(), "", true);
m_balloon->setOnClickListener(bind(&BalloonManager::OnActivateBookmark, this, _1, bmAndCat));
}
@@ -118,7 +118,7 @@ void BalloonManager::OnClick(m2::PointD const & pxPoint, bool isLongTouch)
{
Show(m2::PointD(MercatorBounds::LonToX(apiPoint.m_lon),
MercatorBounds::LatToY(apiPoint.m_lat)),
- apiPoint.m_name, "");
+ apiPoint.m_name, "", true);
m_balloon->setOnClickListener(bind(&BalloonManager::OnActivateAPI, this, _1, apiPoint));
}
else
@@ -131,9 +131,7 @@ void BalloonManager::OnClick(m2::PointD const & pxPoint, bool isLongTouch)
{
case Framework::BOOKMARK:
{
- Bookmark const * pBM = m_f.GetBmCategory(bmAndCat.first)->GetBookmark(bmAndCat.second);
- Show(pBM->GetOrg(), pBM->GetName(), "");
- m_balloon->setOnClickListener(bind(&BalloonManager::OnActivateBookmark, this, _1, bmAndCat));
+ ShowBookmark(bmAndCat);
return;
}
diff --git a/map/balloon_manager.hpp b/map/balloon_manager.hpp
index 59233d96e2..0d985328e3 100644
--- a/map/balloon_manager.hpp
+++ b/map/balloon_manager.hpp
@@ -30,7 +30,7 @@ class BalloonManager
void OnActivateAPI(gui::Element *, url_scheme::ApiPoint const & apiPoint);
void OnActivateBookmark(gui::Element *, BookmarkAndCategory const & bmAndCat);
- void Show(m2::PointD const & pt, string const & name, string const & type);
+ void Show(m2::PointD const & pt, string const & name, string const & type, bool needPadding);
public:
BalloonManager(Framework & f);
diff --git a/map/bookmark_balloon.cpp b/map/bookmark_balloon.cpp
index 0e02ce6aa3..52c0f420db 100644
--- a/map/bookmark_balloon.cpp
+++ b/map/bookmark_balloon.cpp
@@ -90,7 +90,8 @@ private:
BookmarkBalloon::BookmarkBalloon(Params const & p)
: Balloon(p),
m_framework(p.m_framework),
- m_isPositionChecked(true)
+ m_isPositionChecked(true),
+ m_needPadding(false)
{
}
@@ -169,7 +170,8 @@ void BookmarkBalloon::update()
if (isVisible())
{
m2::PointD newPivot(m_framework->GtoP(m_glbPivot));
- newPivot.y -= PopupPadding * visualScale();
+ if (m_needPadding)
+ newPivot.y -= PopupPadding * visualScale();
setPivot(newPivot);
if (checkPosition())
@@ -229,8 +231,9 @@ void BookmarkBalloon::cancelTask()
}
}
-void BookmarkBalloon::showAnimated()
+void BookmarkBalloon::showAnimated(bool needPadding)
{
+ m_needPadding = needPadding;
setPosition(graphics::EPosCenter);
setIsPositionChecked(false);
diff --git a/map/bookmark_balloon.hpp b/map/bookmark_balloon.hpp
index 51ed374d35..1e6a4375d0 100644
--- a/map/bookmark_balloon.hpp
+++ b/map/bookmark_balloon.hpp
@@ -18,6 +18,7 @@ private:
string m_bmkName;
string m_bmkType;
bool m_isPositionChecked;
+ bool m_needPadding;
void setIsPositionChecked(bool isChecked);
bool isPositionChecked() const;
@@ -42,7 +43,7 @@ public:
BookmarkBalloon(Params const & p);
- void showAnimated();
+ void showAnimated(bool needPadding);
void hide();
void setGlbPivot(m2::PointD const & pivot);