Logo Search packages:      
Sourcecode: kdenlive version File versions  Download package

kaddtransitioncommand.h

/***************************************************************************
                        KAddTransitionCommand  -  description
                           -------------------
  begin                : Thu Jan 22 2004
  copyright            : (C) 2004 by Jason Wood
  email                : jasonwood@blueyonder.co.uk
***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
#ifndef COMMANDKAddTransitionCommand_H
#define COMMANDKAddTransitionCommand_H

#include <kcommand.h>

#include <gentime.h>
#include <qdom.h>

class DocClipRef;
class Transition;
class KdenliveDoc;

namespace Command {

/**
Command to add effects to clips.

@author Jason Wood
*/
00036     class KAddTransitionCommand:public KCommand {
      public:
      /** Returns an AddEffectCommand that will append the effect to the end of the effect list.*/
      static KAddTransitionCommand *appendTransition(KdenliveDoc * document, DocClipRef * clip, GenTime time, const QString & type);
      static KAddTransitionCommand *appendTransition(KdenliveDoc * document, DocClipRef * a_clip, DocClipRef * b_clip, const QString & type);
      static KAddTransitionCommand *appendTransition(KdenliveDoc * document, DocClipRef * clip, Transition *transit);
      static KAddTransitionCommand *removeTransition(KdenliveDoc * document, DocClipRef * clip, Transition *transit);

      /** Constructs a command to move the specified effect to a new place in the effect list.
            @param document The document this command will act upon.
            @param clip The clip this command wil act upon.
            @param effectIndex the index of the effect that will be moved.
            @param newEffectIndex the index to which the effect will be moved.
            @returns the AddEffectCommand that will perform the operation.
      */
/*    static KCommand *moveEffect(KdenliveDoc * document,
          DocClipRef * clip, int effectIndex, int newEffectIndex);
*/
      /** Creates a KAddTransitionCommand that will add the specified effect at the specified effectIndex. */
       KAddTransitionCommand(KdenliveDoc * document, DocClipRef * clip, Transition * transit, bool add);
      ~KAddTransitionCommand();

      /** Returns the (translated) name of this command */
      virtual QString name() const;

      /** Unexecutes this command */
      void unexecute();
      /** Executes this command */
      void execute();

      private:

      /** True if we are adding an Effect, false if we are removing an effect. */
00069       bool m_addTransition;

      /** The clips position on the track. */
00072       GenTime m_position;
      QDomElement m_transition;
      /** Track index of the document track the clip is on. */
00075       int m_trackIndex;
      int m_transitionIndex;

      /** Add the effect to the clip. */
      void addTransition();
      /** Deletes the effect from the clip. */
      void deleteTransition();

      KdenliveDoc *m_document;
    };

}
#endif

Generated by  Doxygen 1.6.0   Back to index