akregator/src
tagnodelist.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef AKREGATOR_TAGNODELIST_H
00026 #define AKREGATOR_TAGNODELIST_H
00027
00028 #include "tagfolder.h"
00029
00030 class QDomDocument;
00031 template <class T> class QValueList;
00032
00033 namespace Akregator {
00034
00035 class FeedList;
00036 class Folder;
00037 class TagFolder;
00038 class TagNode;
00039 class TreeNode;
00040 class Tag;
00041 class TagSet;
00042
00043
00044 class TagNodeList : public NodeList
00045 {
00046 Q_OBJECT
00047 public:
00048
00049
00050 TagNodeList(FeedList* feedList, TagSet* tagSet);
00051 virtual ~TagNodeList();
00052
00053 FeedList* feedList() const;
00054 bool insert(TagNode* tagNode);
00055 bool remove(TagNode* tagNode);
00056 bool containsTagId(const QString& tagId);
00057 QValueList<TagNode*> toList() const;
00058
00059 TagNode* findByTagID(const QString& tagID);
00060
00061 virtual bool readFromXML(const QDomDocument& doc);
00062 virtual QDomDocument toXML() const;
00063
00064 virtual TagFolder* rootNode() const;
00065
00066 public slots:
00067
00068 void slotTagAdded(const Tag& tag);
00069 void slotTagUpdated(const Tag& tag);
00070 void slotTagRemoved(const Tag& tag);
00071
00072 signals:
00073
00074 void signalDestroyed(TagNodeList*);
00075 void signalTagNodeAdded(TagNode* node);
00076 void signalTagNodeRemoved(TagNode* node);
00077
00078 protected slots:
00079
00080 virtual void slotNodeDestroyed(TreeNode* node);
00081 virtual void slotNodeAdded(TreeNode* node);
00082 virtual void slotNodeRemoved(Folder* parent, TreeNode* node);
00083
00084 private:
00085
00086 class TagNodeListPrivate;
00087 TagNodeListPrivate* d;
00088 };
00089
00090 }
00091
00092 #endif
|