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

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 GLAXNIMATE_GUI_SELECTSHAPEDIALOG_H
0008 #define GLAXNIMATE_GUI_SELECTSHAPEDIALOG_H
0009 
0010 #include <memory>
0011 #include <QDialog>
0012 
0013 
0014 #include "model/shapes/shape.hpp"
0015 #include "item_models/document_node_model.hpp"
0016 
0017 namespace glaxnimate {
0018 namespace gui {
0019 
0020 class SelectShapeDialog : public QDialog
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     SelectShapeDialog(item_models::DocumentNodeModel* model, QWidget* parent = nullptr);
0026     ~SelectShapeDialog();
0027 
0028     model::Shape* shape() const;
0029     void set_shape(model::Shape* shape);
0030 
0031 protected:
0032     void changeEvent ( QEvent* e ) override;
0033 
0034 private Q_SLOTS:
0035     void select(const QModelIndex& index);
0036 
0037 private:
0038     class Private;
0039     std::unique_ptr<Private> d;
0040 };
0041 
0042 }
0043 }
0044 
0045 #endif // GLAXNIMATE_GUI_SELECTSHAPEDIALOG_H