]> git.sesse.net Git - kdenlive/blobdiff - src/effectstack/effectstackview2.h
First steps for the incredible filter region
[kdenlive] / src / effectstack / effectstackview2.h
index a3ab02f02d8db433e1590c4d597f62b6cf46567b..1c4b5e680e83df2c72c572281ccdb474cf90fe14 100644 (file)
@@ -2,8 +2,8 @@
                           effecstackview2.h  -  description
                              -------------------
     begin                : Feb 15 2008
-    copyright            : (C) 2008 by Marco Gittler
-    email                : g.marco@freenet.de
+    copyright            : (C) 2008 by Marco Gittler (g.marco@freenet.de)
+    copyright            : (C) 2012 by Jean-Baptiste Mardelle (jb@kdenlive.org) 
  ***************************************************************************/
 
 /***************************************************************************
@@ -27,6 +27,7 @@
 #include "ui_effectstack2_ui.h"
 #include "effectstackedit.h"
 #include "collapsibleeffect.h"
+#include "collapsiblegroup.h"
 
 class EffectsList;
 class ClipItem;
@@ -65,6 +66,9 @@ public:
     
     /** @brief Delete currently selected effect. */
     void deleteCurrentEffect();
+    
+    /** @brief Palette was changed, update style. */
+    void updatePalette();
 
 protected:
     virtual void mouseMoveEvent(QMouseEvent * event);
@@ -92,21 +96,22 @@ private:
     /** @brief The effect currently being dragged, NULL if no drag happening. */
     CollapsibleEffect *m_draggedEffect;
     
+    /** @brief The effect currently being dragged, NULL if no drag happening. */
+    CollapsibleGroup *m_draggedGroup;
+    
     /** @brief The current number of groups. */
     int m_groupIndex;
 
-    /** @brief Sets the list of effects according to the clip's effect list.
-    * @param ix Number of the effect to preselect */
-    void setupListView(int ix);
+    /** @brief Sets the list of effects according to the clip's effect list. */
+    void setupListView();
     
     /** @brief Build the drag info and start it. */
     void startDrag();
 
 public slots:
     /** @brief Sets the clip whose effect list should be managed.
-    * @param c Clip whose effect list should be managed
-    * @param ix Effect to preselect */
-    void slotClipItemSelected(ClipItem* c, int ix);
+    * @param c Clip whose effect list should be managed */
+    void slotClipItemSelected(ClipItem* c);
 
     void slotTrackItemSelected(int ix, const TrackInfo info);
    
@@ -134,12 +139,15 @@ private slots:
 
     /** @brief Delete an effect in the stack. */
     void slotDeleteEffect(const QDomElement effect);
+    
+    /** @brief Delete all effect in a group. */
+    void slotDeleteGroup(QDomDocument doc);
 
     /** @brief Pass position changes of the timeline cursor to the effects to keep their local timelines in sync. */
     void slotRenderPos(int pos);
 
     /** @brief Called whenever an effect is enabled / disabled by user. */
-    void slotUpdateEffectState(bool disable, int index);
+    void slotUpdateEffectState(bool disable, int index, bool updateMainStatus);
 
     void slotSetCurrentEffect(int ix);
     
@@ -152,15 +160,18 @@ private slots:
     /** @brief Create a group containing effect with ix index. */
     void slotCreateGroup(int ix);
     
+    /** @brief Create a region effect with ix index. */
+    void slotCreateRegion(int ix, KUrl url);
+    
     /** @brief Move an effect into a group.
       ** @param ix the index of effect to move in stack layout
       ** @param group the effect on which the effect was dropped
       ** @param lastEffectIndex the last effect index in the group, effect will be inserted after that index
       */
-    void slotMoveEffect(int currentIndex, int newIndex, CollapsibleEffect* target);
+    void slotMoveEffect(int currentIndex, int newIndex, int groupIndex, QString groupName = QString());
     
     /** @brief Remove effects from a group */
-    void slotUnGroup(CollapsibleEffect* group);
+    void slotUnGroup(CollapsibleGroup* group);
     
     /** @brief Add en effect to selected clip */
     void slotAddEffect(QDomElement effect);
@@ -173,11 +184,14 @@ private slots:
     
     /** @brief Display additionnal effect info */
     void slotShowComments();
+    
+    /** @brief An effect group was renamed, update effects info */
+    void slotRenameGroup(CollapsibleGroup *group);
 
 signals:
     void removeEffect(ClipItem*, int, QDomElement);
     /**  Parameters for an effect changed, update the filter in playlist */
-    void updateEffect(ClipItem*, int, QDomElement, QDomElement, int);
+    void updateEffect(ClipItem*, int, QDomElement, QDomElement, int,bool);
     /** An effect in stack was moved, we need to regenerate
         all effects for this clip in the playlist */
     void refreshEffectStack(ClipItem *);