From b0f046461b44a0c4002ea667a726403ff4a1a701 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Wed, 4 May 2022 10:58:48 +0300 Subject: Moved templated stuff into hpp files and added a blank main.cpp file --- src/ConsoleInterface/Command.cpp | 5 ++++- src/ConsoleInterface/Command.h | 1 + src/ConsoleInterface/Menu.cpp | 2 +- src/ConsoleInterface/Menu.h | 2 +- src/ConsoleInterface/Toolbox.cpp | 43 ------------------------------------ src/ConsoleInterface/Toolbox.h | 25 --------------------- src/ConsoleInterface/Toolbox.hpp | 47 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 54 insertions(+), 71 deletions(-) delete mode 100644 src/ConsoleInterface/Toolbox.cpp delete mode 100644 src/ConsoleInterface/Toolbox.h create mode 100644 src/ConsoleInterface/Toolbox.hpp (limited to 'src/ConsoleInterface') diff --git a/src/ConsoleInterface/Command.cpp b/src/ConsoleInterface/Command.cpp index da8915f..d3d058c 100644 --- a/src/ConsoleInterface/Command.cpp +++ b/src/ConsoleInterface/Command.cpp @@ -1,13 +1,16 @@ #include "Command.h" #include +Command::Command() : Command("", nullptr) {} + Command::Command(const char* nameInMenu, void (*exec)()) { strcpy(this->nameInMenu, nameInMenu); this->exec = exec; } void Command::run() const { - exec(); + if (exec != nullptr) + exec(); } const char* Command::get_nameInMenu() const { diff --git a/src/ConsoleInterface/Command.h b/src/ConsoleInterface/Command.h index fba011b..d00b277 100644 --- a/src/ConsoleInterface/Command.h +++ b/src/ConsoleInterface/Command.h @@ -6,6 +6,7 @@ class Command { void (*exec)(); public: + Command(); Command(const char* nameInMenu, void (*exec)()); void run() const; diff --git a/src/ConsoleInterface/Menu.cpp b/src/ConsoleInterface/Menu.cpp index 7bd7c5e..333c47a 100644 --- a/src/ConsoleInterface/Menu.cpp +++ b/src/ConsoleInterface/Menu.cpp @@ -1,5 +1,5 @@ #include "Menu.h" -#include "Toolbox.h" +#include "Toolbox.hpp" Menu::Menu(const Command* commands, unsigned commandCount) { menuOptions = List(commands, commandCount); diff --git a/src/ConsoleInterface/Menu.h b/src/ConsoleInterface/Menu.h index 0c0c915..f80636d 100644 --- a/src/ConsoleInterface/Menu.h +++ b/src/ConsoleInterface/Menu.h @@ -2,7 +2,7 @@ #define HEADER_CONSOLEINTERFACE_MENU #include "Command.h" -#include "../List/List.h" +#include "../List/List.hpp" class Menu { List menuOptions; diff --git a/src/ConsoleInterface/Toolbox.cpp b/src/ConsoleInterface/Toolbox.cpp deleted file mode 100644 index c42e0b2..0000000 --- a/src/ConsoleInterface/Toolbox.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include "Toolbox.h" -#include - -template -void read(T* storage) { - std::cin >> storage; -} - -template -void read(T& storage) { - std::cin >> storage; -} - -template -void print(const T* item) { - std::cout << item; -} - -template -void printLine(const T* item) { - std::cout << item << std::endl; -} - -template -void print(const T& item) { - std::cout << item; -} - -template -void printLine(const T& item) { - std::cout << item << std::endl; -} - -int orderedListIndex = 1; - -void printOrderedListElem(const char* message) { - std::cout << orderedListIndex << ". "; - printLine(message); -} - -void resetOrderedList(int starter) { - orderedListIndex = starter; -} diff --git a/src/ConsoleInterface/Toolbox.h b/src/ConsoleInterface/Toolbox.h deleted file mode 100644 index 8d13537..0000000 --- a/src/ConsoleInterface/Toolbox.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef HEADER_CONSOLEINTERFACE_TOOLBOX -#define HEADER_CONSOLEINTERFACE_TOOLBOX - -template -void read(T* storage); - -template -void read(T& storage); - -template -void print(const T* item); - -template -void printLine(const T* item); - -template -void print(const T& item); - -template -void printLine(const T& item); - -void printOrderedListElem(const char* message); -void resetOrderedList(int starter = 1); - -#endif diff --git a/src/ConsoleInterface/Toolbox.hpp b/src/ConsoleInterface/Toolbox.hpp new file mode 100644 index 0000000..1af42e2 --- /dev/null +++ b/src/ConsoleInterface/Toolbox.hpp @@ -0,0 +1,47 @@ +#ifndef HEADER_CONSOLEINTERFACE_TOOLBOX +#define HEADER_CONSOLEINTERFACE_TOOLBOX + +#include + +template +void read(T* storage) { + std::cin >> storage; +} + +template +void read(T& storage) { + std::cin >> storage; +} + +template +void print(const T* item) { + std::cout << item; +} + +template +void printLine(const T* item) { + std::cout << item << std::endl; +} + +template +void print(const T& item) { + std::cout << item; +} + +template +void printLine(const T& item) { + std::cout << item << std::endl; +} + +int orderedListIndex = 1; + +void printOrderedListElem(const char* message) { + std::cout << orderedListIndex << ". "; + printLine(message); +} + +void resetOrderedList(int starter = 1) { + orderedListIndex = starter; +} + +#endif -- cgit v1.3.1-23-gd82d