File indexing completed on 2025-03-09 03:34:36
0001 /* 0002 File : SymbolWidget.h 0003 Project : LabPlot 0004 Description : symbol settings widget 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2021 Alexander Semke <alexander.semke@web.de> 0007 SPDX-License-Identifier: GPL-2.0-or-later 0008 */ 0009 0010 #ifndef SYMBOLWIDGET_H 0011 #define SYMBOLWIDGET_H 0012 0013 #include "backend/worksheet/plots/cartesian/Symbol.h" 0014 #include "ui_symbolwidget.h" 0015 #include <KConfigGroup> 0016 0017 class SymbolWidget : public QWidget { 0018 Q_OBJECT 0019 0020 public: 0021 explicit SymbolWidget(QWidget*); 0022 0023 void setSymbols(const QList<Symbol*>&); 0024 void updateLocale(); 0025 0026 void load(); 0027 void loadConfig(const KConfigGroup&); 0028 void saveConfig(KConfigGroup&) const; 0029 0030 private: 0031 Ui::SymbolWidget ui; 0032 Symbol* m_symbol{nullptr}; 0033 QList<Symbol*> m_symbols; 0034 bool m_initializing{false}; 0035 0036 void showEvent(QShowEvent*) override; 0037 void adjustLayout(); 0038 0039 Q_SIGNALS: 0040 void dataChanged(bool); 0041 0042 private Q_SLOTS: 0043 // SLOTs for changes triggered in SymbolWidget 0044 void styleChanged(int); 0045 void sizeChanged(double); 0046 void rotationChanged(int); 0047 void opacityChanged(int); 0048 void fillingStyleChanged(int); 0049 void fillingColorChanged(const QColor&); 0050 void borderStyleChanged(int); 0051 void borderColorChanged(const QColor&); 0052 void borderWidthChanged(double); 0053 0054 // SLOTs for changes triggered in Symbol 0055 void symbolStyleChanged(Symbol::Style); 0056 void symbolSizeChanged(qreal); 0057 void symbolRotationAngleChanged(qreal); 0058 void symbolOpacityChanged(qreal); 0059 void symbolBrushChanged(const QBrush&); 0060 void symbolPenChanged(const QPen&); 0061 }; 0062 0063 #endif // LABELWIDGET_H