NEURON
nrnmenu.h
Go to the documentation of this file.
1 #ifndef nrnmenu_h
2 #define nrnmenu_h
3 
4 #include <OS/string.h>
5 #include "ndatclas.h"
6 #include <ivstream.h>
7 class MechTypeImpl;
8 
9 class MechanismStandard: public Resource {
10  public:
11  MechanismStandard(const char*, int vartype);
12  virtual ~MechanismStandard();
13 
14  void panel(const char* label = NULL);
15  void action(const char*, Object* pyact);
16 
17  int count();
18  const char* name();
19  const char* name(int, int&); // returns array dimension and name
20 
21  // from arg (section.node(x) (0 if x < 0) to this
22  void in(Section*, double x = -1.);
23  void in(Point_process*);
24  void in(MechanismStandard*);
25  void set(const char*, double val, int arrayindex = 0);
26 
27  // from this to segement containing x (uniformly if x < 0)
28  void out(Section*, double x = -1.);
29  void out(Point_process*);
30  void out(MechanismStandard*);
31  double get(const char*, int arrayindex = 0);
32 
33  void save(const char*, std::ostream*); // for session files
35  return np_;
36  }
37  Object* msobj_; // wraps 'this' and used as first arg for pyact_
38  private:
40  int name_cnt_;
41  int offset_;
42  int vartype_;
46  void mschk(const char*);
47 };
48 
49 class MechanismType: public Resource {
50  public:
52  virtual ~MechanismType();
53  bool is_point();
54  bool is_netcon_target(int);
55  bool has_net_event(int);
56  bool is_artificial(int);
57  void select(const char*);
58  const char* selected();
59  void insert(Section*);
60  void remove(Section*);
61  void point_process(Object**);
62  void action(const char*, Object* pyact);
63  void menu();
64 
65  int count();
66  int selected_item();
67  int internal_type();
68  void select(int);
69 
72 
73  Object* mtobj_; // wraps 'this' and used as first arg for pyact_
74  private:
76 };
77 
78 #endif
CopyString action_
Definition: nrnmenu.h:43
void mschk(const char *)
Definition: nrnmenu.cpp:893
void in(Section *, double x=-1.)
Definition: nrnmenu.cpp:835
virtual ~MechanismStandard()
Definition: nrnmenu.cpp:708
void out(Section *, double x=-1.)
Definition: nrnmenu.cpp:853
MechanismStandard(const char *, int vartype)
Definition: nrnmenu.cpp:668
NrnProperty * np_
Definition: nrnmenu.h:39
Object * msobj_
Definition: nrnmenu.h:37
void save(const char *, std::ostream *)
Definition: nrnmenu.cpp:875
NrnProperty * np()
Definition: nrnmenu.h:34
void action(const char *, Object *pyact)
Definition: nrnmenu.cpp:805
void set(const char *, double val, int arrayindex=0)
Definition: nrnmenu.cpp:813
double get(const char *, int arrayindex=0)
Definition: nrnmenu.cpp:822
Object * pyact_
Definition: nrnmenu.h:44
Symbol ** glosym_
Definition: nrnmenu.h:45
const char * name()
Definition: nrnmenu.cpp:720
void panel(const char *label=NULL)
Definition: nrnmenu.cpp:734
void point_process(Object **)
Definition: nrnmenu.cpp:1276
virtual ~MechanismType()
Definition: nrnmenu.cpp:1168
const char * selected()
Definition: nrnmenu.cpp:1254
Point_process * pp_begin()
Definition: nrnmenu.cpp:1179
Object * mtobj_
Definition: nrnmenu.h:73
bool is_netcon_target(int)
Definition: nrnmenu.cpp:1225
void remove(Section *)
Definition: nrnmenu.cpp:1268
MechanismType(bool point_process)
Definition: nrnmenu.cpp:1146
Point_process * pp_next()
Definition: nrnmenu.cpp:1198
void select(const char *)
Definition: nrnmenu.cpp:1246
int selected_item()
Definition: nrnmenu.cpp:1326
bool is_point()
Definition: nrnmenu.cpp:1175
int internal_type()
Definition: nrnmenu.cpp:1258
MechTypeImpl * mti_
Definition: nrnmenu.h:75
bool is_artificial(int)
Definition: nrnmenu.cpp:1241
bool has_net_event(int)
Definition: nrnmenu.cpp:1230
void insert(Section *)
Definition: nrnmenu.cpp:1263
void action(const char *, Object *pyact)
Definition: nrnmenu.cpp:1283
#define NULL
Definition: sptree.h:16
Definition: hocdec.h:227
Definition: model.h:57