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

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_FOLLOWPATHDIALOG_H
0008 #define GLAXNIMATE_GUI_FOLLOWPATHDIALOG_H
0009 
0010 #include <memory>
0011 #include <QDialog>
0012 
0013 #include "model/animation/animatable.hpp"
0014 #include "item_models/document_node_model.hpp"
0015 
0016 namespace glaxnimate {
0017 namespace gui {
0018 
0019 class FollowPathDialog : public QDialog
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     FollowPathDialog(model::AnimatedProperty<QPointF>* property, model::Composition* comp, item_models::DocumentNodeModel* model, QWidget* parent = nullptr);
0025     ~FollowPathDialog();
0026 
0027 protected:
0028     void changeEvent ( QEvent* e ) override;
0029 
0030 private Q_SLOTS:
0031     void apply();
0032     void change_units(int index);
0033     void change_duration(double dur);
0034     void change_end(double dur);
0035     void select_path();
0036 
0037 private:
0038     class Private;
0039     std::unique_ptr<Private> d;
0040 };
0041 
0042 }
0043 }
0044 
0045 #endif // GLAXNIMATE_GUI_FOLLOWPATHDIALOG_H