Marble

MarbleWidgetInputHandler.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2005-2007 Torsten Rahn <[email protected]>
4 // SPDX-FileCopyrightText: 2007 Inge Wallin <[email protected]>
5 // SPDX-FileCopyrightText: 2014 Adam Dabrowski <[email protected]>
6 //
7 
8 #ifndef MARBLE_MARBLEWIDGETINPUTHANDLER_H
9 #define MARBLE_MARBLEWIDGETINPUTHANDLER_H
10 
11 #include <QObject>
12 #include <QSharedPointer>
13 #include <QPinchGesture>
14 #include "MarbleInputHandler.h"
15 
16 namespace Marble
17 {
18 
19 class MarbleWidget;
20 class RenderPlugin;
21 class MarbleWidgetInputHandlerPrivate;
22 
23 class MARBLE_EXPORT MarbleWidgetInputHandler : public MarbleDefaultInputHandler
24 {
25  Q_OBJECT
26 
27 public:
28  MarbleWidgetInputHandler(MarbleAbstractPresenter *marblePresenter, MarbleWidget *marbleWidget);
29 
30  void setDebugModeEnabled(bool enabled);
31 
32 private Q_SLOTS:
33  void installPluginEventFilter(RenderPlugin *renderPlugin) override;
34  void showLmbMenu(int x, int y) override;
35  void showRmbMenu(int x, int y) override;
36  void openItemToolTip() override;
37  void setCursor(const QCursor &cursor) override;
38 
39 private:
40  bool handleKeyPress(QKeyEvent* event) override;
41  bool handleTouch(QTouchEvent *event) override;
42  bool handleGesture(QGestureEvent *e) override;
43  AbstractSelectionRubber *selectionRubber() override;
44  bool layersEventFilter(QObject *o, QEvent *e) override;
45 
46  void handlePinchGesture(QPinchGesture *pinch);
47 
48  using MarbleWidgetInputHandlerPrivatePtr = QSharedPointer<MarbleWidgetInputHandlerPrivate>;
49  MarbleWidgetInputHandlerPrivatePtr d;
50  friend class MarbleWidgetInputHandlerPrivate;
51 
52  Q_DISABLE_COPY(MarbleWidgetInputHandler)
53 };
54 
55 }
56 
57 #endif
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Oct 2 2023 03:52:09 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.