File indexing completed on 2025-09-14 03:43:08
0001 /* 0002 File : MatrixDock.h 0003 Project : LabPlot 0004 Description : widget for matrix properties 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2015 Alexander Semke <alexander.semke@web.de> 0007 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #ifndef MATRIXDOCK_H 0012 #define MATRIXDOCK_H 0013 0014 #include "backend/matrix/Matrix.h" 0015 #include "kdefrontend/dockwidgets/BaseDock.h" 0016 #include "ui_matrixdock.h" 0017 0018 class Matrix; 0019 class KConfig; 0020 0021 class MatrixDock : public BaseDock { 0022 Q_OBJECT 0023 0024 public: 0025 explicit MatrixDock(QWidget*); 0026 void setMatrices(QList<Matrix*>); 0027 0028 private: 0029 Ui::MatrixDock ui; 0030 QList<Matrix*> m_matrixList; 0031 Matrix* m_matrix{nullptr}; 0032 0033 void load(); 0034 void loadConfig(KConfig&); 0035 0036 private Q_SLOTS: 0037 // SLOTs for changes triggered in MatrixDock 0038 0039 void rowCountChanged(int); 0040 void columnCountChanged(int); 0041 0042 void xStartChanged(const QString&); 0043 void xEndChanged(const QString&); 0044 void yStartChanged(const QString&); 0045 void yEndChanged(const QString&); 0046 0047 void numericFormatChanged(int); 0048 void precisionChanged(int); 0049 void headerFormatChanged(int); 0050 0051 // SLOTs for changes triggered in Matrix 0052 void matrixXStartChanged(double); 0053 void matrixXEndChanged(double); 0054 void matrixYStartChanged(double); 0055 void matrixYEndChanged(double); 0056 0057 void matrixRowCountChanged(int); 0058 void matrixColumnCountChanged(int); 0059 0060 void matrixNumericFormatChanged(char); 0061 void matrixPrecisionChanged(int); 0062 void matrixHeaderFormatChanged(Matrix::HeaderFormat); 0063 0064 // save/load template 0065 void loadConfigFromTemplate(KConfig&); 0066 void saveConfigAsTemplate(KConfig&); 0067 0068 Q_SIGNALS: 0069 void info(const QString&); 0070 }; 0071 0072 #endif // MATRIXDOCK_H