1 #ifndef DEMOS_GLYPH_PAINT_SIDE_PANE_HPP 2 #define DEMOS_GLYPH_PAINT_SIDE_PANE_HPP 3 #include "attribute_box.hpp" 4 #include "options_box.hpp" 5 #include "populated_glyph_stack.hpp" 6 7 #include <cppurses/painter/attribute.hpp> 8 #include <cppurses/widget/layouts/vertical.hpp> 9 #include <cppurses/widget/widgets/color_select.hpp> 10 #include <cppurses/widget/widgets/cycle_stack.hpp> 11 #include <cppurses/widget/widgets/fixed_height.hpp> 12 #include <cppurses/widget/widgets/status_bar.hpp> 13 14 namespace demos { 15 namespace glyph_paint { 16 17 struct Side_pane : cppurses::layout::Vertical { 18 Side_pane(); 19 20 Populated_glyph_stack& glyph_select{ 21 this->make_child<Populated_glyph_stack>()}; 22 cppurses::Fixed_height& space1{this->make_child<cppurses::Fixed_height>(1)}; 23 24 cppurses::Cycle_stack& color_select_stack{ 25 this->make_child<cppurses::Cycle_stack>()}; 26 cppurses::Color_select& color_select_foreground{ 27 color_select_stack.make_page<cppurses::Color_select>( 28 cppurses::Glyph_string{"Foreground", cppurses::Attribute::Bold})}; 29 cppurses::Color_select& color_select_background{ 30 color_select_stack.make_page<cppurses::Color_select>( 31 cppurses::Glyph_string{"Background", cppurses::Attribute::Bold})}; 32 33 Attribute_box& attribute_box{this->make_child<Attribute_box>()}; 34 35 cppurses::Status_bar& show_glyph{ 36 this->make_child<cppurses::Status_bar>("x")}; 37 38 cppurses::Fixed_height& space2{this->make_child<cppurses::Fixed_height>(1)}; 39 Options_stack& options_box{this->make_child<Options_stack>()}; 40 }; 41 42 } // namespace glyph_paint 43 } // namespace demos 44 #endif // DEMOS_GLYPH_PAINT_SIDE_PANE_HPP 45