File indexing completed on 2024-04-21 03:44:55
0001 /* 0002 SPDX-FileCopyrightText: 2005 Jason Harris <kstars@30doradus.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "kplotwidget.h" 0010 0011 class PlanetViewer; 0012 0013 class PVPlotWidget : public KPlotWidget 0014 { 0015 Q_OBJECT 0016 public: 0017 explicit PVPlotWidget(QWidget *parent = nullptr); 0018 0019 public slots: 0020 void slotZoomIn(); 0021 void slotZoomOut(); 0022 0023 signals: 0024 void doubleClicked(double, double); 0025 0026 protected: 0027 void keyPressEvent(QKeyEvent *e) override; 0028 void mousePressEvent(QMouseEvent *e) override; 0029 void mouseMoveEvent(QMouseEvent *e) override; 0030 void mouseReleaseEvent(QMouseEvent *) override; 0031 void mouseDoubleClickEvent(QMouseEvent *e) override; 0032 void wheelEvent(QWheelEvent *e) override; 0033 0034 private: 0035 void updateFactor(const int modifier); 0036 0037 bool mouseButtonDown { false }; 0038 int oldx { 0 }; 0039 int oldy { 0 }; 0040 double factor { 2 }; 0041 PlanetViewer *pv { nullptr }; 0042 };