NEURON
gui-redirect.h File Reference
#include "hocdec.h"

Go to the source code of this file.

Macros

#define TRY_GUI_REDIRECT_OBJ(name, obj)
 
#define TRY_GUI_REDIRECT_METHOD_ACTUAL_DOUBLE(name, sym, v)
 
#define TRY_GUI_REDIRECT_METHOD_ACTUAL_OBJ(name, sym, v)
 
#define TRY_GUI_REDIRECT_NO_RETURN(name, obj)
 
#define TRY_GUI_REDIRECT_DOUBLE(name, obj)
 
#define TRY_GUI_REDIRECT_ACTUAL_DOUBLE(name, obj)
 
#define TRY_GUI_REDIRECT_ACTUAL_STR(name, obj)
 
#define TRY_GUI_REDIRECT_ACTUAL_OBJ(name, obj)
 
#define TRY_GUI_REDIRECT_DOUBLE_SEND_STRREF(name, obj)
 

Functions

Objectnrn_get_gui_redirect_obj ()
 

Variables

Object **(* nrnpy_gui_helper_ )(const char *, Object *)
 HAVE_IV. More...
 
double(* nrnpy_object_to_double_ )(Object *)
 

Macro Definition Documentation

◆ TRY_GUI_REDIRECT_ACTUAL_DOUBLE

#define TRY_GUI_REDIRECT_ACTUAL_DOUBLE (   name,
  obj 
)
Value:
{ \
Object** ngh_result; \
ngh_result = nrnpy_gui_helper_(name, (Object*) obj); \
if (ngh_result) { \
return (nrnpy_object_to_double_(*ngh_result)); \
} \
} \
}
double(* nrnpy_object_to_double_)(Object *)
Definition: xmenu.cpp:14
Object **(* nrnpy_gui_helper_)(const char *, Object *)
HAVE_IV.
Definition: xmenu.cpp:13
char * name
Definition: init.cpp:16
Definition: hocdec.h:227

Definition at line 71 of file gui-redirect.h.

◆ TRY_GUI_REDIRECT_ACTUAL_OBJ

#define TRY_GUI_REDIRECT_ACTUAL_OBJ (   name,
  obj 
)
Value:
{ \
Object** ngh_result; \
ngh_result = nrnpy_gui_helper_(name, (Object*) obj); \
if (ngh_result) { \
return ngh_result; \
} \
} \
}

Definition at line 93 of file gui-redirect.h.

◆ TRY_GUI_REDIRECT_ACTUAL_STR

#define TRY_GUI_REDIRECT_ACTUAL_STR (   name,
  obj 
)
Value:
{ \
char** ngh_result; \
ngh_result = nrnpy_gui_helper3_str_(name, (Object*) obj, 0); \
if (ngh_result) { \
return ((const char**) ngh_result); \
} \
} \
}
char **(* nrnpy_gui_helper3_str_)(const char *name, Object *obj, int handle_strptr)
Definition: xmenu.cpp:16

Definition at line 82 of file gui-redirect.h.

◆ TRY_GUI_REDIRECT_DOUBLE

#define TRY_GUI_REDIRECT_DOUBLE (   name,
  obj 
)
Value:
{ \
Object** ngh_result; \
ngh_result = nrnpy_gui_helper_(name, (Object*) obj); \
if (ngh_result) { \
hoc_ret(); \
hoc_pushx(nrnpy_object_to_double_(*ngh_result)); \
return; \
} \
} \
}

Definition at line 58 of file gui-redirect.h.

◆ TRY_GUI_REDIRECT_DOUBLE_SEND_STRREF

#define TRY_GUI_REDIRECT_DOUBLE_SEND_STRREF (   name,
  obj 
)
Value:
{ \
Object** ngh_result; \
ngh_result = nrnpy_gui_helper3_(name, (Object*) obj, 1); \
if (ngh_result) { \
hoc_ret(); \
hoc_pushx(nrnpy_object_to_double_(*ngh_result)); \
return; \
} \
} \
}
Object **(* nrnpy_gui_helper3_)(const char *name, Object *obj, int handle_strptr)
Definition: xmenu.cpp:15

Definition at line 104 of file gui-redirect.h.

◆ TRY_GUI_REDIRECT_METHOD_ACTUAL_DOUBLE

#define TRY_GUI_REDIRECT_METHOD_ACTUAL_DOUBLE (   name,
  sym,
  v 
)
Value:
{ \
Object** guiredirect_result = NULL; \
Object* obj = nrn_get_gui_redirect_obj(); \
guiredirect_result = nrnpy_gui_helper_(name, obj); \
if (guiredirect_result) { \
return (nrnpy_object_to_double_(*guiredirect_result)); \
} \
} \
}
Object * nrn_get_gui_redirect_obj()
Definition: hoc_oop.cpp:711
#define NULL
Definition: sptree.h:16

Definition at line 23 of file gui-redirect.h.

◆ TRY_GUI_REDIRECT_METHOD_ACTUAL_OBJ

#define TRY_GUI_REDIRECT_METHOD_ACTUAL_OBJ (   name,
  sym,
  v 
)
Value:
{ \
Object** guiredirect_result = NULL; \
Object* obj = nrn_get_gui_redirect_obj(); \
guiredirect_result = nrnpy_gui_helper_(name, obj); \
if (guiredirect_result) { \
return (guiredirect_result); \
} \
} \
}

Definition at line 35 of file gui-redirect.h.

◆ TRY_GUI_REDIRECT_NO_RETURN

#define TRY_GUI_REDIRECT_NO_RETURN (   name,
  obj 
)
Value:
{ \
Object** ngh_result; \
ngh_result = nrnpy_gui_helper_(name, (Object*) obj); \
if (ngh_result) { \
return; \
} \
} \
}

Definition at line 47 of file gui-redirect.h.

◆ TRY_GUI_REDIRECT_OBJ

#define TRY_GUI_REDIRECT_OBJ (   name,
  obj 
)
Value:
{ \
Object** ngh_result; \
ngh_result = nrnpy_gui_helper_(name, (Object*) obj); \
if (ngh_result) { \
return (void*) *ngh_result; \
} \
} \
}

Definition at line 12 of file gui-redirect.h.

Function Documentation

◆ nrn_get_gui_redirect_obj()

Object* nrn_get_gui_redirect_obj ( )

Definition at line 711 of file hoc_oop.cpp.

Variable Documentation

◆ nrnpy_gui_helper_

Object**(* nrnpy_gui_helper_) (const char *, Object *) ( const char *  name,
Object obj 
)
extern

HAVE_IV.

Definition at line 13 of file xmenu.cpp.

◆ nrnpy_object_to_double_

double(* nrnpy_object_to_double_) (Object *) ( Object )
extern

Definition at line 14 of file xmenu.cpp.