Noatun API Documentation

effects.h

00001 #ifndef EFFECTS_H
00002 #define EFFECTS_H
00003 
00004 #include <qptrlist.h>
00005 #include <qcstring.h>
00006 #include <qstrlist.h>
00007 #include <qobject.h>
00008 
00009 namespace Arts { class StereoEffect; }
00010 class Engine;
00011 class EffectConfigWidget;
00012 
00022 class Effect
00023 {
00024 friend class Effects;
00025 friend class EffectConfigWidget;
00026 public:
00027         Effect(const char *name);
00028         ~Effect();
00029 
00034         Effect *before() const;
00039         Effect *after() const;
00040         long id() const;
00041 
00046         Arts::StereoEffect *effect() const;
00047 
00051         QCString name() const;
00052 
00056         QString title() const;
00057 
00063         bool isNull() const;
00064 
00072         QWidget *configure(bool friendly=true);
00073 
00079         bool configurable() const;
00080 
00085         static QString clean(const QCString &name);
00086 private:
00087         long mId;
00088         Arts::StereoEffect *mEffect;
00089         QCString mName;
00090         QWidget *mConfig;
00091 };
00092 
00097 class Effects : public QObject
00098 {
00099 Q_OBJECT
00100 friend class Effect;
00101 public:
00102         Effects();
00103 
00104         bool insert(const Effect *after, Effect *item);
00105 
00115         bool append(Effect *item);
00116 
00121         void move(const Effect *after, Effect *item);
00127         void remove(Effect *item, bool del=true);
00128 
00133         void removeAll(bool del=true);
00134 
00140         QStrList available() const;
00141 
00145         QPtrList<Effect> effects() const;
00146 
00150         Effect *findId(long id) const;
00151 
00152 private:
00153         QPtrListIterator<Effect> stackPosition() const;
00154 
00155 signals:
00160         void added(Effect *effect);
00165         void removed(Effect *effect);
00170         void moved(Effect *effect);
00176         void deleting(Effect *effect);
00177 
00178 private:
00179         // stored in no specific order
00180         QPtrList<Effect> mItems;
00181 };
00182 
00183 
00184 
00185 #endif
00186 
KDE Logo
This file is part of the documentation for Noatun 2.6.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Oct 21 23:49:45 2004 by doxygen 1.3.8-20040913 written by Dimitri van Heesch, © 1997-2003