From cca97e4a0c6d3fedce1682d9af4e2a94cc585776 Mon Sep 17 00:00:00 2001 From: Eduard Dlabal Date: Wed, 2 Apr 2025 21:45:33 +0200 Subject: [PATCH] some changes --- .vscode/settings.json | 4 ++- include/tui.h | 2 +- output/main | Bin 21576 -> 22696 bytes src/main.c | 1 - src/tui.c | 72 ++++++++++++++++++++++++++++++++++++------ 5 files changed, 67 insertions(+), 12 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 5ffbbf2..14f9ba3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,7 @@ { "files.associations": { - "users.h": "c" + "users.h": "c", + "ncurses.h": "c", + "stdlib.h": "c" } } \ No newline at end of file diff --git a/include/tui.h b/include/tui.h index 8d1d04e..2f2473f 100644 --- a/include/tui.h +++ b/include/tui.h @@ -8,6 +8,6 @@ #define MIN_X_TERMINAL_SIZE 80 #define MIN_Y_TERMINAL_SIZE 30 -void uartDialog(int terminal_x, int terminal_y); +char * uartDialog(int terminal_x, int terminal_y); #endif \ No newline at end of file diff --git a/output/main b/output/main index daa5f499d6ca4424113bd6a2803170fc43eba5ee..6666d1a170d88f5db55bd710c4b3d351494faf1c 100755 GIT binary patch literal 22696 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 wp7^f=OZ|lV56}N}xhV7 #include -void uartDialog(int terminal_x, int terminal_y) +char *uartDialog(int terminal_x, int terminal_y) { char *prompt = "Please enter UART device address for RFID reader (probably /dev/ttyUSB0): "; char *header = "Enter UART Address"; + char input[51] = {"\0"}; int win_height = 15; int win_width = 80; @@ -15,6 +16,7 @@ void uartDialog(int terminal_x, int terminal_y) start_color(); init_pair(1, COLOR_BLACK, COLOR_WHITE); + init_pair(2, COLOR_WHITE, COLOR_RED); WINDOW *uartwin = newwin(win_height, win_width, start_y, start_x); @@ -27,12 +29,64 @@ void uartDialog(int terminal_x, int terminal_y) wattroff(uartwin, COLOR_PAIR(1)); wrefresh(uartwin); - getch(); + // menu... + int choice; + int highlight = 0; - wclear(uartwin); - wrefresh(uartwin); - touchwin(stdscr); - refresh(); - delwin(uartwin); - refresh(); -} \ No newline at end of file + keypad(uartwin, TRUE); + while (1) + { + int text_x = (win_width - 52) / 2; + if (highlight == 0) + { + wattron(uartwin, COLOR_PAIR(2)); + mvwprintw(uartwin, 5, text_x, "[__________________________________________________]"); + wattroff(uartwin, COLOR_PAIR(2)); + } + mvwprintw(uartwin, 5, text_x, "[%50s]", input); + + int button_x = (win_width - 7) / 2; + if (highlight == 1) + { + wattron(uartwin, COLOR_PAIR(2)); + mvwprintw(uartwin, 7, button_x, ""); + wattroff(uartwin, COLOR_PAIR(2)); + } + mvwprintw(uartwin, 7, button_x, ""); + + wrefresh(uartwin); + + choice = wgetch(uartwin); + if (choice == '\t') + { + highlight=!highlight; + } + + if (highlight == 0) + { + wattron(uartwin, COLOR_PAIR(2)); + mvwprintw(uartwin, 5, (win_width - 52) / 2, "[__________________________________________________]"); + echo(); + wmove(uartwin, 5, ((win_width - 52) / 2) + 1); + curs_set(1); + flushinp(); + wgetnstr(uartwin, input, 50); + curs_set(0); + wattroff(uartwin, COLOR_PAIR(2)); + noecho(); + } + else if (highlight == 1) + { + if (choice == '\n') + { + wclear(uartwin); + wrefresh(uartwin); + touchwin(stdscr); + refresh(); + delwin(uartwin); + refresh(); + return input; + } + } + } +}