+ /** @brief Checks the existance of an effect.
+ * @param tag effect tag
+ * @param id effect id
+ * @return effect index if the effect exists, -1 otherwise */
+ int hasEffect(const QString & tag, const QString & id) const;
+
+ /** @brief Lists the core properties of an effect.
+ * @param ix effect index
+ * @return list of name, tag and id of an effect */
+ QStringList effectIdInfo(const int ix) const;
+
+ /** @brief Lists effects names. */
+ QStringList effectNames();
+ QString getInfo(const QString & tag, const QString & id) const;
+ QString getInfoFromIndex(const int ix) const;
+ QString getEffectInfo(const QDomElement effect) const;
+ void clone(const EffectsList &original);
+ void append(QDomElement e);
+ bool isEmpty() const;
+ int count() const;
+ const QDomElement at(int ix) const;
+ void removeAt(int ix);
+ QDomElement item(int ix);
+ void insert(int ix, QDomElement effect);
+ void replace(int ix, QDomElement effect);
+ static bool hasKeyFrames(QDomElement effect);
+ static bool hasSimpleKeyFrames(QDomElement effect);
+ static bool hasGeometryKeyFrames(QDomElement effect);
+ static void setParameter(QDomElement effect, const QString &name, const QString &value);
+ static QString parameter(QDomElement effect, const QString &name);
+ /** @brief Change the value of a 'property' element from the effect node. */
+ static void setProperty(QDomElement effect, const QString &name, const QString &value);
+ /** @brief Rename a 'property' element from the effect node. */
+ static void renameProperty(QDomElement effect, const QString &oldName, const QString &newName);
+ /** @brief Get the value of a 'property' element from the effect node. */
+ static QString property(QDomElement effect, const QString &name);
+ /** @brief Delete a 'property' element from the effect node. */
+ static void removeProperty(QDomElement effect, const QString &name);
+ /** @brief Remove all 'meta.*' properties from a producer, used when replacing proxy producers in xml for rendering. */
+ static void removeMetaProperties(QDomElement producer);
+ void clearList();
+
+private:
+ QDomElement m_baseElement;