1 #ifndef SETTINGS_PANE_HPP
2 #define SETTINGS_PANE_HPP
3 #include <cppurses/painter/attribute.hpp>
4 #include <cppurses/painter/glyph_string.hpp>
5 #include <cppurses/widget/layouts/vertical.hpp>
6 #include <cppurses/widget/widgets/checkbox.hpp>
7 #include <cppurses/widget/widgets/fixed_height.hpp>
8 #include <cppurses/widget/widgets/labeled_cycle_box.hpp>
9 #include <cppurses/widget/widgets/push_button.hpp>
10 
11 struct Settings_pane : public cppurses::layout::Vertical {
12     Settings_pane();
13 
14     cppurses::Checkbox& show_moves_box{
15         this->make_child<cppurses::Checkbox>("Show Moves")};
16     cppurses::Checkbox& hide_log_box{
17         this->make_child<cppurses::Checkbox>("Hide Log")};
18 
19    private:
20     cppurses::Fixed_height& space_1_{
21         this->make_child<cppurses::Fixed_height>()};
22 
23    public:
24     cppurses::Labeled_cycle_box& black_ai{
25         this->make_child<cppurses::Labeled_cycle_box>("Black AI ")};
26     cppurses::Labeled_cycle_box& white_ai{
27         this->make_child<cppurses::Labeled_cycle_box>("White AI ")};
28     cppurses::Labeled_cycle_box& ruleset{
29         this->make_child<cppurses::Labeled_cycle_box>("Ruleset  ")};
30     cppurses::Push_button& reset_btn{
31         this->make_child<cppurses::Push_button>(cppurses::Glyph_string{
32             " Reset Game ", cppurses::Attribute::Underline})};
33     cppurses::Push_button& return_btn{
34         this->make_child<cppurses::Push_button>("Return to Board")};
35 };
36 #endif  // SETTINGS_PANE_HPP
37