00001 #ifndef _FL_XML_NODELIST_H_
00002 #define _FL_XML_NODELIST_H_
00003
00004 #include "../Fl_Ptr_List.h"
00005
00006 class Fl_XmlNode;
00007
00012
00017 class Fl_XmlNode_List : public Fl_Ptr_List {
00018 public:
00019 Fl_XmlNode_List() : Fl_Ptr_List() { }
00020
00021 Fl_XmlNode *item(unsigned index) const { return (Fl_XmlNode*)Fl_Ptr_List::item(index); }
00022 Fl_XmlNode *operator [](unsigned index) const { return (Fl_XmlNode *)items[index]; }
00023
00024 void append(Fl_XmlNode *item) { Fl_Ptr_List::append((void *)item); }
00025 void prepend(Fl_XmlNode *item) { Fl_Ptr_List::prepend((void *)item); }
00026 void insert(uint pos, Fl_XmlNode *item) { Fl_Ptr_List::insert(pos, (void *)item); }
00027 void replace(uint pos, Fl_XmlNode *item) { Fl_Ptr_List::replace(pos, (void *)item); }
00028 void remove(uint pos) { Fl_Ptr_List::remove(pos); }
00029 bool remove(Fl_XmlNode *item) { return Fl_Ptr_List::remove((void *)item); }
00030 int index_of(const Fl_XmlNode *w) const { return Fl_Ptr_List::index_of((void*)w); }
00031
00032 Fl_XmlNode **data() { return (Fl_XmlNode**)items; }
00033
00034 protected:
00035 void free_item(Fl_XmlNode *item);
00036 };
00037
00040 #endif