File indexing completed on 2025-03-09 03:34:32

0001 /*
0002     File                 : BackgroundWidget.h
0003     Project              : LabPlot
0004     Description          : background settings widget
0005     --------------------------------------------------------------------
0006     SPDX-FileCopyrightText: 2022-2023 Alexander Semke <alexander.semke@web.de>
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #ifndef BACKGROUNDWIDGET_H
0011 #define BACKGROUNDWIDGET_H
0012 
0013 #include "backend/worksheet/Background.h"
0014 #include "ui_backgroundwidget.h"
0015 
0016 class QShowEvent;
0017 #include <KConfigGroup>
0018 
0019 class BackgroundWidget : public QWidget {
0020     Q_OBJECT
0021 
0022 public:
0023     explicit BackgroundWidget(QWidget*);
0024 
0025     void setBackgrounds(const QList<Background*>&);
0026     void setEnabled(bool);
0027 
0028     void load();
0029     void loadConfig(const KConfigGroup&);
0030     void saveConfig(KConfigGroup&) const;
0031 
0032 private:
0033     Ui::BackgroundWidget ui;
0034     Background* m_background{nullptr};
0035     QList<Background*> m_backgrounds;
0036     bool m_initializing{false};
0037     QString m_prefix;
0038 
0039     void retranslateUi();
0040     void showEvent(QShowEvent*) override;
0041     void adjustLayout();
0042 
0043 Q_SIGNALS:
0044     void dataChanged(bool);
0045 
0046 private Q_SLOTS:
0047     // SLOTs for changes triggered in BackgroundWidget
0048     void enabledChanged(bool);
0049     void positionChanged(int);
0050     void typeChanged(int);
0051     void colorStyleChanged(int);
0052     void imageStyleChanged(int);
0053     void brushStyleChanged(int);
0054     void firstColorChanged(const QColor&);
0055     void secondColorChanged(const QColor&);
0056     void opacityChanged(int);
0057     void selectFile();
0058     void fileNameChanged();
0059 
0060     // SLOTs for changes triggered in Background
0061     void backgroundEnabledChanged(bool);
0062     void backgroundPositionChanged(Background::Position);
0063     void backgroundTypeChanged(Background::Type);
0064     void backgroundColorStyleChanged(Background::ColorStyle);
0065     void backgroundImageStyleChanged(Background::ImageStyle);
0066     void backgroundBrushStyleChanged(Qt::BrushStyle);
0067     void backgroundFirstColorChanged(const QColor&);
0068     void backgroundSecondColorChanged(const QColor&);
0069     void backgroundFileNameChanged(const QString&);
0070     void backgroundOpacityChanged(float);
0071 };
0072 
0073 #endif // LABELWIDGET_H