NEURON
macprt.cpp
Go to the documentation of this file.
1 
2 #include <stdio.h>
3 #include <stdarg.h>
4 #include <stdlib.h>
5 #include <string.h>
6 #include <errno.h>
7 #include "hoc.h"
8 
9 #include "gui-redirect.h"
10 
11 
12 extern Object** (*nrnpy_gui_helper_)(const char* name, Object* obj);
13 extern double (*nrnpy_object_to_double_)(Object*);
14 
15 extern void debugfile(const char*, ...);
16 extern int oc_print_from_dll(char*);
17 extern void single_event_run();
18 
19 extern char* neuron_home;
20 
21 int oc_print_from_dll(char* buf) { /* interchange \n and \r !*/
22  char* cp;
23  for (cp = buf; *cp != '\0'; ++cp) { /* safe because buf is already a temp buffer */
24  if (*cp == '\n') {
25  *cp = '\r';
26  }else if (*cp == '\r') {
27  *cp = '\n';
28  }
29  }
30  return printf("%s", buf);
31 }
32 
33 /* jijun 4/22/97, 4/23/97 */
34 extern void setneuronhome(const char* p) {
35  CInfoPBRec myPB;
36  short vRefNum;
37  long dirID;
38  Str255 dirName;
39  char prePath[256];
40  static char fullPath[256];
41 
42  OSErr err = HGetVol ((0), &vRefNum, &dirID);
43  if (err==noErr) {
44  myPB.dirInfo.ioNamePtr = dirName;
45  myPB.dirInfo.ioVRefNum = vRefNum;
46  myPB.dirInfo.ioDrParID = dirID;
47  myPB.dirInfo.ioFDirIndex= -1;
48  do {
49  myPB.dirInfo.ioDrDirID = myPB.dirInfo.ioDrParID;
50  err = PBGetCatInfoSync(&myPB);
51  if (err==noErr) {
52  dirName[dirName[0]+1]='\0';
53  strcpy(prePath, &dirName[1]);
54  strcat(prePath, ":");
55  strcat(prePath, fullPath);
56  strcpy(fullPath, prePath);
57  }
58  } while (myPB.dirInfo.ioDrDirID > 2);
59  }
60 
61  neuron_home=fullPath;
62  // get rid of last ':'
63  neuron_home[strlen(neuron_home)-1] = '\0';
64 // debugfile("neuron_home = %s\n", neuron_home);
65 }
66 
67 char* getenv(const char* s) {
68  static char buf[200];
69  if (strcmp(s, "NEURONHOME") == 0) {
70  return neuron_home;
71  }
72  if (strcmp(s, "NRNDEMO") == 0) {
73  strcpy(buf, neuron_home);
74  strcat(buf, ":demo:");
75  return buf;
76  }
77  printf("getenv: don't know |%s|\n", s);
78  return 0;
79 }
80 
81 int hoc_copyfile(const char* src, const char* dest) {
82  return 0;
83 }
84 
85 void hoc_check_intupt(int intupt) {
86 #if 1
87  extern void set_intset();
88  EventRecord e;
89  if (EventAvail(keyDownMask, &e)) {
90  //debugfile("%d\n", e.what);
91  if (e.what == keyDown) {
92  char c = e.message&charCodeMask;
93  if (c == 0x03) {
94  set_intset();
95  }
96  }
97  //single_event_run();
98  }
99 #endif
100 }
101 
102 FILE* popen(char* s1, char* s2) {
103  printf("no popen\n");
104  return 0;
105 }
106 
107 pclose(FILE* p) {
108  printf("no pclose\n");
109 }
110 
112 }
113 
115 }
116 
117 void plprint(const char* s) {
118  printf("%s", s);
119 }
121 /*
122 int getpid() {
123  return 1;
124 }
125 */
134 hoc_Lw(){ret(); pushx(0.);}
138 
139 
140 //int gethostname() {printf("no gethostname\n");}
141 
142 
143 plt(int mode, double x, double y) {}
145 }
146 
147 
149 
hoc_close_plot()
Definition: macprt.cpp:126
hoc_settext()
Definition: macprt.cpp:135
hoc_Plt()
Definition: macprt.cpp:132
void pushx(double d)
Definition: code.cpp:641
hoc_Plot()
Definition: macprt.cpp:136
pclose(FILE *p)
Definition: macprt.cpp:107
initplot()
Definition: macprt.cpp:148
hoc_Setcolor()
Definition: macprt.cpp:133
size_t p
hoc_ploty()
Definition: macprt.cpp:131
void plprint(const char *s)
Definition: macprt.cpp:117
hoc_Graphmode()
Definition: macprt.cpp:127
#define e
Definition: passive0.cpp:24
hoc_axis()
Definition: macprt.cpp:137
void setneuronhome(const char *p)
Definition: macprt.cpp:34
void single_event_run()
hoc_Lw()
Definition: macprt.cpp:134
#define TRY_GUI_REDIRECT_DOUBLE(name, obj)
Definition: gui-redirect.h:54
hoc_regraph()
Definition: macprt.cpp:129
_CONST char * s
Definition: system.cpp:74
FILE * popen(char *s1, char *s2)
Definition: macprt.cpp:102
#define printf
Definition: mwprefix.h:26
#define ret
Definition: redef.h:123
plt(int mode, double x, double y)
Definition: macprt.cpp:143
hoc_win_normal_cursor()
Definition: macprt.cpp:111
char * getenv(const char *s)
Definition: macprt.cpp:67
char * name
Definition: init.cpp:16
int hoc_plttext
Definition: macprt.cpp:120
hoc_menu_cleanup()
Definition: macprt.cpp:144
double(* nrnpy_object_to_double_)(Object *)
Definition: xmenu.cpp:14
hoc_plotx()
Definition: macprt.cpp:130
Definition: hocdec.h:226
int oc_print_from_dll(char *)
Definition: macprt.cpp:21
#define c
int hoc_copyfile(const char *src, const char *dest)
Definition: macprt.cpp:81
char buf[512]
Definition: init.cpp:13
hoc_Graph()
Definition: macprt.cpp:128
char * neuron_home
Definition: hoc_init.cpp:268
void debugfile(const char *,...)
hoc_win_wait_cursor()
Definition: macprt.cpp:114
return NULL
Definition: cabcode.cpp:461
void hoc_check_intupt(int intupt)
Definition: macprt.cpp:85