Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

effects.h

Go to the documentation of this file.
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 
00017 class Effect
00018 {
00019 friend class Effects;
00020 friend class EffectConfigWidget;
00021 public:
00022         Effect(const char *name);
00023         ~Effect();
00024 
00029         Effect *before() const;
00034         Effect *after() const;
00035         long id() const;
00036 
00041         Arts::StereoEffect *effect() const;
00042 
00046         QCString name() const;
00047         
00051         QString title() const;
00052 
00057         bool isNull() const;
00058 
00066         QWidget *configure(bool friendly=true);
00067 
00073         bool configurable() const;
00074 
00078         static QString clean(const QCString &name);
00079 private:
00080         long mId;
00081         Arts::StereoEffect *mEffect;
00082         QCString mName;
00083         QWidget *mConfig;
00084 };
00085 
00086 class Effects : public QObject
00087 {
00088 Q_OBJECT
00089 friend class Effect;
00090 public:
00091         Effects();
00092 
00093         bool insert(const Effect *after, Effect *item);
00094 
00101         bool append(Effect *item);
00102 
00107         void move(const Effect *after, Effect *item);
00112         void remove(Effect *item, bool del=true);
00117         void removeAll(bool del=true);
00118 
00124         QStrList available() const;
00125 
00126         QPtrList<Effect> effects() const;
00127 
00131         Effect *findId(long id) const;
00132 
00133 private:
00134         QPtrListIterator<Effect> stackPosition() const;
00135         
00136 signals:
00141         void added(Effect *effect);
00146         void removed(Effect *effect);
00150         void moved(Effect *effect);
00155         void deleting(Effect *effect);
00156 
00157 private:
00158         // stored in no specific order
00159         QPtrList<Effect> mItems;
00160 };
00161 
00162 
00163 
00164 #endif
00165 

Generated on Sat May 24 15:10:27 2003 for Noatun by doxygen1.3-rc3