static VALUE rb_ext_Screen_new() { newtInit(); newtCls(); return Qnil; }
/** * Set up the Newt graphical environment. If @p g_text_mode is TRUE, then * only allocate some memory. */ void setup_newt_stuff() { /*@ int *********************************************************** */ int i = 0; int cols; if (!g_text_mode) { newtInit(); newtCls(); newtPushHelpLine (_("Welcome to Mondo Rescue, by Dev Team and the Internet. All rights reversed.")); /* newtDrawRootText(28,0,"Welcome to Mondo Rescue"); */ newtDrawRootText(18, 0, WELCOME_STRING); newtRefresh(); newtGetScreenSize(&cols, &g_noof_rows); g_noof_log_lines = (g_noof_rows / 5) + 1; } err_log_lines = (char **) malloc(sizeof(char *) * g_noof_log_lines); if (!err_log_lines) { fatal_error("Out of memory"); } for (i = 0; i < g_noof_log_lines; i++) { err_log_lines[i] = NULL; } }
int main(int argc, char ** argv) { char * foo; newtInit(); newtCls(); foo = newt_select_file("Get File Name", "foo, blah blah blah", "/etc", NULL); newtFinished(); printf("got %s\n", foo); return 0; }
// ======================================================= CInterfaceNewt::CInterfaceNewt(bool bBatchMode): CInterface(bBatchMode) { int cols, rows; m_bPushDone = false; //m_bBatchMode = bBatchMode; // in CInterface SLang_init_tty('*', 0, 0); // '*' to send SIGTERM //myNewtInit(32); newtInit(); //SLang_Abort_Char = 27; newtCls(); newtGetScreenSize(&cols, &rows); newtDrawRootText((int)((cols-14)/2), (int)(rows/2), i18n("Please wait...")); newtPushHelpLine(""); newtRefresh(); }
int main(int argn, char **argv) { printf("\033[H\033[2J\033[m"); printf("使用cterm的请键入'c', 其它终端回车即可"); fflush(stdout); if ('c' == getchar()) setenv("TERM", "ansi", 1); else setenv("TERM", "vt100", 1); newtInit(); newtCls(); newtDrawRootText(0, 0, "科技辞典 1.0"); do_dict(); newtFinished(); return 0; }
int main(int argc, char *argv[]) { ctl = open("/dev/dahdi/ctl", O_RDWR); if (ctl < 0) { fprintf(stderr, "Unable to open /dev/dahdi/ctl: %s\n", strerror(errno)); exit(1); } newtInit(); newtCls(); newtDrawRootText(0,0,"DAHDI Tool (C)2002-2008 Digium, Inc."); newtPushHelpLine("Welcome to the DAHDI Tool!"); show_spans(); cleanup(); newtFinished(); return 0; }
void init_frontend_newt(const char * welcome_msg) { int i; for (i=0; i<38; i++) printf("\n"); newtInit(); newtCls(); if (welcome_msg[0]) { char *msg; int cols, rows; newtGetScreenSize(&cols, &rows); asprintf(&msg, " %-*s", cols - 1, welcome_msg); newtDrawRootText(0, 0, msg); free(msg); newtPushHelpLine(" <Alt-F1> for here, <Alt-F11> to see the logs, <Alt-F12> for kernel msg"); } newtRefresh(); }
int main(int argc, char *argv[]) { if (argc < 2) { fprintf(stderr, "Usage: astman <host>\n"); exit(1); } newtInit(); newtCls(); newtDrawRootText(0, 0, "Asterisk Manager (C)2002, Linux Support Services, Inc."); newtPushHelpLine("Welcome to the Asterisk Manager!"); if (login(argv[1])) { newtFinished(); exit(1); } manage_calls(argv[1]); newtFinished(); return 0; }
int main(int argc, char *argv[]) { ctl = open("/dev/zap/ctl", O_RDWR); if (ctl < 0) { fprintf(stderr, "Unable to open /dev/zap/ctl: %s\n", strerror(errno)); exit(1); } newtInit(); newtCls(); newtDrawRootText(0,0,"Zaptel Tool (C)2002 Linux Support Services, Inc."); newtPushHelpLine("Welcome to the Zaptel Tool!"); show_spans(); cleanup(); newtFinished(); return 0; }
/** * nmt_newt_init: * * Wrapper for newtInit() that also does some nmt-newt-internal setup. * This should be called once, before any other nmt-newt functions. */ void nmt_newt_init (void) { newtInit (); newtCls (); newtSetColor (NEWT_COLORSET_CHECKBOX, "black", "lightgray"); newtSetColor (NMT_NEWT_COLORSET_BAD_LABEL, "red", "lightgray"); newtSetColor (NMT_NEWT_COLORSET_PLAIN_LABEL, "black", "lightgray"); newtSetColor (NMT_NEWT_COLORSET_DISABLED_BUTTON, "blue", "lightgray"); newtSetColor (NMT_NEWT_COLORSET_TEXTBOX_WITH_BACKGROUND, "black", "white"); if (g_getenv ("NMTUI_DEBUG")) g_log_set_default_handler (nmt_newt_dialog_g_log_handler, NULL); else g_log_set_default_handler (nmt_newt_basic_g_log_handler, NULL); newtSetSuspendCallback (nmt_newt_suspend_callback, NULL); }
static int wtInit(ClientData clientData, Tcl_Interp * interp, int argc, char ** argv) { newtInit(); newtCls(); newtPushHelpLine(""); Tcl_TraceVar(interp, "whiptcl_backtext", TCL_TRACE_WRITES | TCL_GLOBAL_ONLY, setBacktext, NULL); Tcl_TraceVar(interp, "whiptcl_helpline", TCL_TRACE_WRITES | TCL_TRACE_UNSETS | TCL_GLOBAL_ONLY, setHelptext, NULL); Tcl_TraceVar(interp, "whiptcl_fullbuttons", TCL_TRACE_WRITES | TCL_TRACE_UNSETS | TCL_GLOBAL_ONLY, setFullButtons, NULL); Tcl_SetVar(interp, "whiptcl_helpline", "", TCL_GLOBAL_ONLY); Tcl_SetVar(interp, "whiptcl_fullbuttons", "1", TCL_GLOBAL_ONLY); return TCL_OK; }
int main(int argc, char *argv[]) { int choice; char *sections[13]; /* need to fill this out AFTER knowing lang */ int rc; struct keyvalue *kv; char selectedshortlang[STRING_SIZE] = "en"; int autook = 0; int doreboot = 0; struct stat statbuf; memset(&statbuf, 0, sizeof(struct stat)); /* Log file/terminal stuff. */ if (argc >= 2) logname = argv[1]; else logname = strdup("/root/setup.log"); if (!(flog = fopen(logname, "w+"))) { printf("Couldn't open log terminal\n"); return 1; } if (argc >= 3) automode = 1; fprintf(flog, "Setup program started.\n"); kv = initkeyvalues(); if (!(readkeyvalues(kv, CONFIG_ROOT "main/settings"))) { printf("SmoothWall is not properly installed.\n"); return 1; } findkey(kv, "LANGUAGE", selectedshortlang); ctr = english_tr; newtInit(); newtCls(); newtDrawRootText(0, 0, " SmoothWall Express 3.0 -- http://smoothwall.org/"); newtPushHelpLine(ctr[TR_HELPLINE]); if (automode == 0) { sections[0] = ctr[TR_RESTORE_CONFIGURATION]; sections[1] = ctr[TR_KEYBOARD_MAPPING]; sections[2] = ctr[TR_HOSTNAME]; sections[3] = ctr[TR_WEB_PROXY]; sections[4] = ctr[TR_DEFAULT_SECURITY_LEVEL]; sections[5] = ctr[TR_ISDN_CONFIGURATION]; sections[6] = ctr[TR_ADSL_CONFIGURATION]; sections[7] = ctr[TR_NETWORKING]; sections[8] = ctr[TR_DHCP_SERVER_CONFIGURATION], sections[9] = ctr[TR_ROOT_PASSWORD]; sections[10] = ctr[TR_SETUP_PASSWORD]; sections[11] = ctr[TR_ADMIN_PASSWORD]; sections[12] = NULL; usbfail = 1; if (!stat("/proc/bus/usb/devices", &statbuf)) usbfail = 0; if (usbfail) fprintf(flog, "USB HCI not detected.\n"); else fprintf(flog, "USB HCI detected.\n"); choice = 0; for (;;) { rc = newtWinMenu(ctr[TR_SECTION_MENU], ctr[TR_SELECT_THE_ITEM], 50, 5, 5, 8, sections, &choice, ctr[TR_OK], ctr[TR_QUIT], NULL); if (rc == 2) break; switch (choice) { case 0: handlerestore(); break; case 1: handlekeymap(); break; case 2: handlehostname(); break; case 3: handlewebproxy(); break; case 4: handledefaults(); break; case 5: handleisdn(); break; case 6: handleadsl(); break; case 7: handlenetworking(); break; case 8: handledhcp(); break; case 9: handlerootpassword(); break; case 10: handlesetuppassword(); break; case 11: handleadminpassword(); break; default: break; } } } else { usbfail = 1; if (!stat("/proc/bus/usb/devices", &statbuf)) usbfail = 0; if (newtWinChoice(TITLE, ctr[TR_NO], ctr[TR_YES], ctr[TR_RESTORE_LONG]) != 1) { if (!(handlerestore())) goto EXIT; } if (!(handlekeymap())) goto EXIT; if (!(handlehostname())) goto EXIT; if (!(handledefaults())) goto EXIT; if (!(handlenetworking())) goto EXIT; if (!performedrestore) { choice = 0; for (;;) { sections[0] = ctr[TR_WEB_PROXY]; sections[1] = ctr[TR_ISDN_CONFIGURATION]; sections[2] = ctr[TR_ADSL_CONFIGURATION]; sections[3] = ctr[TR_DHCP_SERVER_CONFIGURATION], sections[4] = NULL; rc = newtWinMenu(ctr[TR_SECTION_MENU], ctr[TR_SELECT_THE_ITEM], 50, 5, 5, 8, sections, &choice, ctr[TR_OK], ctr[TR_FINISHED], NULL); if (rc == 2) break; switch (choice) { case 0: handlewebproxy(); break; case 1: handleisdn(); break; case 2: handleadsl(); break; case 3: handledhcp(); break; default: break; } } } if (!(handleadminpassword())) goto EXIT; if (!(handlerootpassword())) goto EXIT; autook = 1; } EXIT: if (automode != 0) { if (autook) newtWinMessage(TITLE, ctr[TR_OK], ctr[TR_SETUP_FINISHED]); else newtWinMessage(ctr[TR_WARNING], ctr[TR_OK], ctr[TR_SETUP_NOT_COMPLETE]); } else { if (rebootrequired) { if (newtWinChoice(TITLE, ctr[TR_YES], ctr[TR_NO], ctr[TR_DO_YOU_WANT_TO_REBOOT]) != 2) { doreboot = 1; } } } fprintf(flog, "Setup program ended.\n"); fflush(flog); fclose(flog); newtFinished(); if (doreboot) system("/sbin/shutdown -r now"); return 0; }
void play_wav_file(char *filename) { char *inwavbuf; short *current; short *audioend; short *audio; WAVE_HEADER *wav_info; int wavfd; int dspfd; struct stat input_fstat; size_t interval; newtComponent vu_1sec; newtComponent vu_total; newtComponent wav_length; newtComponent label_length; newtComponent mainwaveform; newtComponent label_1sec; newtComponent label_total; newtComponent rf_result; char labelstr_1sec[10] = "0"; char labelstr_total[10] = "0"; char labelstr_length[10] = ""; short one_sec_max, total_max; wavfd = open(filename,O_RDONLY,0600); if (wavfd == -1) { printf("Error: open() %s\n",strerror(errno)); exit(1); } if (fstat(wavfd,&input_fstat) != 0) { printf("Error: fstat() %s\n",strerror(errno)); return; } if (input_fstat.st_size < sizeof(WAVE_HEADER)) { printf("File is not large enough to hold a .wav file header even!\n"); return; } inwavbuf = mmap(NULL,input_fstat.st_size,PROT_READ,MAP_SHARED,wavfd,0); if (inwavbuf == MAP_FAILED) { printf("Error: mmap() %s\n",strerror(errno)); exit(1); } audio = (short *)validate_wav_header(inwavbuf,0); current = audio; if (current == NULL) { printf("This program didn't like the wav file\n"); exit(1); } wav_info = (WAVE_HEADER *)inwavbuf; audioend = (short *)((char *)audio + wav_info->nDataBytes); dspfd = open_dsp(wav_info); newtCls(); newtDrawRootText(0, 0, filename); mainwaveform = newtForm(NULL, NULL, NEWT_FLAG_NOF12); vu_1sec = newtScale(9,5,68,(long long)(SHRT_MAX)); label_1sec = newtLabel(1,5,labelstr_1sec); wav_length = newtScale(9,3,68,audioend - audio); label_length = newtLabel(1,3,labelstr_length); vu_total = newtScale(9,8,68,(long long)(SHRT_MAX)); label_total = newtLabel(1,8,labelstr_total); newtFormAddComponent(mainwaveform,vu_1sec); newtFormAddComponent(mainwaveform,vu_total); newtFormAddComponent(mainwaveform,label_1sec); newtFormAddComponent(mainwaveform,label_total); one_sec_max = 0; total_max = 0; newtFormWatchFd(mainwaveform,dspfd,NEWT_FD_WRITE); newtFormAddHotKey(mainwaveform,NEWT_KEY_ENTER); newtPushHelpLine("Hit Enter to end playing"); newtCenteredWindow(78,10,"now playing .wav file"); newtRefresh(); /* presently every second */ interval = (size_t )((double )wav_info->nSamplesPerSec * interval_s * 2); while ((current) < audioend) { short *endcurrent = current + interval; if (endcurrent > audioend) { endcurrent = audioend; } one_sec_max = get_peak_value(current,endcurrent); newtScaleSet(vu_1sec,one_sec_max); sprintf(labelstr_1sec,"%1.6f",((float )one_sec_max/ (float )SHRT_MAX)); newtLabelSetText(label_1sec,labelstr_1sec); newtScaleSet(wav_length,current - audio); sprintf(labelstr_length,"%4.2f", ((double )(current - audio) / 88200)); newtLabelSetText(label_length,labelstr_length); if (one_sec_max > total_max) { total_max = one_sec_max; sprintf(labelstr_total,"%1.6f",((float )total_max/ (float )SHRT_MAX)); newtLabelSetText(label_total,labelstr_total); newtScaleSet(vu_total,total_max); } rf_result = newtRunForm(mainwaveform); if (play_buffer(dspfd,current,endcurrent) == -1) { current = audioend; } current = endcurrent; if (rf_result == NULL) current = audioend; newtRefresh(); } newtFormDestroy(mainwaveform); munmap(inwavbuf,input_fstat.st_size); close(wavfd); close(dspfd); return; }
static VALUE rb_ext_Screen_Cls() { newtCls(); return Qnil; }
int main(void) { newtComponent b1, b2, r1, r2, r3, e2, e3, l1, l2, l3, scale; newtComponent lb, t, rsf, answer, timeLabel; newtComponent cs[10]; newtComponent f, chklist, e1; struct callbackInfo cbis[3]; char results[10]; char * enr2, * enr3, * scaleVal; void ** selectedList; int i, numsel; char buf[20]; const char * spinner = "-\\|/\\|/"; const char * spinState; struct newtExitStruct es; newtInit(); newtCls(); newtSetSuspendCallback(suspend, NULL); newtSetHelpCallback(helpCallback); newtDrawRootText(0, 0, "Newt test program"); newtPushHelpLine(NULL); newtDrawRootText(-50, 0, "More root text"); newtOpenWindow(2, 2, 30, 10, "first window"); newtOpenWindow(10, 5, 65, 16, "window 2"); f = newtForm(NULL, "This is some help text", 0); chklist = newtForm(NULL, NULL, 0); b1 = newtButton(3, 1, "Exit"); b2 = newtButton(18, 1, "Update"); r1 = newtRadiobutton(20, 10, "Choice 1", 0, NULL); r2 = newtRadiobutton(20, 11, "Chc 2", 1, r1); r3 = newtRadiobutton(20, 12, "Choice 3", 0, r2); rsf = newtForm(NULL, NULL, 0); newtFormAddComponents(rsf, r1, r2, r3, NULL); newtFormSetBackground(rsf, NEWT_COLORSET_CHECKBOX); for (i = 0; i < 10; i++) { sprintf(buf, "Check %d", i); cs[i] = newtCheckbox(3, 10 + i, buf, ' ', NULL, &results[i]); newtFormAddComponent(chklist, cs[i]); } l1 = newtLabel(3, 6, "Scale:"); l2 = newtLabel(3, 7, "Scrolls:"); l3 = newtLabel(3, 8, "Hidden:"); e1 = newtEntry(12, 6, "", 20, &scaleVal, 0); e2 = newtEntry(12, 7, "Default", 20, &enr2, NEWT_FLAG_SCROLL); /* e3 = newtEntry(12, 8, NULL, 20, &enr3, NEWT_FLAG_HIDDEN); */ e3 = newtEntry(12, 8, NULL, 20, &enr3, NEWT_FLAG_PASSWORD); cbis[0].state = &results[0]; cbis[0].en = e1; newtComponentAddCallback(cs[0], disableCallback, &cbis[0]); scale = newtScale(3, 14, 32, 100); newtFormSetHeight(chklist, 3); newtFormAddComponents(f, b1, b2, l1, l2, l3, e1, e2, e3, chklist, NULL); newtFormAddComponents(f, rsf, scale, NULL); lb = newtListbox(45, 1, 6, NEWT_FLAG_MULTIPLE | NEWT_FLAG_BORDER | NEWT_FLAG_SCROLL | NEWT_FLAG_SHOWCURSOR); newtListboxAppendEntry(lb, "First", (void *) 1); newtListboxAppendEntry(lb, "Second", (void *) 2); newtListboxAppendEntry(lb, "Third", (void *) 3); newtListboxAppendEntry(lb, "Fourth", (void *) 4); newtListboxAppendEntry(lb, "Sixth", (void *) 6); newtListboxAppendEntry(lb, "Seventh", (void *) 7); newtListboxAppendEntry(lb, "Eighth", (void *) 8); newtListboxAppendEntry(lb, "Ninth", (void *) 9); newtListboxAppendEntry(lb, "Tenth", (void *) 10); newtListboxInsertEntry(lb, "Fifth", (void *) 5, (void *) 4); newtListboxInsertEntry(lb, "Eleventh", (void *) 11, (void *) 10); newtListboxDeleteEntry(lb, (void *) 11); spinState = spinner; timeLabel = newtLabel(45, 8, "Spinner: -"); t = newtTextbox(45, 10, 17, 5, NEWT_FLAG_WRAP); newtTextboxSetText(t, "This is some text does it look okay?\nThis should be alone.\nThis shouldn't be printed"); newtFormAddComponents(f, lb, timeLabel, t, NULL); newtRefresh(); newtFormSetTimer(f, 200); do { newtFormRun(f, &es); if (es.reason == NEWT_EXIT_COMPONENT && es.u.co == b2) { newtScaleSet(scale, atoi(scaleVal)); newtRefresh(); answer = NULL; } else if (es.reason == NEWT_EXIT_TIMER) { spinState++; if (!*spinState) spinState = spinner; sprintf(buf, "Spinner: %c", *spinState); newtLabelSetText(timeLabel, buf); } } while (es.reason != NEWT_EXIT_COMPONENT || es.u.co == b2); scaleVal = strdup(scaleVal); enr2 = strdup(enr2); enr3 = strdup(enr3); selectedList = newtListboxGetSelection(lb, &numsel); newtFormDestroy(f); newtPopWindow(); newtPopWindow(); newtFinished(); printf("got string 1: %s\n", scaleVal); printf("got string 2: %s\n", enr2); printf("got string 3: %s\n", enr3); if(selectedList) { printf("\nSelected listbox items:\n"); for(i = 0; i < numsel; i++) puts(selectedList[i]); } return 0; }
int main(int argc, char *argv[]) { int choice; char *sections[14]; /* need to fill this out AFTER knowing lang */ int rc; struct keyvalue *kv; char selectedshortlang[STRING_SIZE] = "en"; int autook = 0; int doreboot = 0; struct stat statbuf; memset(&statbuf, 0, sizeof(struct stat)); /* Log file/terminal stuff. */ if (argc >= 2) logname = argv[1]; else logname = strdup("/root/setup.log"); if (!(flog = fopen(logname, "w+"))) { printf("Couldn't open log terminal\n"); return 1; } /* Engage auto operation (run through 'normal' selections automatically) */ if (argc >= 3) { if (strlen(argv[2]) == 12 && strncmp(argv[2], "firstInstall", 12) == 0) { /* This execution only follows the installer; outgoing rules are cleared */ automode = 1; } else if (strlen(argv[2]) == 15 && strncmp(argv[2], "networkingOnly", 15) == 0) { /* This execution only runs during bootup when the NICs have changed */ automode = 2; } else { /* All other values mean generic auto mode during normal operation */ automode = 3; } } fprintf(flog, "Setup program started.\n"); kv = initkeyvalues(); if (!(readkeyvalues(kv, CONFIG_ROOT "main/settings"))) { printf("Smoothwall is not properly installed.\n"); return 1; } findkey(kv, "LANGUAGE", selectedshortlang); ctr = english_tr; newtInit(); newtCls(); newtDrawRootText(0, 0, TITLE " -- http://smoothwall.org/"); newtPushHelpLine(ctr[TR_HELPLINE]); if (automode == 0) { /* Admin selects each menu item individually */ sections[0] = ctr[TR_RESTORE_CONFIGURATION]; sections[1] = ctr[TR_KEYBOARD_MAPPING]; sections[2] = ctr[TR_TIMEZONE]; sections[3] = ctr[TR_HOSTNAME]; sections[4] = ctr[TR_WEB_PROXY]; sections[5] = ctr[TR_DEFAULT_SECURITY_LEVEL]; sections[6] = ctr[TR_ISDN_CONFIGURATION]; sections[7] = ctr[TR_ADSL_CONFIGURATION]; sections[8] = ctr[TR_NETWORKING]; sections[9] = ctr[TR_DHCP_SERVER_CONFIGURATION], sections[10] = ctr[TR_ROOT_PASSWORD]; sections[11] = ctr[TR_SETUP_PASSWORD]; sections[12] = ctr[TR_ADMIN_PASSWORD]; sections[13] = NULL; usbfail = 1; if (!stat("/proc/bus/usb/devices", &statbuf)) usbfail = 0; if (usbfail) fprintf(flog, "USB HCI not detected.\n"); else fprintf(flog, "USB HCI detected.\n"); choice = 0; for (;;) { rc = newtWinMenu(ctr[TR_SECTION_MENU], ctr[TR_SELECT_THE_ITEM], 50, 5, 5, 8, sections, &choice, ctr[TR_OK], ctr[TR_QUIT], NULL); if (rc == 2) break; switch (choice) { case 0: handlerestore(); break; case 1: handlekeymap(); break; case 2: handletimezone(); break; case 3: handlehostname(); break; case 4: handlewebproxy(); break; case 5: handledefaults(); break; case 6: handleisdn(); break; case 7: handleadsl(); break; case 8: handlenetworking(); break; case 9: handledhcp(); break; case 10: handlerootpassword(); break; case 11: handlesetuppassword(); break; case 12: handleadminpassword(); break; default: break; } } } else if (automode == 2) { /* Admin specified networkingOnly as the third arg */ /* This happens when the NIC change and rc.sysint runs setup */ handlenetworking(); autook = 2; } else { /* automode is 1 (firstInstall) or 3 (generic) */ usbfail = 1; if (newtWinChoice(ctr[TR_RESTORE_CONFIGURATION], ctr[TR_NO], ctr[TR_YES], ctr[TR_RESTORE_LONG]) != 1) { if (!(handlerestore())) goto EXIT; } if (!(handlekeymap())) goto EXIT; if (!(handletimezone())) goto EXIT; if (!(handlehostname())) goto EXIT; if (!(handledefaults())) goto EXIT; if (!(handlenetworking())) goto EXIT; if (!performedrestore) { choice = 0; for (;;) { sections[0] = ctr[TR_WEB_PROXY]; sections[1] = ctr[TR_ISDN_CONFIGURATION]; sections[2] = ctr[TR_ADSL_CONFIGURATION]; sections[3] = ctr[TR_DHCP_SERVER_CONFIGURATION], sections[4] = NULL; rc = newtWinMenu(ctr[TR_SECTION_MENU], ctr[TR_SELECT_THE_ITEM], 50, 5, 5, 8, sections, &choice, ctr[TR_OK], ctr[TR_FINISHED], NULL); if (rc == 2) break; switch (choice) { case 0: handlewebproxy(); break; case 1: handleisdn(); break; case 2: handleadsl(); break; case 3: handledhcp(); break; default: break; } } } if (!(handleadminpassword())) goto EXIT; if (!(handlerootpassword())) goto EXIT; autook = 1; } EXIT: if (automode == 1 || automode == 3) { if (autook) newtWinMessage("", ctr[TR_OK], ctr[TR_SETUP_FINISHED]); else newtWinMessage(ctr[TR_WARNING], ctr[TR_OK], ctr[TR_SETUP_NOT_COMPLETE]); } else if (automode == 2) { if (autook == 2) { fprintf(flog, "Setup program ended.\n"); fflush(flog); fclose(flog); newtFinished(); return 0; } else { return -1; } } else { if (rebootrequired) { if (newtWinChoice("", ctr[TR_YES], ctr[TR_NO], ctr[TR_DO_YOU_WANT_TO_REBOOT]) != 2) { doreboot = 1; } } } fprintf(flog, "Setup program ended.\n"); fflush(flog); fclose(flog); newtFinished(); if (doreboot) system("/sbin/shutdown -r now"); return 0; }
int main(void) { newtComponent b1, b2, b3, b4; newtComponent answer, f, t; newtGrid grid, subgrid; char * flowedText; int textWidth, textHeight, rc; char * menuContents[] = { "One", "Two", "Three", "Four", "Five", NULL }; char * entries[10]; struct newtWinEntry autoEntries[] = { { "An entry", entries + 0, 0 }, { "Another entry", entries + 1, 0 }, { "Third entry", entries + 2, 0 }, { "Fourth entry", entries + 3, 0 }, { NULL, NULL, 0 } }; memset(entries, 0, sizeof(entries)); newtInit(); newtCls(); b1 = newtCheckbox(-1, -1, "An pretty long checkbox for testing", ' ', NULL, NULL); b2 = newtButton(-1, -1, "Another Button"); b3 = newtButton(-1, -1, "But, but"); b4 = newtButton(-1, -1, "But what?"); f = newtForm(NULL, NULL, 0); grid = newtCreateGrid(2, 2); newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, b1, 0, 0, 0, 0, NEWT_ANCHOR_RIGHT, 0); newtGridSetField(grid, 0, 1, NEWT_GRID_COMPONENT, b2, 0, 0, 0, 0, 0, 0); newtGridSetField(grid, 1, 0, NEWT_GRID_COMPONENT, b3, 0, 0, 0, 0, 0, 0); newtGridSetField(grid, 1, 1, NEWT_GRID_COMPONENT, b4, 0, 0, 0, 0, 0, 0); newtFormAddComponents(f, b1, b2, b3, b4, NULL); newtGridWrappedWindow(grid, "first window"); newtGridFree(grid, 1); answer = newtRunForm(f); newtFormDestroy(f); newtPopWindow(); flowedText = newtReflowText("This is a quite a bit of text. It is 40 " "columns long, so some wrapping should be " "done. Did you know that the quick, brown " "fox jumped over the lazy dog?\n\n" "In other news, it's pretty important that we " "can properly force a line break.", 40, 5, 5, &textWidth, &textHeight); t = newtTextbox(-1, -1, textWidth, textHeight, NEWT_FLAG_WRAP); newtTextboxSetText(t, flowedText); free(flowedText); b1 = newtButton(-1, -1, "Okay"); b2 = newtButton(-1, -1, "Cancel"); grid = newtCreateGrid(1, 2); subgrid = newtCreateGrid(2, 1); newtGridSetField(subgrid, 0, 0, NEWT_GRID_COMPONENT, b1, 0, 0, 0, 0, 0, 0); newtGridSetField(subgrid, 1, 0, NEWT_GRID_COMPONENT, b2, 0, 0, 0, 0, 0, 0); newtGridSetField(grid, 0, 0, NEWT_GRID_COMPONENT, t, 0, 0, 0, 1, 0, 0); newtGridSetField(grid, 0, 1, NEWT_GRID_SUBGRID, subgrid, 0, 0, 0, 0, 0, NEWT_GRID_FLAG_GROWX); newtGridWrappedWindow(grid, "another example"); newtGridDestroy(grid, 1); f = newtForm(NULL, NULL, 0); newtFormAddComponents(f, b1, t, b2, NULL); answer = newtRunForm(f); newtPopWindow(); newtFormDestroy(f); newtWinMessage("Simple", "Ok", "This is a simple message window"); newtWinChoice("Simple", "Ok", "Cancel", "This is a simple choice window"); textWidth = 0; rc = newtWinMenu("Test Menu", "This is a sample invovation of the " "newtWinMenu() call. It may or may not have a scrollbar, " "depending on the need for one.", 50, 5, 5, 3, menuContents, &textWidth, "Ok", "Cancel", NULL); rc = newtWinEntries("Text newtWinEntries()", "This is a sample invovation of " "newtWinEntries() call. It lets you get a lot of input " "quite easily.", 50, 5, 5, 20, autoEntries, "Ok", "Cancel", NULL); newtFinished(); printf("rc = 0x%x item = %d\n", rc, textWidth); return 0; }
int main(void){ newtComponent hForm, button1, button2; newtComponent astIpLabel, astPortLabel, astUserLabel, astPassLabel; newtComponent astIpEntry, astPortEntry, astUserEntry, astPassEntry; const char *astIpVal, *astPortVal, *astUserVal, *astPassVal; newtComponent humbugHostLabel, humbugPortLabel, humbugApiLabel; newtComponent humbugHostEntry, humbugPortEntry, humbugApiEntry; const char *humbugHostVal, *humbugPortVal, *humbugApiVal; int i, y; newtComponent eventsLabel, eventsChk[EVENTS_SIZE], chkList; newtComponent encChk, encLabel, encEntry, chkLog; char encVal, logVal; const char *encKey; char eventsList[EVENTS_SIZE][16]; char eventsResults[EVENTS_SIZE]; strcpy(eventsList[0], "CDR"); strcpy(eventsList[1], "NewExten"); strcpy(eventsList[2], "Reload"); strcpy(eventsList[3], "Shutdown"); strcpy(eventsList[4], "Alarm"); strcpy(eventsList[5], "AlarmClear"); strcpy(eventsList[6], "CollectorAlarm"); struct newtExitStruct es; params = (parameters*) calloc(1, sizeof(parameters)); if(readHumbugConfig() < 0) { exit(EXIT_FAILURE); } newtInit(); newtCls(); newtDrawRootText(1, 0, "Text Mode Setup for humbug-collector (c) 2011 Humbug Telecom Labs, Ltd."); newtPushHelpLine(" <Tab>/<Alt-Tab> between elements | <ESC> exits without save | <F12> for help"); newtCenteredWindow(66, 17, "Humbug Setup"); astIpLabel = newtLabel(1, 1, " Manager IP:"); astIpEntry = newtEntry(19, 1, params->astIpVal, 20, &astIpVal, 0); astPortLabel = newtLabel(1, 2, " Manager Port:"); astPortEntry = newtEntry(19, 2, params->astPortVal, 20, &astPortVal, 0); astUserLabel = newtLabel(1, 3, "Manager Username:"******"Manager Password:"******" Humbug Host:"); humbugHostEntry = newtEntry(19, 6, params->humbugHost, 20, &humbugHostVal, 0); humbugPortLabel = newtLabel(1, 7, " Humbug Port:"); humbugPortEntry = newtEntry(19, 7, params->humbugPort, 20, &humbugPortVal, 0); humbugApiLabel = newtLabel(1, 8, " Humbug API key:"); humbugApiEntry = newtEntry(19, 8, params->humbugApikey, 20, &humbugApiVal, NEWT_FLAG_SCROLL); if(1 == params->encrypted){ encChk = newtCheckbox(19, 10, "Encrypted", 'X', " X", &encVal); }else{ encChk = newtCheckbox(19, 10, "Encrypted", ' ', " X", &encVal); } encLabel = newtLabel(1, 11, " Encryption key:"); encEntry = newtEntry(19, 11, params->humbugKey, 42, &encKey, NEWT_FLAG_SCROLL); if(strlen(params->log_file) > 0 ){ chkLog = newtCheckbox(19, 13, "Log ON/OFF", 'X', " X", &logVal); }else{ chkLog = newtCheckbox(19, 13, "Log ON/OFF", ' ', " X", &logVal); } eventsLabel = newtLabel(42, 1, "Events for analyze:"); button1 = newtButton(36, 13, "Save & Exit"); button2 = newtButton(53, 13, "Quit"); chkList = newtForm(NULL, NULL, 0); newtFormSetBackground(chkList, NEWT_COLORSET_CHECKBOX); for(i=0; i<EVENTS_SIZE; i++) { int selected = 0; for(y=0; y<params->eventsSize; y++){ if(0 == strcasecmp(eventsList[i], params->events[y])){ selected = 1; break; } } if (1 == selected) { eventsChk[i] = newtCheckbox(47, 2 + i, eventsList[i], 'X', " X", &eventsResults[i]); } else { eventsChk[i] = newtCheckbox(47, 2 + i, eventsList[i], ' ', " X", &eventsResults[i]); } newtFormAddComponent(chkList, eventsChk[i]); } hForm = newtForm(NULL, NULL, 0); newtFormAddComponents(hForm, button1, button2, astIpLabel, astPortLabel, astUserLabel, astPassLabel, astIpEntry, astPortEntry, astUserEntry, astPassEntry, humbugHostLabel, humbugPortLabel, humbugApiLabel, humbugHostEntry, humbugPortEntry, humbugApiEntry, eventsLabel, chkList, encChk, encLabel, encEntry, chkLog, NULL); for(;;){ do{ newtFormRun(hForm, &es); }while(es.reason == NEWT_EXIT_TIMER); if (es.reason == NEWT_EXIT_HOTKEY) { int done = 0; switch (es.u.key) { case NEWT_KEY_ESCAPE: done = 1; break; case NEWT_KEY_F12: show_help(); break; } if(done) break; }else if (es.reason == NEWT_EXIT_COMPONENT) { if(es.u.co == button1){ strcpy(params->astIpVal, astIpVal); strcpy(params->astPortVal, astPortVal); strcpy(params->astUserVal, astUserVal); strcpy(params->astPassVal, astPassVal); strcpy(params->humbugApikey, humbugApiVal); params->eventsSize = 0; for(i=0; i<EVENTS_SIZE; i++) { if(eventsResults[i] == 'X') { strcpy(params->events[params->eventsSize], eventsList[i]); params->eventsSize++; } } params->encrypted = (encVal == 'X') ? 1 : 0; strcpy(params->humbugKey, encKey); strcpy(params->log_file, HBG_LOG_FILE); saveHumbugConfig(); } break; } } newtPopWindow(); newtPopHelpLine(); newtFinished(); newtFormDestroy(hForm); free(params); return(EXIT_SUCCESS); }