1 #include "options_box.hpp"
2 
3 #include <cppurses/painter/color.hpp>
4 #include <cppurses/painter/glyph.hpp>
5 #include <cppurses/painter/palettes.hpp>
6 #include <cppurses/system/system.hpp>
7 #include <cppurses/widget/widgets/text_display.hpp>
8 
9 using namespace cppurses;
10 
11 namespace demos {
12 namespace glyph_paint {
13 
Options_A()14 Options_A::Options_A() {
15     clone_btn.brush.set_background(Color::White);
16     clone_btn.brush.set_foreground(Color::Black);
17 
18     clear_btn.main_btn.brush.set_background(Color::White);
19     clear_btn.main_btn.brush.set_foreground(Color::Black);
20 
21     more_btn.brush.set_background(Color::Light_gray);
22     more_btn.brush.set_foreground(Color::Black);
23 }
24 
Options_B()25 Options_B::Options_B() {
26     space1.wallpaper = L'─';
27 
28     palette_label.set_alignment(Alignment::Center);
29     palette_box.add_option("Dawn Bringer").connect([] {
30         System::terminal.set_color_palette(Palettes::DawnBringer());
31     });
32     palette_box.add_option("Standard").connect([] {
33         System::terminal.set_color_palette(Palettes::Standard());
34     });
35 
36     back_btn.brush.set_background(Color::Light_gray);
37     back_btn.brush.set_foreground(Color::Black);
38 
39     palette_box.brush.set_background(Color::White);
40     palette_box.brush.set_foreground(Color::Black);
41 }
42 
Options_stack()43 Options_stack::Options_stack() {
44     this->set_active_page(0);
45     this->height_policy.fixed(6);
46 
47     options_a.more_btn.clicked.connect(
48         cppurses::slot::set_active_page(*this, 1));
49 
50     options_b.back_btn.clicked.connect(
51         cppurses::slot::set_active_page(*this, 0));
52 }
53 }  // namespace glyph_paint
54 }  // namespace demos
55