Marble

MarbleWidgetPopupMenu.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2006-2007 Torsten Rahn <tackat@kde.org>
4// SPDX-FileCopyrightText: 2007 Inge Wallin <ingwa@kde.org>
5//
6
7#ifndef MARBLE_MARBLEWIDGETPOPUPMENU_H
8#define MARBLE_MARBLEWIDGETPOPUPMENU_H
9
10#include "marble_export.h"
11
12#include <QObject>
13
14class QAction;
15class QPoint;
16
17namespace Marble
18{
19
20class MarbleWidget;
21class MarbleModel;
22class GeoDataCoordinates;
23class GeoDataPlacemark;
24
25/**
26 * The MarbleWidgetPopupMenu handles context menus.
27 */
28class MARBLE_EXPORT MarbleWidgetPopupMenu : public QObject
29{
30 Q_OBJECT
31
32 public:
34
35 ~MarbleWidgetPopupMenu() override;
36
37 /**
38 * Adds the action to the menu associated with the specified
39 * mouse button
40 */
41 void addAction( Qt::MouseButton button, QAction* action );
42
43 /**
44 * @brief mousePosition Position of the last mouse button click
45 * @return
46 */
47 QPoint mousePosition() const;
48
49 public Q_SLOTS:
50 void showLmbMenu( int, int );
51 void showRmbMenu( int, int );
52
53private Q_SLOTS:
54 void resetMenu();
55 void slotInfoDialog();
56 void slotCopyCoordinates();
57 void slotCopyGeo();
58 void slotAboutDialog();
59
60private Q_SLOTS:
61 void directionsFromHere();
62 void directionsToHere();
63 void startReverseGeocoding();
64 void showAddressInformation( const GeoDataCoordinates &coordinates, const GeoDataPlacemark &placemark );
65 void addBookmark();
66 void toggleFullscreen( bool enabled );
67
68 private:
69 Q_DISABLE_COPY( MarbleWidgetPopupMenu )
70 class Private;
71 Private* const d;
72};
73
74}
75
76#endif
A 3d point representation.
a class representing a point of interest on the map
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition MarbleModel.h:87
The MarbleWidgetPopupMenu handles context menus.
A widget class that displays a view of the earth.
Binds a QML item to a specific geodetic location in screen coordinates.
MouseButton
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:17 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.