File indexing completed on 2025-07-13 03:33:02
0001 /* 0002 File : PresenterWidget.h 0003 Project : LabPlot 0004 Description : Widget for dynamic presenting of worksheets 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2016 Fabian Kristof <fkristofszabolcs@gmail.com> 0007 SPDX-FileCopyrightText: 2018-2023 Alexander Semke <alexander.semke@web.de> 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 #ifndef PRESENTERWIDGET_H 0011 #define PRESENTERWIDGET_H 0012 0013 #include <QWidget> 0014 0015 class SlidingPanelTop; 0016 class SlidingPanelBottom; 0017 class WorksheetView; 0018 class Worksheet; 0019 0020 class PresenterWidget : public QWidget { 0021 Q_OBJECT 0022 0023 public: 0024 explicit PresenterWidget(Worksheet* worksheet, QScreen* screen, bool interactive = false, QWidget* parent = nullptr); 0025 ~PresenterWidget() override; 0026 0027 private: 0028 Worksheet* m_worksheet{nullptr}; 0029 WorksheetView* m_view{nullptr}; 0030 SlidingPanelTop* m_panel{nullptr}; 0031 SlidingPanelBottom* m_navigationPanel{nullptr}; 0032 void startTimeline(); 0033 0034 protected: 0035 void keyPressEvent(QKeyEvent*) override; 0036 bool eventFilter(QObject*, QEvent*) override; 0037 void focusOutEvent(QFocusEvent*) override; 0038 #ifdef Q_OS_MAC 0039 void closeEvent(QCloseEvent*) override; 0040 #endif 0041 }; 0042 0043 #endif // PRESENTERWIDGET_H