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 TQDomDocument;
00031 template <class T> class TQValueList;
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 TQ_OBJECT
00048 public:
00049
00050
00051 TagNodeList(FeedList* feedList, TagSet* tagSet);
00052 virtual ~TagNodeList();
00053
00054 FeedList* feedList() const;
00055 bool insert(TagNode* tagNode);
00056 bool remove(TagNode* tagNode);
00057 bool containsTagId(const TQString& tagId);
00058 TQValueList<TagNode*> toList() const;
00059
00060 TagNode* findByTagID(const TQString& tagID);
00061
00062 virtual bool readFromXML(const TQDomDocument& doc);
00063 virtual TQDomDocument toXML() const;
00064
00065 virtual TagFolder* rootNode() const;
00066
00067 public slots:
00068
00069 void slotTagAdded(const Tag& tag);
00070 void slotTagUpdated(const Tag& tag);
00071 void slotTagRemoved(const Tag& tag);
00072
00073 signals:
00074
00075 void signalDestroyed(TagNodeList*);
00076 void signalTagNodeAdded(TagNode* node);
00077 void signalTagNodeRemoved(TagNode* node);
00078
00079 protected slots:
00080
00081 virtual void slotNodeDestroyed(TreeNode* node);
00082 virtual void slotNodeAdded(TreeNode* node);
00083 virtual void slotNodeRemoved(Folder* parent, TreeNode* node);
00084
00085 private:
00086
00087 class TagNodeListPrivate;
00088 TagNodeListPrivate* d;
00089 };
00090
00091 }
00092
00093 #endif
|