File indexing completed on 2025-03-09 03:34:36
0001 /* 0002 File : ValueWidget.h 0003 Project : LabPlot 0004 Description : value settings widget 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2022-2024 Alexander Semke <alexander.semke@web.de> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef VALUEWIDGET_H 0011 #define VALUEWIDGET_H 0012 0013 #include "backend/worksheet/plots/cartesian/Value.h" 0014 #include "ui_valuewidget.h" 0015 0016 #include <KConfigGroup> 0017 0018 class AspectTreeModel; 0019 class TreeViewComboBox; 0020 0021 class ValueWidget : public QWidget { 0022 Q_OBJECT 0023 0024 public: 0025 explicit ValueWidget(QWidget*); 0026 ~ValueWidget(); 0027 0028 void setValues(const QList<Value*>&); 0029 0030 void load(); 0031 void loadConfig(const KConfigGroup&); 0032 void saveConfig(KConfigGroup&) const; 0033 0034 private: 0035 Ui::ValueWidget ui; 0036 Value* m_value{nullptr}; 0037 QList<Value*> m_values; 0038 bool m_initializing{false}; 0039 TreeViewComboBox* cbColumn{nullptr}; 0040 AspectTreeModel* m_aspectModel{nullptr}; 0041 0042 void updateWidgets(); 0043 0044 Q_SIGNALS: 0045 void dataChanged(bool); 0046 0047 private Q_SLOTS: 0048 // SLOTs for changes triggered in ValueWidget 0049 void typeChanged(int); 0050 void columnChanged(const QModelIndex&); 0051 void positionChanged(int); 0052 void distanceChanged(double); 0053 void rotationChanged(int); 0054 void opacityChanged(int); 0055 void numericFormatChanged(int); 0056 void precisionChanged(int); 0057 void dateTimeFormatChanged(const QString&); 0058 void prefixChanged(); 0059 void suffixChanged(); 0060 void fontChanged(const QFont&); 0061 void colorChanged(const QColor&); 0062 0063 // SLOTs for changes triggered in Value 0064 void valueTypeChanged(Value::Type); 0065 void valueColumnChanged(const AbstractColumn*); 0066 void valuePositionChanged(Value::Position); 0067 void valueDistanceChanged(qreal); 0068 void valueOpacityChanged(qreal); 0069 void valueRotationAngleChanged(qreal); 0070 void valueNumericFormatChanged(char); 0071 void valuePrecisionChanged(int); 0072 void valueDateTimeFormatChanged(const QString&); 0073 void valuePrefixChanged(const QString&); 0074 void valueSuffixChanged(const QString&); 0075 void valueFontChanged(QFont); 0076 void valueColorChanged(QColor); 0077 }; 0078 0079 #endif // VALUEWIDGET_H