File indexing completed on 2024-05-19 04:54:24

0001 /*
0002     SPDX-FileCopyrightText: 2012 Jean-Baptiste Mardelle <jb@kdenlive.org>
0003 
0004 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #pragma once
0008 
0009 #include "ui_collapsiblewidget_ui.h"
0010 
0011 #include <QDomElement>
0012 #include <QWidget>
0013 
0014 class AbstractCollapsibleWidget : public QWidget, public Ui::CollapsibleWidget_UI
0015 {
0016     Q_OBJECT
0017 
0018 public:
0019     explicit AbstractCollapsibleWidget(QWidget *parent = nullptr);
0020     virtual bool isGroup() const = 0;
0021 
0022 Q_SIGNALS:
0023     void addEffect(const QDomElement &e);
0024     /** @brief Move effects in the stack one step up or down. */
0025     void changeEffectPosition(const QList<int> &, bool upwards);
0026     /** @brief Move effects in the stack. */
0027     void moveEffect(const QList<int> &current_pos, int new_pos, int groupIndex, const QString &groupName);
0028     /** @brief An effect was saved, trigger effect list reload. */
0029     void reloadEffects();
0030     void reloadEffect(const QString &path);
0031 
0032     void seekToPos(int);
0033 };