diff options
Autocommit at 06.05.2022 @ 11:56
4 files changed, 35 insertions, 28 deletions
| -rw-r--r-- | src/ConsoleInterface/Menu.cpp | 2 | ||||
| -rw-r--r-- | src/ConsoleInterface/Toolbox.cpp | 18 | ||||
| -rw-r--r-- | src/ConsoleInterface/Toolbox.hpp | 3 | ||||
| -rw-r--r-- | src/VenueConsoleUI.cpp | 40 |
diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp index caba7e8..0b27d48 100644 --- a/src/ConsoleInterface/Menu.cpp +++ b/src/ConsoleInterface/Menu.cpp @@ -77,7 +77,7 @@ void Menu::navigate() const { for (unsigned i = 0; i < menuOptions.get_count(); i++) printOrderedListElem(menuOptions[i].get_nameInMenu()); - _printAltInputBoxLabel("Execute No [0-"); + _printInputBoxLabel("Execute No [0-"); print(menuOptions.get_count()); print("]: "); read(buffer); diff --git a/src/ConsoleInterface/Toolbox.cpp b/src/ConsoleInterface/Toolbox.cpp index fc871ae..11ab374 100644 --- a/src/ConsoleInterface/Toolbox.cpp +++ b/src/ConsoleInterface/Toolbox.cpp @@ -74,20 +74,26 @@ void _printOrderedListBeginning() { std::cout << "[" << orderedListIndex++ << "] "; } -void _printInputBoxSubLabel(const char* label) { - std::cout << " (+) " << label; -} - void _printInputBoxLabel(const char* label) { std::cout << "(+) " << label; } -void inputLineBox(const char* label, char* output, unsigned maxWidth) { +void _printInputBoxSubLabel(const char* label) { + std::cout << " "; _printInputBoxLabel(label); +} + +void __inputLineBoxGetInput(char* output, unsigned maxWidth) { std::cin.ignore(); std::cin.getline(output, maxWidth); } -void inputLineSubBox(const char* label, char* output, unsigned maxWidth) { +void inputLineBox(const char* label, char* output, unsigned maxWidth) { + _printInputBoxLabel(label); + __inputLineBoxGetInput(output, maxWidth); +} +void inputLineSubBox(const char* label, char* output, unsigned maxWidth) { + _printInputBoxSubLabel(label); + __inputLineBoxGetInput(output, maxWidth); } diff --git a/src/ConsoleInterface/Toolbox.hpp b/src/ConsoleInterface/Toolbox.hpp index 2844682..ed5d6ac 100644 --- a/src/ConsoleInterface/Toolbox.hpp +++ b/src/ConsoleInterface/Toolbox.hpp @@ -17,10 +17,11 @@ void errorBox(const char* message); void table(unsigned startNumber, unsigned columns, const char* items); void inputLineBox(const char* label, char* output, unsigned maxWidth); +void inputLineSubBox(const char* label, char* output, unsigned maxWidth); void resetOrderedList(int starter = 1); void _printInputBoxLabel(const char* label); -void _printInputBoxSubLabel(const char* label); +void _printInputSubBoxLabel(const char* label); void _printOrderedListBeginning(); template <class T> diff --git a/src/VenueConsoleUI.cpp b/src/VenueConsoleUI.cpp index d0df342..9847b13 100644 --- a/src/VenueConsoleUI.cpp +++ b/src/VenueConsoleUI.cpp @@ -35,9 +35,9 @@ void handleStatusCode(StatusCode sc, Menu menu) { void command_freeSeats() { char name[MAX_LINE_WIDTH]; - inputLineBox("Enter event name: ", name, MAX_LINE_WIDTH); + inputLineSubBox("Enter event name: ", name, MAX_LINE_WIDTH); Date date; - inputBox("Enter event date: ", &date); + inputSubBox("Enter event date: ", &date); const Hall* hall = v->get_es().queryEventHall(name, date); if (hall == nullptr) { @@ -71,43 +71,43 @@ void command_freeSeats() { void command_reserveTicket() { char name[MAX_LINE_WIDTH]; - inputLineBox("Enter event name: ", name, MAX_LINE_WIDTH); + inputLineSubBox("Enter event name: ", name, MAX_LINE_WIDTH); Date date; - inputBox("Enter event date: ", &date); + inputSubBox("Enter event date: ", &date); Ticket tic; - inputBox("Enter row and seat: ", &tic); + inputSubBox("Enter row and seat: ", &tic); char password[PASSWORD_LEN]; - inputBox("Enter password [Max 8 characters]: ", &password); + inputSubBox("Enter password [Max 8 characters]: ", &password); char note[NOTE_LEN]; - inputBox("Enter note [Max 32 characters]: ", ¬e); + inputSubBox("Enter note [Max 32 characters]: ", ¬e); handleStatusCode(v->get_es().reserveTicket(name, date, password, note, tic), ticketManagementMenu); } void command_cancelReservation() { char name[MAX_LINE_WIDTH]; - inputLineBox("Enter event name: ", name, MAX_LINE_WIDTH); + inputLineSubBox("Enter event name: ", name, MAX_LINE_WIDTH); Date date; - inputBox("Enter event date: ", &date); + inputSubBox("Enter event date: ", &date); Ticket tic; - inputBox("Enter row and seat: ", &tic); + inputSubBox("Enter row and seat: ", &tic); handleStatusCode(v->get_es().cancelTicketReservation(name, date, tic), ticketManagementMenu); } void command_buyTicket() { bool reserved; - inputBox("Is ticket reserved? [0/1]: ", &reserved); + inputSubBox("Is ticket reserved? [0/1]: ", &reserved); char name[MAX_LINE_WIDTH]; - inputLineBox("Enter event name: ", name, MAX_LINE_WIDTH); + inputLineSubBox("Enter event name: ", name, MAX_LINE_WIDTH); Date date; - inputBox("Enter event date: ", &date); + inputSubBox("Enter event date: ", &date); Ticket tic; - inputBox("Enter row and seat: ", &tic); + inputSubBox("Enter row and seat: ", &tic); if (reserved) { char pass[PASSWORD_LEN]; - inputLineBox("Enter reservation password: ", pass, PASSWORD_LEN); + inputLineSubBox("Enter reservation password: ", pass, PASSWORD_LEN); handleStatusCode(v->get_es().buyTicket(name, date, tic, pass), ticketManagementMenu); } else @@ -122,25 +122,25 @@ void submenu_ticketManagement() { void command_createEvent() { unsigned hallIndex; - inputBox("Enter hall index: ", &hallIndex); + inputSubBox("Enter hall index: ", &hallIndex); if (!v->hallExists(hallIndex)) { eventManagementMenu.registerError("Invalid hall index!"); return; } char name[MAX_LINE_WIDTH]; - inputLineBox("Enter event name: ", name, MAX_LINE_WIDTH); + inputLineSubBox("Enter event name: ", name, MAX_LINE_WIDTH); Date date; - inputBox("Enter event date: ", &date); + inputSubBox("Enter event date: ", &date); handleStatusCode(v->get_es().createEvent(&v->getHall(hallIndex), name, date), eventManagementMenu); } void command_cancelEvent() { char name[MAX_LINE_WIDTH]; - inputLineBox("Enter event name: ", name, MAX_LINE_WIDTH); + inputLineSubBox("Enter event name: ", name, MAX_LINE_WIDTH); Date date; - inputBox("Enter event date: ", &date); + inputSubBox("Enter event date: ", &date); handleStatusCode(v->get_es().cancelEvent(name, date), eventManagementMenu); } |
