void windowing02( ) { WIN win; int ch; init_pair( 5, COLOR_CYAN, COLOR_BLACK ); // erase the text on the window erase( ); move( 0, 0 ); // Assign border characters and starting width/height/position init_win_params( &win ); print_win_params( &win ); // Draw bold backgrounded text at the top of the screen attron( COLOR_PAIR(5) | A_BOLD ); printw( "Press X to exit" ); refresh( ); attroff( COLOR_PAIR(5) | A_BOLD ); attrset( A_NORMAL ); // Draw the box onto the screen create_box( &win ); // While the input character isn't an x, perform some actions while( (ch = getch()) != 'x' ) { // Use the keyboard keys to "move" the box (destroy and recreate it) switch ( ch ) { case KEY_LEFT: destroy_box( &win ); win.startx--; create_box( &win ); break; case KEY_RIGHT: destroy_box( &win ); win.startx++; create_box( &win ); break; case KEY_UP: destroy_box( &win ); win.starty--; create_box( &win ); break; case KEY_DOWN: destroy_box( &win ); win.starty++; create_box( &win ); break; default: break; } } return; }
int init_gui() { WIN win; int ch; int i; char ** files; initscr(); /* Start curses mode */ start_color(); /* Start the color functionality */ cbreak(); /* Line buffering disabled, Pass on * everty thing to me */ keypad(stdscr, TRUE); /* I need that nifty F1 */ noecho(); init_pair(1, COLOR_CYAN, COLOR_BLACK); init_pair(2, COLOR_GREEN, COLOR_BLACK); /* Initialize the window parameters */ init_win_params(&win); print_win_params(&win); attron(COLOR_PAIR(1)); printw("F2: Ouvrir un fichier"); printw("\t F3: Lancer l'émulation"); printw("\t F5: Quitter"); attron(A_BOLD); attron(COLOR_PAIR(2)); char chaine[]="Welcome to ProcSI emulator"; mvprintw((LINES/2) -3,(COLS-strlen(chaine))/2,chaine); attroff(A_BOLD); refresh(); attroff(COLOR_PAIR(1)); create_box(&win, TRUE); draw_menu(choices, execute_main_menu, "", 3); while((ch = getch()) != KEY_F(5)) { switch(ch) { case KEY_F(5): mvprintw(LINES-2, 0, "Exiting..."); endwin(); /* End curses mode */ exit(0); case KEY_F(2): files = list_file("", &i); draw_menu(files, execute_file_menu, "", i); } } endwin(); /* End curses mode */ return 0; }
int main( int argc, char *argv[] ) { WIN win; int ch; initscr(); // start CURSES mode start_color(); // start color functionality cbreak(); // disable line buffering keypad( stdscr, TRUE ); // enable Fx notify noecho(); init_pair( 1, COLOR_CYAN, COLOR_BLACK ); init_win_params( &win ); // initialize window parameter print_win_params( &win ); attron( COLOR_PAIR( 1 ) ); printw( "Press F12 to exit" ); refresh(); attroff( COLOR_PAIR( 1 ) ); create_box( &win, TRUE ); while( ( ch = getch() ) != KEY_F( 12 ) ) { switch( ch ) { case KEY_LEFT: create_box( &win, FALSE ); --win.startx; create_box( &win, TRUE ); break; case KEY_RIGHT: create_box( &win, FALSE ); ++win.startx; create_box( &win, TRUE ); break; case KEY_UP: create_box( &win, FALSE ); --win.starty; create_box( &win, TRUE ); break; case KEY_DOWN: create_box( &win, FALSE ); ++win.starty; create_box( &win, TRUE ); break; } } endwin(); // end CURSES mode return 0; }
int main(int argc, char *argv[]) { WIN win; int ch; initscr(); /* Start curses mode */ start_color(); /* Start the color functionality */ cbreak(); /* Line buffering disabled, Pass on * everty thing to me */ keypad(stdscr, TRUE); /* I need that nifty F1 */ noecho(); init_pair(1, COLOR_CYAN, COLOR_BLACK); /* Initialize the window parameters */ init_win_params(&win); print_win_params(&win); attron(COLOR_PAIR(1)); printw("Press F1 to exit"); refresh(); attroff(COLOR_PAIR(1)); create_box(&win, TRUE); while((ch = getch()) != KEY_F(1)) { switch(ch) { case KEY_LEFT: create_box(&win, FALSE); --win.startx; create_box(&win, TRUE); break; case KEY_RIGHT: create_box(&win, FALSE); ++win.startx; create_box(&win, TRUE); break; case KEY_UP: create_box(&win, FALSE); --win.starty; create_box(&win, TRUE); break; case KEY_DOWN: create_box(&win, FALSE); ++win.starty; create_box(&win, TRUE); break; } } endwin(); /* End curses mode */ return 0; }
int main(int argc, char const *argv[]) { WIN win; int ch; initscr(); start_color(); cbreak(); keypad(stdscr, TRUE); noecho(); init_pair(1, COLOR_CYAN, COLOR_BLACK); init_win_params(&win); print_win_params(&win); attron(COLOR_PAIR(1)); printw("Press F1 to exit"); refresh(); attroff(COLOR_PAIR(1)); create_box(&win, TRUE); while ((ch = getch()) != KEY_F(1)) { switch (ch) { case KEY_LEFT: create_box(&win, FALSE); --win.startx; create_box(&win, TRUE); break; case KEY_RIGHT: create_box(&win, FALSE); ++win.startx; create_box(&win, TRUE); break; case KEY_UP: create_box(&win, FALSE); --win.starty; create_box(&win, TRUE); break; case KEY_DOWN: create_box(&win, FALSE); ++win.starty; create_box(&win, TRUE); break; } } endwin(); return 0; }
void printWin(int arr[HIGHT][WIDTH]) { init_pair(1, COLOR_RED, COLOR_BLACK); init_pair(2, COLOR_GREEN, COLOR_BLACK); init_pair(3, COLOR_YELLOW, COLOR_BLACK); init_pair(4, COLOR_BLUE, COLOR_BLACK); init_pair(5, COLOR_MAGENTA, COLOR_BLACK); init_pair(6, COLOR_CYAN, COLOR_BLACK); init_pair(7, COLOR_WHITE, COLOR_BLACK); init_pair(8, COLOR_WHITE, COLOR_YELLOW); WIN win[HIGHT][WIDTH]; int i, j; for(i = 0; i < HIGHT; i++) { for(j = 0; j < WIDTH; j++) { int offset; WIN *thewin = &win[i][j]; init_win_params(&win[i][j], j-3, i-3); print_win_params(&win[i][j]); attron(COLOR_PAIR(7)); create_box(&win[i][j], TRUE); attroff(COLOR_PAIR(7)); mvprintw(thewin->starty + WINY/2 , thewin->startx + WINX/2-4,"%s", " "); if(arr[i][j] == 0){ attron(COLOR_PAIR(1)); offset = 0; } else { attron(COLOR_PAIR((int)log2((double)arr[i][j])%7 + 1)); offset = (int)(log10((double)arr[i][j])/2); } mvprintw(thewin->starty + WINY/2 , thewin->startx + WINX/2-offset,"%d", arr[i][j]); if(arr[i][j] == 0){ attroff(COLOR_PAIR(1)); } else { attroff(COLOR_PAIR((int)log2((double)arr[i][j])%7 + 1)); } mvprintw(10,10,"%s%d","Your Score: ", SCORE); move(1000,10000); } } refresh(); }
int main(int argc, char *argv[]) { //initialize global variable index1=0; // index of movie list index2=0; // index of smi list index_inside_movie=TRUE; // initialize varables int ch; WIN win; WIN win2; WINDOW *popup_win; // init ncurses window initscr(); cbreak(); //raw(); keypad(stdscr, TRUE); noecho(); curs_set(0); if(has_colors() == FALSE) { endwin(); printf("Your terminal does not support color\n"); exit(1); } start_color(); init_pair(1, COLOR_BLACK, COLOR_WHITE); init_pair(2, COLOR_BLACK, COLOR_YELLOW); // print headline int start_line_number = print_headline(); // load local files. loadFiles("."); // sorting std::sort(vMovieFiles.begin(), vMovieFiles.end(), sortOp); std::sort(vSmiFiles.begin(), vSmiFiles.end(), sortOp); // listFiles return 0 when no error if(listFiles() == 0) { init_win_params(&win, start_line_number+2, 0, 0, vMovieFiles.size() + 1); init_win_params(&win2, start_line_number+3+vMovieFiles.size()+3, 0, 0, vSmiFiles.size() + 1); create_box(&win, TRUE,1); create_box2(&win2, TRUE,1); while( (ch = getch()) != 'q') { switch(ch) { case 'j': case KEY_DOWN: { create_box(&win, FALSE,1); create_box(&win2, FALSE,1); if(index_inside_movie == TRUE) { if(index1 == vMovieFiles.size()-1) { index1 = 0; } else { index1++; } } else { if(index2 == vSmiFiles.size()-1) { index2 =0; } else { index2++; } } create_box(&win, TRUE,1); create_box2(&win2, TRUE,1); break; } case 'k': case KEY_UP: { create_box(&win, FALSE,1); create_box(&win2, FALSE,1); if(index_inside_movie == TRUE) { if(index1 == 0) { index1 = vMovieFiles.size()-1; } else { index1--; } } else { if(index2 == 0) { index2 = vSmiFiles.size()-1; } else { index2--; } } create_box(&win, TRUE,1); create_box2(&win2, TRUE,1); break; } case '\t': case KEY_BTAB: { index_inside_movie = !index_inside_movie; create_box(&win, TRUE,1); create_box2(&win2, TRUE,1); break; } case 'd': { std::string popup_msg = "delete?(d/esc)"; popup_win = create_win(3, popup_msg.length()+3, start_line_number+5,(int)COLS/2-popup_msg.length(),popup_msg); wrefresh(popup_win); int ch2; while( (ch2=getch()) != 'e') { switch(ch2) { case 'd': { if(index_inside_movie) { std::vector<std::string>::iterator iter1=vMovieFiles.begin(); if(vMovieFiles.size()!=1){ if(index1 == vMovieFiles.size()-1){ vMovieFiles.erase(iter1 + index1); index1--; } else vMovieFiles.erase(iter1 + index1); } start_line_number = print_headline(); init_win_params(&win, start_line_number+2, 0, 0, vMovieFiles.size() + 1); init_win_params(&win2, start_line_number+3+vMovieFiles.size()+3, 0, 0, vSmiFiles.size() + 1); } else { std::vector<std::string>::iterator iter2=vSmiFiles.begin(); if(vSmiFiles.size()!=1){ if(index2 == vSmiFiles.size()-1){ vSmiFiles.erase(iter2 + index2); index2--; } else vSmiFiles.erase(iter2 + index2); } start_line_number = print_headline(); init_win_params(&win, start_line_number+2, 0, 0, vMovieFiles.size() + 1); init_win_params(&win2, start_line_number+3+vMovieFiles.size()+3, 0, 0, vSmiFiles.size() + 1); } break; } case 'e': { delwin(popup_win); break; } } // switch if(ch2 == 'd') break; } //while clear(); int start_line_number = print_headline(); create_box(&win, TRUE,1); create_box2(&win2, TRUE,1); break; } // case d case ' ': //case space for selection to move { create_box(&win, TRUE,2); create_box2(&win2, TRUE,2); wrefresh(stdscr); std::string popup_msg = "down/up/esc?(j/k/e)"; popup_win = create_win(3, popup_msg.length()+3, start_line_number+5,(int)COLS/2-popup_msg.length()/2,popup_msg); wrefresh(popup_win); int ch3; while( (ch3=getch()) != 'e') { switch(ch3) { case 'j': case KEY_DOWN: { swapVector(true); break; } case 'k': case KEY_UP: { swapVector(false); break; } case 'e': { delwin(popup_win); break; } } // end of switch if(ch3 == 'j' || ch3 == 'k' || ch3 == KEY_DOWN || ch3 == KEY_UP) break; } // while clear(); int start_line_number = print_headline(); create_box(&win, TRUE,1); create_box2(&win2, TRUE,1); break; //end of case space } // case space case 'y': { // if counts are mismatched if(vMovieFiles.size() != vSmiFiles.size()) { std::string popup_msg = "Mismatch Error! (e)"; popup_win = create_win(3, popup_msg.length()+3, start_line_number+5,(int)COLS/2-popup_msg.length()/2,popup_msg); wrefresh(popup_win); int ch5; while ( (ch5=getch()) != 'e') { switch(ch5) { case 'e': { delwin(popup_win); break; } } if(ch5 == 'e') break; } clear(); int start_line_number = print_headline(); create_box(&win, TRUE,1); create_box2(&win2, TRUE,1); break; } // end of if statement = counts are mismatched std::string popup_msg = "confirm?(m)ovies (s)ubtitle(m/s/e)"; popup_win = create_win(3, popup_msg.length()+3, start_line_number+5,(int)COLS/2-popup_msg.length()/2,popup_msg); wrefresh(popup_win); int ch4; while( (ch4=getch()) != 'e') { switch(ch4) { case 'm': { int err = renameSmiFiles(); std::cout << "err: " << err << std::endl; break; } case 's': { int err = renameAviFiles(); std::cout << "err: " << err << std::endl; break; } case 'e': { delwin(popup_win); break; } } // end of switch if(ch4 == 'm' || ch4 == 's') break; } // while // rename it then files reloading // load local files. loadFiles("."); // sorting std::sort(vMovieFiles.begin(), vMovieFiles.end(), sortOp); std::sort(vSmiFiles.begin(), vSmiFiles.end(), sortOp); clear(); init_win_params(&win, start_line_number+2, 0, 0, vMovieFiles.size() + 1); init_win_params(&win2, start_line_number+3+vMovieFiles.size()+3, 0, 0, vSmiFiles.size() + 1); int start_line_number = print_headline(); create_box(&win, TRUE,1); create_box2(&win2, TRUE,1); break; // end of case y } // case y } // switch } // while } else { endwin(); std::cout << "You don't have No relative files... Bye..." << std::endl; return 1; } // delete ncurses window endwin(); return 0; } //end of main