todo-cli
Loading...
Searching...
No Matches
controller.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdlib>
4#include <memory>
5
6#include "actions.h"
7#include "model.h"
8#include "view.h"
9
10namespace todo {
12private:
13 Model model_;
14 std::unique_ptr<View> view_{nullptr};
15
16 std::stack<std::unique_ptr<Action>> undo_stack_;
17 std::stack<std::unique_ptr<Action>> redo_stack_;
18
19public:
22 Controller(int argc, char **argv);
23
25 void run();
26
27private:
30 void handle_add(int ch);
31
33 void handle_remove();
34
36 void handle_display();
37
39 void handle_clear();
40
42 void handle_desc_change();
43
45 void handle_status_change();
46
48 void handle_prio_change();
49
51 void handle_undo();
52
54 void handle_redo();
55
59 std::vector<u64> parse_path(const UserInput &user_input);
60};
61} // namespace todo
void run()
Starting point for program.
Definition controller.cpp:42
Controller(int argc, char **argv)
Default constructor.
Definition controller.cpp:20
Definition model.h:11
Definition actions.cpp:3
Definition user_input.h:6