#define COLLAPSIBLEGROUP_H
-#include "ui_collapsiblegroup_ui.h"
-
#include "abstractcollapsiblewidget.h"
#include "collapsibleeffect.h"
#include "timecode.h"
#include <QLineEdit>
#include <QMutex>
-class QFrame;
class MyEditableLabel : public QLineEdit
{
Q_OBJECT
-
public:
- MyEditableLabel(QWidget * parent = 0);
+ explicit MyEditableLabel(QWidget * parent = 0);
protected:
- virtual void mouseDoubleClickEvent( QMouseEvent *e);
+ void mouseDoubleClickEvent( QMouseEvent *e);
};
* @author Jean-Baptiste Mardelle
*/
-class CollapsibleGroup : public AbstractCollapsibleWidget, public Ui::CollapsibleGroup_UI
+class CollapsibleGroup : public AbstractCollapsibleWidget
{
Q_OBJECT
public:
- CollapsibleGroup(int ix, bool firstGroup, bool lastGroup, QString groupName = QString(), QWidget * parent = 0);
+ CollapsibleGroup(int ix, bool firstGroup, bool lastGroup, const EffectInfo &info, QWidget * parent = 0);
~CollapsibleGroup();
void updateTimecodeFormat();
void setActive(bool activate);
QWidget *title() const;
/** @brief Return the XML data describing all effects in group. */
QDomDocument effectsData();
+ /** @brief Adjust sub effects buttons. */
+ void adjustEffects();
public slots:
- void slotEnable(bool enable);
+ void slotEnable(bool enable, bool emitInfo = true);
private slots:
void slotSwitch();
void slotShow(bool show);
- void slotDeleteEffect();
+ void slotDeleteGroup();
void slotEffectUp();
void slotEffectDown();
- void slotSaveEffect();
- void slotResetEffect();
+ void slotSaveGroup();
+ void slotResetGroup();
void slotUnGroup();
void slotRenameGroup();
QList <CollapsibleEffect *> m_subWidgets;
QMenu *m_menu;
EffectInfo m_info;
- int m_index;
MyEditableLabel *m_title;
QMutex m_mutex;
protected:
- virtual void mouseDoubleClickEvent ( QMouseEvent * event );
- virtual void dragEnterEvent(QDragEnterEvent *event);
- virtual void dragLeaveEvent(QDragLeaveEvent *event);
- virtual void dropEvent(QDropEvent *event);
+ void mouseDoubleClickEvent ( QMouseEvent * event );
+ void dragEnterEvent(QDragEnterEvent *event);
+ void dragLeaveEvent(QDragLeaveEvent *event);
+ void dropEvent(QDropEvent *event);
signals:
- void syncEffectsPos(int);
- void effectStateChanged(bool, int ix = -1);
- void deleteGroup(int);
- void changeGroupPosition(int, bool);
- void activateEffect(int);
- void moveEffect(int current_pos, int new_pos, int groupIndex, QString groupName);
- void addEffect(QDomElement e);
+ void deleteGroup(const QDomDocument&);
void unGroup(CollapsibleGroup *);
void groupRenamed(CollapsibleGroup *);
+
};