oclist.h

Go to the documentation of this file.
00001 #ifndef oclist_h
00002 #define oclist_h
00003 
00004 #include <InterViews/resource.h>
00005 #include <InterViews/observe.h>
00006 class OcListImpl;
00007 struct Object;
00008 class OcListBrowser;
00009 class cTemplate;
00010 
00011 class OcList : public Resource, public Observer {
00012 public:
00013    OcList(long = 5);
00014    OcList(const char* template_name);
00015    virtual ~OcList();
00016    void append(Object*);
00017    void prepend(Object*);
00018    void insert(long, Object*);
00019    long count();
00020    void remove(long);
00021    long index(Object*);
00022    Object* object(long);
00023    void remove_all();
00024    boolean refs_items() { return ct_ == nil; }
00025 
00026    void create_browser(const char* name, const char* items=nil, Object* pystract=nil);
00027    void create_browser(const char* name, char** pstr, const char* action);
00028    OcListBrowser* browser();
00029 
00030    virtual void update(Observable*);
00031 private:
00032    void oref(Object*);
00033    void ounref(Object*);
00034 private:
00035    OcListImpl* oli_;
00036    OcListBrowser* b_;
00037    cTemplate* ct_;
00038 };
00039 
00040 #endif
Generated on Mon Jun 13 08:10:24 2011 for NEURON by  doxygen 1.6.3