• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • plugins
  • render
  • foursquare
FoursquareItem.cpp
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2012 Utku Aydın <utkuaydin34@gmail.com>
9 //
10 
11 #include "FoursquareItem.h"
12 #include "GeoPainter.h"
13 #include "ViewportParams.h"
14 
15 #include <QFontMetrics>
16 #include <QPixmap>
17 #include <QSvgRenderer>
18 
19 namespace Marble
20 {
21 
22 QFont FoursquareItem::s_font = QFont( "Sans Serif", 8 );
23 
24 FoursquareItem::FoursquareItem(QObject* parent)
25  : AbstractDataPluginItem( parent ),
26  m_usersCount( 0 )
27 {
28  setSize( QSize( 0, 0 ) );
29 }
30 
31 FoursquareItem::~FoursquareItem()
32 {
33 }
34 
35 bool FoursquareItem::initialized() const
36 {
37  // Find something logical for this
38  return true;
39 }
40 
41 bool FoursquareItem::operator<( const AbstractDataPluginItem *other ) const
42 {
43  const FoursquareItem* item = dynamic_cast<const FoursquareItem*>( other );
44  return item && this->usersCount() > item->usersCount();
45 }
46 
47 QString FoursquareItem::name() const
48 {
49  return m_name;
50 }
51 
52 void FoursquareItem::setName(const QString& name)
53 {
54  if( name != m_name ) {
55  m_name = name;
56  QFontMetrics const fontMetrics( s_font );
57  setSize( QSizeF( fontMetrics.width( m_name ) + 10, fontMetrics.height() + 10 ) );
58  emit nameChanged();
59  }
60 }
61 
62 QString FoursquareItem::category() const
63 {
64  return m_category;
65 }
66 
67 void FoursquareItem::setCategory(const QString& category)
68 {
69  if( category != m_category ) {
70  m_category = category;
71  emit categoryChanged();
72  }
73 }
74 
75 QString FoursquareItem::address() const
76 {
77  return m_address;
78 }
79 
80 void FoursquareItem::setAddress(const QString& address)
81 {
82  if( address != m_address ) {
83  m_address = address;
84  emit addressChanged();
85  }
86 }
87 
88 QString FoursquareItem::city() const
89 {
90  return m_city;
91 }
92 void FoursquareItem::setCity(const QString& city)
93 {
94  if( city != m_city ) {
95  m_city = city;
96  emit cityChanged();
97  }
98 }
99 
100 QString FoursquareItem::country() const
101 {
102  return m_country;
103 }
104 
105 void FoursquareItem::setCountry(const QString& country)
106 {
107  if( country != m_country ) {
108  m_country = country;
109  emit countryChanged();
110  }
111 }
112 
113 int FoursquareItem::usersCount() const
114 {
115  return m_usersCount;
116 }
117 
118 void FoursquareItem::setUsersCount(const int count)
119 {
120  if( count != m_usersCount ) {
121  m_usersCount = count;
122  emit usersCountChanged();
123  }
124 }
125 
126 QString FoursquareItem::categoryIconUrl() const
127 {
128  return m_categoryIconUrl;
129 }
130 
131 void FoursquareItem::setCategoryIconUrl(const QString& url)
132 {
133  if( url != m_categoryIconUrl ) {
134  m_categoryIconUrl = url;
135  emit categoryIconUrlChanged();
136  }
137 }
138 
139 QString FoursquareItem::categoryLargeIconUrl() const
140 {
141  return m_categoryLargeIconUrl;
142 }
143 
144 void FoursquareItem::setCategoryLargeIconUrl(const QString& url)
145 {
146  if( url != m_categoryLargeIconUrl ) {
147  m_categoryLargeIconUrl = url;
148  emit categoryLargeIconUrlChanged();
149  }
150 }
151 
152 void FoursquareItem::paint( QPainter* painter )
153 {
154  // Save the old painter state.
155  painter->save();
156  painter->setPen( QPen( QColor( Qt::white ) ) );
157  painter->setFont( s_font );
158 
159  // Draw the text into the given rect.
160  QRect rect = QRect( QPoint( 0, 0 ), size().toSize() );
161  QRect boundingRect = QRect( QPoint( rect.top(), rect.left() ), QSize( rect.width(), rect.height() ) );
162  QPainterPath painterPath;
163  painterPath.addRoundedRect( boundingRect, 5, 5 );
164  painter->setClipPath( painterPath );
165  painter->drawPath( painterPath );
166  painter->fillPath( painterPath, QBrush( QColor( "#39AC39" ) ) );
167  painter->drawText( rect.adjusted( 5, 5, -5, -5 ), 0, m_name );
168 
169  painter->restore();
170 }
171 
172 }
173 
174 #include "FoursquareItem.moc"
Marble::FoursquareItem
Definition: FoursquareItem.h:20
Marble::FoursquareItem::setCategory
void setCategory(const QString &category)
Definition: FoursquareItem.cpp:67
QPainter::setClipPath
void setClipPath(const QPainterPath &path, Qt::ClipOperation operation)
Marble::MarbleGraphicsItem::setSize
void setSize(const QSizeF &size)
Set the size of the item.
Definition: MarbleGraphicsItem.cpp:197
Marble::FoursquareItem::usersCount
int usersCount() const
Marble::AbstractDataPluginItem
Definition: AbstractDataPluginItem.h:28
Marble::FoursquareItem::addressChanged
void addressChanged()
QFont
QPainterPath::addRoundedRect
void addRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius, Qt::SizeMode mode)
Marble::FoursquareItem::usersCountChanged
void usersCountChanged()
QPainter::save
void save()
Marble::FoursquareItem::setCategoryLargeIconUrl
void setCategoryLargeIconUrl(const QString &url)
Definition: FoursquareItem.cpp:144
QRect::height
int height() const
QBrush
Marble::MarbleGraphicsItem::size
QSizeF size() const
Returns the size of the item.
Definition: MarbleGraphicsItem.cpp:136
QPoint
QFontMetrics
Marble::FoursquareItem::operator<
bool operator<(const AbstractDataPluginItem *other) const
Definition: FoursquareItem.cpp:41
Marble::FoursquareItem::initialized
bool initialized() const
Definition: FoursquareItem.cpp:35
Marble::FoursquareItem::countryChanged
void countryChanged()
Marble::FoursquareItem::setName
void setName(const QString &name)
Definition: FoursquareItem.cpp:52
QRect
QPainter::setFont
void setFont(const QFont &font)
Marble::FoursquareItem::address
QString address() const
QRect::top
int top() const
QPainter::fillPath
void fillPath(const QPainterPath &path, const QBrush &brush)
Marble::FoursquareItem::categoryLargeIconUrlChanged
void categoryLargeIconUrlChanged()
QObject
QPainter::setPen
void setPen(const QColor &color)
QRect::left
int left() const
QPainter
QPainter::drawText
void drawText(const QPointF &position, const QString &text)
QString
Marble::FoursquareItem::~FoursquareItem
~FoursquareItem()
Definition: FoursquareItem.cpp:31
QColor
GeoPainter.h
Marble::FoursquareItem::setAddress
void setAddress(const QString &address)
Definition: FoursquareItem.cpp:80
Marble::FoursquareItem::category
QString category() const
Marble::FoursquareItem::categoryIconUrlChanged
void categoryIconUrlChanged()
Marble::FoursquareItem::categoryLargeIconUrl
QString categoryLargeIconUrl() const
QRect::adjusted
QRect adjusted(int dx1, int dy1, int dx2, int dy2) const
Marble::FoursquareItem::setUsersCount
void setUsersCount(const int count)
Definition: FoursquareItem.cpp:118
Marble::FoursquareItem::categoryIconUrl
QString categoryIconUrl() const
QSize
QFontMetrics::width
int width(const QString &text, int len) const
ViewportParams.h
This file contains the headers for ViewportParams.
Marble::FoursquareItem::setCountry
void setCountry(const QString &country)
Definition: FoursquareItem.cpp:105
QPainter::restore
void restore()
Marble::FoursquareItem::setCity
void setCity(const QString &city)
Definition: FoursquareItem.cpp:92
Marble::FoursquareItem::name
QString name() const
Marble::FoursquareItem::FoursquareItem
FoursquareItem(QObject *parent=0)
Definition: FoursquareItem.cpp:24
QPainterPath
QRect::width
int width() const
Marble::FoursquareItem::city
QString city() const
QPainter::drawPath
void drawPath(const QPainterPath &path)
Marble::FoursquareItem::country
QString country() const
QSizeF
Marble::FoursquareItem::categoryChanged
void categoryChanged()
FoursquareItem.h
QFontMetrics::height
int height() const
Marble::FoursquareItem::nameChanged
void nameChanged()
QPen
Marble::FoursquareItem::setCategoryIconUrl
void setCategoryIconUrl(const QString &url)
Definition: FoursquareItem.cpp:131
Marble::FoursquareItem::paint
void paint(QPainter *painter)
Paints the item in item coordinates.
Definition: FoursquareItem.cpp:152
Marble::FoursquareItem::usersCount
QString usersCount
Definition: FoursquareItem.h:29
Marble::FoursquareItem::cityChanged
void cityChanged()
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:39 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal