File indexing completed on 2024-05-12 04:52:52

0001 /*
0002     SPDX-FileCopyrightText: 2017 Jean-Baptiste Mardelle
0003     SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0004 */
0005 
0006 #pragma once
0007 
0008 #include "utils/timecode.h"
0009 #include <QWidget>
0010 
0011 #include "abstractparamwidget.hpp"
0012 
0013 class QSlider;
0014 class GeometryWidget;
0015 
0016 /** @brief This class is used to display a parameter with time value */
0017 class GeometryEditWidget : public AbstractParamWidget
0018 {
0019     Q_OBJECT
0020 public:
0021     /** @brief Sets up the parameter's GUI.*/
0022     explicit GeometryEditWidget(std::shared_ptr<AssetParameterModel> model, QModelIndex index, QSize frameSize, QWidget *parent = nullptr);
0023     ~GeometryEditWidget() override;
0024 
0025 public Q_SLOTS:
0026     /** @brief Toggle the comments on or off
0027      */
0028     void slotShowComment(bool show) override;
0029 
0030     /** @brief refresh the properties to reflect changes in the model
0031      */
0032     void slotRefresh() override;
0033 
0034     /** @brief initialize qml overlay
0035      */
0036     void slotInitMonitor(bool active) override;
0037 
0038 private Q_SLOTS:
0039     /** @brief monitor seek pos changed. */
0040     void monitorSeek(int pos);
0041 
0042 private:
0043     GeometryWidget *m_geom;
0044 };