+ const QStyleOptionGraphicsItem *option,
+ QWidget *);
+ virtual int type() const;
+ void resizeStart(int posx);
+ void resizeEnd(int posx);
+ OPERATIONTYPE operationMode(QPointF pos);
+ const QString &clipProducer() const;
+ int clipType() const;
+ DocClipBase *baseClip() const;
+ QString clipName() const;
+ QDomElement xml() const;
+ ClipItem *clone(ItemInfo info) const;
+ const EffectsList effectList();
+ void setFadeOut(int pos);
+ void setFadeIn(int pos);
+ /** Give a string list of the clip's effect names */
+ QStringList effectNames();
+ /** Add an effect to the clip and return the parameters that will be passed to Mlt */
+ QHash <QString, QString> addEffect(QDomElement effect, bool animate = true);
+ /** Get the effect parameters that will be passed to Mlt */
+ QHash <QString, QString> getEffectArgs(QDomElement effect);
+ /** Delete effect with id index */
+ void deleteEffect(QString index);
+ /** return the number of effects in that clip */
+ int effectsCount();
+ /** return a unique effect id */
+ int effectsCounter();
+ /** return the xml of effect at index ix in stack */
+ QDomElement effectAt(int ix);
+ /** Replace effect at pos ix with given value */
+ void setEffectAt(int ix, QDomElement effect);
+ void flashClip();
+ void addTransition(Transition*);
+ /** regenerate audio and video thumbnails */
+ void resetThumbs();
+ /** update clip properties from base clip */
+ void refreshClip();
+ /** Returns a list of times for this clip's markers */
+ QList <GenTime> snapMarkers() const;
+ QList <CommentedTime> commentedSnapMarkers() const;
+ uint fadeIn() const;
+ uint fadeOut() const;
+ void setSelectedEffect(const int ix);
+ void updateKeyframeEffect();
+ QDomElement selectedEffect();
+ int selectedEffectIndex() const;
+ void initEffect(QDomElement effect);
+ QString keyframes(const int index);
+ void setKeyframes(const int ix, const QString keyframes);
+ void setEffectList(const EffectsList effectList);
+ void setSpeed(const double speed);
+ double speed() const;
+ GenTime maxDuration() const;
+
+protected:
+ //virtual void mouseMoveEvent(QGraphicsSceneMouseEvent * event);
+ virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent * event);
+ virtual void mousePressEvent(QGraphicsSceneMouseEvent * event);
+ virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *event);
+ virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent *event);
+ virtual void dropEvent(QGraphicsSceneDragDropEvent *event);
+ virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *);
+ virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *);
+ virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
+
+private:
+ DocClipBase *m_clip;
+ OPERATIONTYPE m_resizeMode;