File indexing completed on 2024-06-02 03:49:22
0001 /* 0002 File : SpreadsheetDock.h 0003 Project : LabPlot 0004 Description : widget for spreadsheet properties 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2010-2015 Alexander Semke <alexander.semke@web.de> 0007 SPDX-FileCopyrightText: 2012-2013 Stefan Gerlach <stefan.gerlach@uni-konstanz.de> 0008 0009 SPDX-License-Identifier: GPL-2.0-or-later 0010 */ 0011 0012 #ifndef SPREADSHEETDOCK_H 0013 #define SPREADSHEETDOCK_H 0014 #include "backend/core/AspectTreeModel.h" 0015 #include "kdefrontend/dockwidgets/BaseDock.h" 0016 #include "ui_spreadsheetdock.h" 0017 0018 class KConfig; 0019 class Spreadsheet; 0020 class AbstractAspect; 0021 class AspectTreeModel; 0022 0023 class SpreadsheetDock : public BaseDock { 0024 Q_OBJECT 0025 0026 public: 0027 explicit SpreadsheetDock(QWidget*); 0028 void setSpreadsheets(QList<Spreadsheet*>); 0029 0030 private: 0031 Ui::SpreadsheetDock ui; 0032 QList<Spreadsheet*> m_spreadsheetList; 0033 Spreadsheet* m_spreadsheet{nullptr}; 0034 0035 void load(); 0036 void loadConfig(KConfig&); 0037 0038 private Q_SLOTS: 0039 // SLOTs for changes triggered in SpreadsheetDock 0040 void rowCountChanged(int); 0041 void columnCountChanged(int); 0042 void commentsShownChanged(bool); 0043 void linkingChanged(bool); 0044 void linkedSpreadsheetChanged(const QModelIndex& index); 0045 0046 // SLOTs for changes triggered in Spreadsheet 0047 void spreadsheetRowCountChanged(int); 0048 void spreadsheetColumnCountChanged(int); 0049 void spreadsheetShowCommentsChanged(bool); 0050 void spreadsheetLinkingChanged(bool); 0051 void spreadsheetLinkedSpreadsheetChanged(const Spreadsheet*); 0052 0053 // save/load template 0054 void loadConfigFromTemplate(KConfig&); 0055 void saveConfigAsTemplate(KConfig&); 0056 0057 Q_SIGNALS: 0058 void info(const QString&); 0059 0060 friend class SpreadsheetTest; 0061 }; 0062 0063 #endif // SPREADSHEETDOCK_H