+void EffectsList::append(QDomElement e)
+{
+ m_baseElement.appendChild(importNode(e, true));
+}
+
+int EffectsList::count() const
+{
+ return m_baseElement.childNodes().count();
+}
+
+bool EffectsList::isEmpty() const
+{
+ return m_baseElement.childNodes().count() == 0;
+}
+
+const QDomElement EffectsList::at(int ix) const
+{
+ QDomNodeList effects = m_baseElement.childNodes();
+ if (ix >= effects.count()) return QDomElement();
+ return effects.at(ix).toElement();
+}
+
+void EffectsList::removeAt(int ix)
+{
+ QDomNodeList effects = m_baseElement.childNodes();
+ if (ix >= effects.count()) return;
+ m_baseElement.removeChild(effects.at(ix));
+}
+
+QDomElement EffectsList::item(int ix)
+{
+ QDomNodeList effects = m_baseElement.childNodes();
+ if (ix >= effects.count()) return QDomElement();
+ return effects.at(ix).toElement();
+}
+
+void EffectsList::insert(int ix, QDomElement effect)
+{
+ QDomNodeList effects = m_baseElement.childNodes();
+ if (ix >= effects.count()) m_baseElement.appendChild(effect);
+ else m_baseElement.insertBefore(effect, effects.at(ix));
+}
+