Noatun API Documentation

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         // stored in no specific order
00166         QPtrList<Effect> mItems;
00167 };
00168 
00169 
00170 
00171 #endif
00172 
KDE Logo
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