diff options
Autocommit at 29.05.2022 @ 07:58
1 files changed, 7 insertions, 141 deletions
| -rw-r--r-- | src/Generic/ConsoleInterface/Toolbox.cpp | 148 |
diff --git a/src/Generic/ConsoleInterface/Toolbox.cpp b/src/Generic/ConsoleInterface/Toolbox.cpp index ca83b3b..f8434a4 100644 --- a/src/Generic/ConsoleInterface/Toolbox.cpp +++ b/src/Generic/ConsoleInterface/Toolbox.cpp @@ -11,103 +11,8 @@ void clear() { std::cout << u8"\033[2J\033[1;1H"; } -/*! - * Sub boxes are like normal boxes, but indented with 4 spaces. - */ -void _printSubBoxSpacing() { - std::cout << " "; -} - -/* Title boxes */ - -/*! \param title C-style string, there are no size checks so it could wrap - * - * Prints the title, surrounded by "===". - */ -void titleBox(const char* title) { - std::cout << std::endl << "=== " << title << " ===" << std::endl; -} - -/*! \param title C-style string, there are no size checks so it could wrap - * - * Prints the title, surrounded by "---". - */ -void subTitleBox(const char* title) { - std::cout << std::endl << "--- " << title << " ---" << std::endl; -} - -/* Status boxes */ - -/*! \param message C-style string, there are no size checks so it could wrap - * - * Success boxes start with "<S>" and print the message. - * - * \remark Success/Warning/Error boxes start with "<C>" where C is an appropriate character. - */ -void successBox(const char* message) { - std::cout << "<S> " << message << std::endl; -} - -/*! - * \copydetails successBox() - * \sa _printSubBoxSpacing() - */ -void successSubBox(const char* message) { - _printSubBoxSpacing(); - successBox(message); -} - -/*! \param message C-style string, there are no size checks so it could wrap - * - * Warning boxes start with "<W>" and print the message. - * - * \remark Success/Warning/Error boxes start with "<C>" where C is an appropriate character. - */ -void warningBox(const char* message) { - std::cout << "<W> " << message << std::endl; -} - -/*! - * \copydetails warningBox() - * \sa _printSubBoxSpacing() - */ -void warningSubBox(const char* message) { - _printSubBoxSpacing(); - warningBox(message); -} - -/*! \param message C-style string, there are no size checks so it could wrap - * - * Error boxes start with "<E>" and print the message. - * - * \remark Success/Warning/Error boxes start with "<C>" where C is an appropriate character. - */ -void errorBox(const char* message) { - std::cout << "<E> " << message << std::endl; -} - -/*! - * \copydetails errorBox() - * \sa _printSubBoxSpacing() - */ -void errorSubBox(const char* message) { - _printSubBoxSpacing(); - errorBox(message); -} - /* Input line boxes */ -/*! \param label C-style string, there are no size checks so it could wrap - * - * Prints "(+)" and then the given label. - * It doesn't create spacing after label, so it should exist in the label itself. - * - * \remark Semi-internal means the function is defined in the header out of necessity (for templated functions) - */ -void _printInputBoxLabel(const char* label) { - std::cout << "(+) " << label; -} - void __inputLineBoxGetInput(char* output, unsigned maxWidth, bool ignore) { if (ignore) std::cin.ignore(); @@ -123,54 +28,10 @@ void __inputLineBoxGetInput(char* output, unsigned maxWidth, bool ignore) { * Prints "(+)" before the label. */ void inputLineBox(const char* label, char* output, unsigned maxWidth, bool ignore) { - _printInputBoxLabel(label); + print(label); __inputLineBoxGetInput(output, maxWidth, ignore); } -/*! - * \copydetails inputLineBox() - * \sa _printSubBoxSpacing() - */ -void inputLineSubBox(const char* label, char* output, unsigned maxWidth, bool ignore) { - _printSubBoxSpacing(); - _printInputBoxLabel(label); - __inputLineBoxGetInput(output, maxWidth, ignore); -} - -/*! \param ignore Whether or not to ignore the first new-line delimiter. - * true by default, should be set to false only when an inputLineBox/SubBox has been issued directly prior or when it's the very first issued box command. - * - * Prints a "Press enter to continue" message and waits for the user - */ -void pressEnterToContinue(bool ignore) { - char tmp; - inputLineBox("[Press enter to continue]", &tmp, 1, ignore); -} - -/* Ordered list */ - -int orderedListIndex = 1; - -/*! - * Prints the latests ordered list index, surrounded by square brackets, and increments the ordered list index. - * - * \remark There are no size checks, so list index could overflow. - * - * \remark Semi-internal means the function is defined in the header out of necessity (for templated functions) - */ - -void _printOrderedListBeginning() { - std::cout << "[" << orderedListIndex++ << "] "; -} - -/*! \param starter Sets the starting number by which ordered list will enumerate - * - * \remark Although starter can be a negative number, ordered list will always increment up the number. - */ -void resetOrderedList(int starter) { - orderedListIndex = starter; -} - /* Table */ void __printTableHeaderNumber(unsigned number) { @@ -195,6 +56,10 @@ void __printTableLine(unsigned columns) { std::cout << ":" << std::endl; } +void __printPadded(const String& str) { + +} + /*! \param startNumber The number by which column and row enumeration begins * \param columns How many columns the table should have * \param items C-style string, each cell is a single character from the string @@ -205,7 +70,8 @@ void __printTableLine(unsigned columns) { * Table is printed until a terminating zero is encountered. * The rows are "calculated" from the columns count and the items length. */ -void table(unsigned startNumber, unsigned columns, const char* items) { +void table(const List<String>& items) { + unsigned *paddings = new unsigned[items.get_count()]; __printTableColumnHeader(startNumber, columns); __printTableHeaderNumber(startNumber); |
