File indexing completed on 2024-05-05 03:50:44

0001 #ifndef FOURSQUAREITEM_H
0002 #define FOURSQUAREITEM_H
0003 // SPDX-License-Identifier: LGPL-2.1-or-later
0004 //
0005 // SPDX-FileCopyrightText: 2012 Utku Aydın <utkuaydin34@gmail.com>
0006 //
0007 
0008 #include "AbstractDataPluginItem.h"
0009  
0010 class QFont;
0011  
0012 namespace Marble
0013 {
0014 
0015 class FoursquareItem : public AbstractDataPluginItem
0016 {
0017     Q_OBJECT
0018 
0019     Q_PROPERTY( QString name READ name NOTIFY nameChanged )
0020     Q_PROPERTY( QString category READ category NOTIFY categoryChanged )
0021     Q_PROPERTY( QString address READ address NOTIFY addressChanged )
0022     Q_PROPERTY( QString city READ city NOTIFY cityChanged )
0023     Q_PROPERTY( QString country READ country NOTIFY countryChanged )
0024     Q_PROPERTY( QString usersCount READ usersCount NOTIFY usersCountChanged )
0025     Q_PROPERTY( QString categoryIconUrl READ categoryIconUrl NOTIFY categoryIconUrlChanged )
0026     Q_PROPERTY( QString categoryLargeIconUrl READ categoryLargeIconUrl NOTIFY categoryLargeIconUrlChanged )
0027     
0028 public:
0029     explicit FoursquareItem( QObject *parent=nullptr );
0030  
0031     ~FoursquareItem() override;
0032  
0033     bool initialized() const override;
0034  
0035     void paint( QPainter* painter ) override;
0036  
0037     bool operator<( const AbstractDataPluginItem *other ) const override;
0038  
0039     QString name() const;
0040     
0041     void setName( const QString& name );
0042  
0043     QString category() const;
0044     
0045     void setCategory( const QString& category );
0046  
0047     QString address() const;
0048     
0049     void setAddress( const QString& address );
0050  
0051     QString city() const;
0052     
0053     void setCity( const QString& city );
0054  
0055     QString country() const;
0056     
0057     void setCountry( const QString& country );
0058  
0059     int usersCount() const;
0060     
0061     void setUsersCount( const int count );
0062     
0063     QString categoryIconUrl() const;
0064     
0065     void setCategoryIconUrl( const QString& url );
0066     
0067     QString categoryLargeIconUrl() const;
0068     
0069     void setCategoryLargeIconUrl( const QString& url );
0070  
0071 private:
0072     QString m_name;
0073     
0074     QString m_category;
0075     
0076     QString m_address;
0077     
0078     QString m_city;
0079     
0080     QString m_country;
0081     
0082     int m_usersCount;
0083     
0084     QString m_categoryIconUrl;
0085     
0086     QString m_categoryLargeIconUrl;
0087  
0088     static QFont s_font;
0089 
0090 Q_SIGNALS:
0091     void nameChanged();
0092     
0093     void categoryChanged();
0094     
0095     void addressChanged();
0096     
0097     void cityChanged();
0098     
0099     void countryChanged();
0100     
0101     void usersCountChanged();
0102     
0103     void categoryIconUrlChanged();
0104     
0105     void categoryLargeIconUrlChanged();
0106 };
0107 
0108 }
0109 #endif // FOURSQUAREITEM_H