2 Situare - A location system for Facebook
3 Copyright (C) 2010 Ixonos Plc. Authors:
5 Kaj Wallin - kaj.wallin@ixonos.com
7 Situare is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 version 2 as published by the Free Software Foundation.
11 Situare is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with Situare; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
28 #include "map/mapengine.h"
29 #include "friendlistpanel.h"
30 #include "userpanel.h"
31 #include "zoombuttonpanel.h"
34 * @brief Map View class. Used to display Map
36 * @class MapViewScreen mainwindow.h "src/ui/mainwindow.h"
38 class MapViewScreen : public QWidget
46 * @param parent Parent
48 MapViewScreen(QWidget *parent = 0);
50 /*******************************************************************************
51 * MEMBER FUNCTIONS AND SLOTS
52 ******************************************************************************/
55 * @brief Slot for enabling auto centering.
57 * @param enabled true if map should center to GPS position, false otherwise
59 void enableAutoCentering(bool enabled);
62 * @brief Slot for drawing the Open Street Map license text
64 * @param width Width of the viewport
65 * @param height Height of the viewport
67 void drawOsmLicense(int width, int height);
70 * @brief Slot for map location change.
72 void locationChanged();
75 * @brief Slot for GPS position.
77 * @param position latitude and longitude values
78 * @param accuracy coordinate accuracy in metres
80 void positionReceived(QPointF position, qreal accuracy);
82 /*******************************************************************************
84 ******************************************************************************/
87 * @brief Signal when friend list locations are fetched
89 * Forwarded to map engine and friends list panel
91 * @param friendsList Friends list data
93 void friendsLocationsReady(QList<User *> &friendsList);
96 * @brief Signal for map location change.
98 void mapLocationChanged();
101 * @brief Signal when user location is fetched
103 * @param user User data
105 void userLocationReady(User *user);
108 * @brief Signal for HW increase button
110 void zoomInKeyPressed();
113 * @brief Signal for HW decrease button
115 void zoomOutKeyPressed();
117 void requestReverseGeo();
120 * @brief Signals, when address data is ready
122 * @param address Street address
124 void reverseGeoReady(const QString &address);
127 * @brief Signal Signal for requestLocationUpdate from SituareEngine via MainWindow class
129 * @param status Status message
130 * @param publish Publish on Facebook
132 void statusUpdate(const QString &status, const bool &publish);
134 void refreshUserData();
136 /*******************************************************************************
138 ******************************************************************************/
140 MapEngine *m_mapEngine; ///< MapEngine
141 UserInfoPanel *m_userPanel; ///< Instance of the user information panel
142 FriendListPanel *m_friendsListPanel; ///< Instance of friends list panel
143 ZoomButtonPanel *m_zoomButtonPanel; ///< Instance of zoom button panel
144 QLabel *m_osmLicense; ///< Label for Open Street Map license
145 bool m_autoCenteringEnabled; ///< Enable
148 #endif // MAPVIEWTAB_H