00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _FL_WIDGET_LIST_H_
00023 #define _FL_WIDGET_LIST_H_
00024
00025 #include "Fl_Ptr_List.h"
00026 #include "Fl_Widget.h"
00027
00029 class FL_API Fl_Widget_List : public Fl_Ptr_List {
00030 public:
00031 Fl_Widget_List() : Fl_Ptr_List() { }
00032 virtual ~Fl_Widget_List() { clear(); }
00033
00034 void append(Fl_Widget *item) { Fl_Ptr_List::append((void *)item); }
00035 void prepend(Fl_Widget *item) { Fl_Ptr_List::prepend((void *)item); }
00036 void insert(uint pos, Fl_Widget *item) { Fl_Ptr_List::insert(pos, (void *)item); }
00037 void replace(uint pos, Fl_Widget *item) { Fl_Ptr_List::replace(pos, (void *)item); }
00038 void remove(uint pos) { Fl_Ptr_List::remove(pos); }
00039 bool remove(Fl_Widget *item) { return Fl_Ptr_List::remove((void *)item); }
00040 int index_of(const Fl_Widget *w) const { return Fl_Ptr_List::index_of((void*)w); }
00041 Fl_Widget *item(uint index) const { return (Fl_Widget*)Fl_Ptr_List::item(index); }
00042
00043 Fl_Widget **data() { return (Fl_Widget**)items; }
00044
00045 Fl_Widget *operator [](uint ind) const { return (Fl_Widget *)items[ind]; }
00046
00047 protected:
00048 virtual void free_item(Fl_Ptr_List_Item item) { delete (Fl_Widget*)(item); }
00049 };
00050
00051 #endif