NEURON
oclist.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 
5 #include <InterViews/resource.h>
6 #include <InterViews/observe.h>
7 struct Object;
8 class OcListBrowser;
9 struct cTemplate;
10 
11 class OcList: public Resource, public Observer {
12  public:
13  OcList(long = 5);
14  OcList(const char* template_name);
15  virtual ~OcList();
16  void append(Object*);
17  void prepend(Object*);
18  void insert(long, Object*);
19  long count();
20  void remove(long);
21  long index(Object*);
22  Object* object(long);
23  void remove_all();
24  bool refs_items() {
25  return ct_ == NULL;
26  }
27 
28  void create_browser(const char* name, const char* items = NULL, Object* pystract = NULL);
29  void create_browser(const char* name, char** pstr, const char* action);
31 
32  virtual void update(Observable*);
33 
34  private:
35  void oref(Object*);
36  void ounref(Object*);
37 
38  private:
39  std::vector<Object*> oli_;
42 };
Definition: oclist.h:11
OcListBrowser * b_
Definition: oclist.h:40
void remove_all()
Definition: oclist.cpp:228
void create_browser(const char *name, const char *items=NULL, Object *pystract=NULL)
Definition: oclist.cpp:484
virtual void update(Observable *)
Definition: oclist.cpp:106
cTemplate * ct_
Definition: oclist.h:41
OcListBrowser * browser()
Definition: oclist.cpp:518
long count()
Definition: oclist.cpp:175
void prepend(Object *)
Definition: oclist.cpp:139
void ounref(Object *)
Definition: oclist.cpp:100
void append(Object *)
Definition: oclist.cpp:81
bool refs_items()
Definition: oclist.h:24
std::vector< Object * > oli_
Definition: oclist.h:39
long index(Object *)
Definition: oclist.cpp:205
void insert(long, Object *)
Definition: oclist.cpp:158
void oref(Object *)
Definition: oclist.cpp:94
void remove(long)
Definition: oclist.cpp:185
OcList(long=5)
Definition: oclist.cpp:412
virtual ~OcList()
Definition: oclist.cpp:440
Object * object(long)
Definition: oclist.cpp:219
const char * name
Definition: init.cpp:16
#define NULL
Definition: spdefs.h:105
Definition: hocdec.h:173