30 struct builder_multi_page;
125 void remove_page(
const unsigned page,
unsigned count = 1);
139 void select_page(
const unsigned page,
const bool select =
true);
175 virtual unsigned get_state()
const override;
182 assert(!page_builders.empty());
192 void finalize(std::unique_ptr<generator_base>
generator,
const std::vector<widget_item>& page_data);
210 static const std::string&
type();
245 virtual std::unique_ptr<widget>
build()
const override;
A config object defines a single node in a WML file, with access to child nodes.
A generic container base class.
Abstract base class for the generator.
Basic template class to generate new items.
const grid & page_grid(const unsigned page) const
Returns the grid for the page.
virtual unsigned get_state() const override
See styled_widget::get_state.
generator_base * generator_
Contains a pointer to the generator.
void remove_page(const unsigned page, unsigned count=1)
Removes a page in the multi page.
grid & add_page(const widget_item &item)
Adds single page to the grid.
builder_grid_map page_builders_
Contains the builder for the new items.
friend class debug_layout_graph
virtual const std::string & get_control_type() const override
Inherited from styled_widget, implemented by REGISTER_WIDGET.
virtual bool get_active() const override
See styled_widget::get_active.
unsigned get_page_count() const
Returns the number of pages.
int get_selected_page() const
Returns the selected page.
static const std::string & type()
Static type getter that does not rely on the widget being constructed.
void set_page_builders(const builder_grid_map &page_builders)
multi_page(const implementation::builder_multi_page &builder)
virtual bool impl_draw_background() override
See widget::impl_draw_background.
virtual void set_self_active(const bool active) override
See container_base::set_self_active.
void finalize(std::unique_ptr< generator_base > generator, const std::vector< widget_item > &page_data)
Finishes the building initialization of the widget.
void select_page(const unsigned page, const bool select=true)
Selects a page.
void clear()
Removes all pages in the multi page, clearing it.
std::shared_ptr< builder_grid > builder_grid_ptr
std::map< std::string, widget_item > widget_data
std::map< std::string, t_string > widget_item
std::map< std::string, builder_grid_const_ptr > builder_grid_map
Contains the implementation details for lexical_cast and shouldn't be used directly.
virtual std::unique_ptr< widget > build() const override
builder_multi_page(const config &cfg)
builder_grid_map builders
std::vector< widget_item > data
Multi page data.
resolution(const config &cfg)
multi_page_definition(const config &cfg)