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