static void cancel(button b) { /* need these set to something malloc'ed */ v[0] = GA_gettext(var1); v[1] = GA_gettext(var2); done = 2; }
static void apply(button b) { v[0] = GA_gettext(var1); v[1] = GA_gettext(var2); done = strlen(v[0]) && strlen(v[1]); if (!done) askok("all fields must be completed"); }
char *askUserPass(const char *title) { static window win = NULL; dialog_data *d; window prev = current_window; if (! win) { int tw, bw, h, middle; tw = strwidth(SystemFont, G_("Cancel")) * 8; h = getheight(SystemFont); if (tw < 150) tw = 150; win = newwindow(title, rect(0, 0, tw+30, h*9+12), Titlebar | Centered | Modal); setbackground(win, dialog_bg()); add_data(win); d = data(win); d->question = newlabel(G_("User"), rect(10, h, tw+4, h*2+2), AlignLeft); bw = strwidth(SystemFont, G_("Password")); d->text = newfield("", rect(20+bw, h, tw-6-bw, h*3/2)); newlabel(_("Password"), rect(10, h*4, tw+4, h*2+2), AlignLeft); d->pass = newpassword("", rect(20+bw, h*4, tw-6-bw, h*3/2)); middle = (tw+30)/2; bw = strwidth(SystemFont, G_("Cancel")) * 3/2; d->yes = newbutton(G_("OK"), rect(middle-bw-10, h*7, bw, h+10), hit_button); setvalue(d->yes, YES); d->cancel = newbutton(G_("Cancel"), rect(middle+10, h*7, bw, h+10), hit_button); setvalue(d->cancel, CANCEL); setkeydown(win, hit_key); } else { d = data(win); settext(d->text, ""); settext(d->pass, ""); } if (TopmostDialogs & MB_TOPMOST) BringToTop(win, 1); handle_message_dialog(win); current_window = prev; { char *user, *pass; static char buf[1000]; if (d->hit < YES) /* cancelled */ return ""; if (d->text) user = new_string(GA_gettext(d->text)); else return ""; if (d->pass) pass = new_string(GA_gettext(d->pass)); else return ""; snprintf(buf, 1000, "%s:%s", user, pass); return buf; } return ""; /* -Wall */ }
/* assemble call as string in C code */ void menu_ttest2() { char cmd[256]; done = 0; create_dialog(); setaction(bCancel, cancel2); show(win); for(;;) { R_WaitEvent(); R_ProcessEvents(); if(done > 0) break; } if(done == 1) { sprintf(cmd, "t.test(x=%s, y=%s, alternative=\"%s\",\n paired=%s, var.equal=%s, conf.level=%s)\n", v[0], v[1], alts[getlistitem(alt)], ischecked(paired) ? "TRUE" : "FALSE", ischecked(varequal) ? "TRUE" : "FALSE", GA_gettext(lvl)); Rconsolecmd(cmd); } hide(win); delobj(bApply); delobj(win); }
SEXP getWindowTitle(void) { char buf[512], *res = ""; switch(CharacterMode) { case RGui: if(RguiMDI & RW_MDI) res = GA_gettext(RFrame); else res = GA_gettext(RConsole); break; case RTerm: GetConsoleTitle(buf, 512); buf[511] = '\0'; res = buf; break; default: /* do nothing */ break; } return mkString(res); }
static char * get_dialog_string(window w) { dialog_data *d = data(w); if (d->hit < YES) /* cancelled */ return NULL; del_string(d->result); if (d->text) /* question dialog */ d->result = new_string(GA_gettext(d->text)); return d->result; }
static void private_delmetafile(metafile obj) { HENHMETAFILE hm; if (!obj || (obj->kind != MetafileObject)) return; hm = (HENHMETAFILE) CloseEnhMetaFile((HDC) obj->handle); if (strlen(GA_gettext(obj))) { /* real file*/ DeleteEnhMetaFile(hm); return; } if (OpenClipboard(NULL) && EmptyClipboard() && /* try to save to the*/ SetClipboardData(CF_ENHMETAFILE, hm) && /*clipboard */ CloseClipboard()) return; else { R_ShowMessage(_("Unable to save metafile to the clipboard")); DeleteEnhMetaFile(hm); return; } }
SEXP menu_ttest3() { char cmd[256]; SEXP cmdSexp, cmdexpr, ans = R_NilValue; int i; ParseStatus status; done = 0; create_dialog(); setaction(bCancel, cancel2); show(win); for(;;) { R_WaitEvent(); R_ProcessEvents(); if(done > 0) break; } if(done == 1) { sprintf(cmd, "t.test(x=%s, y=%s, alternative=\"%s\",\n paired=%s, var.equal=%s, conf.level=%s)\n", v[0], v[1], alts[getlistitem(alt)], ischecked(paired) ? "TRUE" : "FALSE", ischecked(varequal) ? "TRUE" : "FALSE", GA_gettext(lvl)); } hide(win); delobj(bApply); delobj(win); if(done == 1) { PROTECT(cmdSexp = allocVector(STRSXP, 1)); SET_STRING_ELT(cmdSexp, 0, mkChar(cmd)); cmdexpr = PROTECT(R_ParseVector(cmdSexp, -1, &status, R_NilValue)); if (status != PARSE_OK) { UNPROTECT(2); error("invalid call %s", cmd); } /* Loop is needed here as EXPSEXP will be of length > 1 */ for(i = 0; i < length(cmdexpr); i++) ans = eval(VECTOR_ELT(cmdexpr, i), R_GlobalEnv); UNPROTECT(2); } return ans; }
/* just retrieve values from the dialog box and assemble call in interpreted code */ void menu_ttest(char **vars, int ints[], double level[]) { done = 0; create_dialog(); setaction(bCancel, cancel); show(win); for(;;) { R_WaitEvent(); R_ProcessEvents(); if(done > 0) break; } vars[0] = v[0]; vars[1] = v[1]; ints[0] = getlistitem(alt); ints[1] = ischecked(paired); ints[2] = ischecked(varequal); ints[3] = done; level[0] = R_atof(GA_gettext(lvl)); hide(win); delobj(bApply); delobj(win); }
static void finish(button b) { strncpy(selected, GA_gettext(f_list), 100); done = 1; }