File indexing completed on 2025-02-02 04:11:35

0001 /*
0002  * SPDX-FileCopyrightText: 2019-2023 Mattia Basaglia <dev@dragon.best>
0003  *
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  */
0006 
0007 #ifndef SHAPETOOLWIDGET_H
0008 #define SHAPETOOLWIDGET_H
0009 
0010 #include <memory>
0011 
0012 #include <QWidget>
0013 
0014 namespace glaxnimate::gui {
0015 
0016 class ShapeToolWidget : public QWidget
0017 {
0018     Q_OBJECT
0019 
0020 public:
0021     ShapeToolWidget(QWidget* parent=nullptr);
0022     ~ShapeToolWidget();
0023 
0024     bool create_group() const;
0025     bool create_fill() const;
0026     bool create_stroke() const;
0027     bool create_layer() const;
0028 
0029 private Q_SLOTS:
0030     void check_checks();
0031 
0032 protected Q_SLOTS:
0033     void save_settings();
0034 
0035 Q_SIGNALS:
0036     void checks_changed();
0037 
0038 protected:
0039     class Private;
0040     ShapeToolWidget(std::unique_ptr<Private> d, QWidget* parent);
0041 
0042     void changeEvent ( QEvent* e ) override;
0043     void showEvent(QShowEvent *event) override;
0044 
0045     std::unique_ptr<Private> d;
0046 };
0047 
0048 } // namespace glaxnimate::gui
0049 
0050 #endif // SHAPETOOLWIDGET_H