Fixed FacebookLoginBrowser::destroyed() signal handling
[situare] / src / ui / routewaypointlistitem.h
1 /*
2    Situare - A location system for Facebook
3    Copyright (C) 2010  Ixonos Plc. Authors:
4
5        Jussi Laitinen - jussi.laitinen@ixonos.com
6
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.
10
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.
15
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,
19    USA.
20 */
21
22 #ifndef ROUTEWAYPOINTLISTITEM_H
23 #define ROUTEWAYPOINTLISTITEM_H
24
25 #include "coordinates/geocoordinate.h"
26 #include "routing/routesegment.h"
27 #include "extendedlistitem.h"
28
29 /**
30 * @brief List item stores information about route waypoints.
31 *
32 * @author Jussi Laitinen - jussi.laitinen (at) ixonos.com
33 */
34 class RouteWaypointListItem : public ExtendedListItem
35 {
36 public:
37     /**
38     * @brief Constructor.
39     *
40     * Sets sub items' text width.
41     */
42     RouteWaypointListItem();
43
44     /**
45     * @brief Destructor.
46     */
47     ~RouteWaypointListItem();
48
49 /******************************************************************************
50 * MEMBER FUNCTIONS AND SLOTS
51 ******************************************************************************/
52 public:
53     /**
54     * @brief Returns item's coordinates.
55     *
56     * @return item's coordinates
57     */
58     GeoCoordinate coordinates() const;
59
60     /**
61     * @brief Set route waypoint data for this item.
62     *
63     * @param routeSegment RouteSegment data
64     * @param coordinate GeoCoordinate
65     */
66     void setRouteWaypointData(const RouteSegment &routeSegment,
67                               const GeoCoordinate &coordinate);
68
69 private:
70     /**
71     * @brief Sets item's turn type image.
72     *
73     * @param turnType turn type defined in RouteSegment class.
74     */
75     void setTurnTypeImage(const QString &turnType);
76
77 /******************************************************************************
78 * DATA MEMBERS
79 ******************************************************************************/
80 private:
81     GeoCoordinate m_coordinates;   ///< Route segment coordinates
82 };
83
84 #endif // ROUTEWAYPOINTLISTITEM_H
85