File indexing completed on 2025-03-09 03:34:33
0001 /* 0002 File : ErrorBarStyleWidget.h 0003 Project : LabPlot 0004 Description : error bar style widget 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2024 Alexander Semke <alexander.semke@web.de> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef ERRORBARSTYLEWIDGET_H 0011 #define ERRORBARSTYLEWIDGET_H 0012 0013 #include "backend/worksheet/plots/cartesian/ErrorBarStyle.h" 0014 #include "ui_errorbarstylewidget.h" 0015 0016 class LineWidget; 0017 class QShowEvent; 0018 class KConfigGroup; 0019 0020 class ErrorBarStyleWidget : public QWidget { 0021 Q_OBJECT 0022 0023 public: 0024 explicit ErrorBarStyleWidget(QWidget*); 0025 0026 void setErrorBarStyles(const QList<ErrorBarStyle*>&); 0027 void setEnabled(bool); 0028 void updateLocale(); 0029 0030 void load(); 0031 void loadConfig(const KConfigGroup&); 0032 void saveConfig(KConfigGroup&) const; 0033 0034 private: 0035 Ui::ErrorBarStyleWidget ui; 0036 LineWidget* lineWidget{nullptr}; 0037 ErrorBarStyle* m_style{nullptr}; 0038 QList<ErrorBarStyle*> m_styles; 0039 bool m_initializing{false}; 0040 0041 void showEvent(QShowEvent*) override; 0042 void adjustLayout(); 0043 0044 private Q_SLOTS: 0045 // SLOTs for changes triggered in ErrorBarStyleWidget 0046 void typeChanged(int); 0047 void capSizeChanged(double); 0048 0049 // SLOTs for changes triggered in ErrorBarStyle 0050 void errorBarStyleTypeChanged(ErrorBarStyle::Type); 0051 void errorBarStyleCapSizeChanged(double); 0052 0053 Q_SIGNALS: 0054 void colorChanged(const QColor&); 0055 }; 0056 0057 #endif // ERRORBARSTYLE_H