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
00090 class Effects : public QObject
00091 {
00092 Q_OBJECT
00093 friend class Effect;
00094 public:
00095 Effects();
00096
00097 bool insert(const Effect *after, Effect *item);
00098
00105 bool append(Effect *item);
00106
00111 void move(const Effect *after, Effect *item);
00117 void remove(Effect *item, bool del=true);
00122 void removeAll(bool del=true);
00123
00129 QStrList available() const;
00130
00131 QPtrList<Effect> effects() const;
00132
00136 Effect *findId(long id) const;
00137
00138 private:
00139 QPtrListIterator<Effect> stackPosition() const;
00140
00141 signals:
00146 void added(Effect *effect);
00151 void removed(Effect *effect);
00156 void moved(Effect *effect);
00162 void deleting(Effect *effect);
00163
00164 private:
00165
00166 QPtrList<Effect> mItems;
00167 };
00168
00169
00170
00171 #endif
00172
This file is part of the documentation for Noatun 2.6.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Oct 22 00:20:36 2004 by
doxygen 1.3.8-20040913 written by
Dimitri van Heesch, © 1997-2003