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()14Options_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()25Options_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()43Options_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