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
00180 QPtrList<Effect> mItems;
00181 };
00182
00183
00184
00185 #endif
00186
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