File indexing completed on 2024-05-12 03:48:24
0001 /* 0002 File : CantorWorksheetView.h 0003 Project : LabPlot 0004 Description : View class for CantorWorksheet 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2015 Garvit Khatri <garvitdelhi@gmail.com> 0007 SPDX-FileCopyrightText: 2016-2023 Alexander Semke <alexander.semke@web.de> 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #ifndef CANTORWORKSHEETVIEW_H 0012 #define CANTORWORKSHEETVIEW_H 0013 0014 #include <QWidget> 0015 #ifdef HAVE_CANTOR_LIBS 0016 #include <cantor/session.h> 0017 #endif 0018 0019 class QActionGroup; 0020 class QMenu; 0021 class QToolBar; 0022 0023 class CantorWorksheet; 0024 class Column; 0025 0026 namespace KParts { 0027 class ReadWritePart; 0028 } 0029 0030 class CantorWorksheetView : public QWidget { 0031 Q_OBJECT 0032 0033 public: 0034 explicit CantorWorksheetView(CantorWorksheet*); 0035 ~CantorWorksheetView() override; 0036 0037 public Q_SLOTS: 0038 void createContextMenu(QMenu*); 0039 void fillColumnContextMenu(QMenu*, Column*); 0040 void fillToolBar(QToolBar*); 0041 0042 private Q_SLOTS: 0043 void triggerAction(QAction*); 0044 0045 private: 0046 CantorWorksheet* m_worksheet; 0047 KParts::ReadWritePart* m_part{nullptr}; 0048 0049 QActionGroup* m_actionGroup{nullptr}; 0050 QAction* m_evaluateEntryAction{nullptr}; 0051 QAction* m_removeCurrentEntryAction{nullptr}; 0052 QAction* m_restartBackendAction{nullptr}; 0053 QAction* m_evaluateWorsheetAction{nullptr}; 0054 QAction* m_zoomIn{nullptr}; 0055 QAction* m_zoomOut{nullptr}; 0056 QAction* m_find{nullptr}; 0057 QAction* m_replace{nullptr}; 0058 QAction* m_statisticsAction{nullptr}; 0059 Column* m_contextMenuColumn{nullptr}; 0060 0061 QMenu* m_addNewMenu{nullptr}; 0062 QMenu* m_plotDataMenu{nullptr}; 0063 QMenu* m_linearAlgebraMenu{nullptr}; 0064 QMenu* m_calculateMenu{nullptr}; 0065 QMenu* m_settingsMenu{nullptr}; 0066 0067 void initActions(); 0068 void initMenus(); 0069 0070 private Q_SLOTS: 0071 void statusChanged(Cantor::Session::Status); 0072 void plotData(QAction*); 0073 void showStatistics(); 0074 }; 0075 0076 #endif // CANTORWORKSHEETVIEW_H