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

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 KEYFRAMEEDITORWIDGET_H
0008 #define KEYFRAMEEDITORWIDGET_H
0009 
0010 #include <QWidget>
0011 #include <memory>
0012 #include "model/animation/keyframe_transition.hpp"
0013 
0014 namespace glaxnimate::gui {
0015 
0016 namespace Ui {
0017 class KeyframeEditorWidget;
0018 }
0019 
0020 class KeyframeEditorWidget : public QWidget
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     KeyframeEditorWidget(QWidget* parent = nullptr);
0026     ~KeyframeEditorWidget();
0027 
0028     void set_target(model::KeyframeTransition* kft);
0029 
0030 protected:
0031     void changeEvent ( QEvent* e ) override;
0032 
0033 private Q_SLOTS:
0034     void preset_before(int index);
0035     void preset_after(int index);
0036     void update_before(model::KeyframeTransition::Descriptive v);
0037     void update_after(model::KeyframeTransition::Descriptive v);
0038 
0039 private:
0040     std::unique_ptr<Ui::KeyframeEditorWidget> d;
0041 };
0042 
0043 } // namespace glaxnimate::gui
0044 
0045 #endif // KEYFRAMEEDITORWIDGET_H