58 virtual std::unique_ptr<widget>
build()
const = 0;
115 static_assert(std::is_base_of_v<widget, T>,
"Type is not a widget type");
140 virtual std::unique_ptr<widget>
build()
const override;
158 , description_(cfg[
"description"])
264 std::unique_ptr<window>
build(
const std::string&
type);
Key Type Default Description window_width unsigned 0 Width of the application window.
std::shared_ptr< builder_widget > builder_widget_ptr
typed_formula< unsigned > y
unsigned horizontal_placement
std::shared_ptr< const builder_widget > builder_widget_const_ptr
std::unique_ptr< widget > build_single_widget_instance_helper(const std::string &type, const config &cfg)
Implementation detail for build_single_widget_instance.
typed_formula< unsigned > x
std::vector< linked_group_definition > linked_groups
typed_formula< unsigned > maximum_height
std::vector< unsigned > row_grow_factor
The grow factor for the rows / columns.
void read(config &cfg, std::istream &in, abstract_validator *validator)
std::vector< unsigned > col_grow_factor
builder_window(const config &cfg)
std::vector< unsigned > flags
The flags per grid cell.
unsigned vertical_placement
std::unique_ptr< T > build_single_widget_instance(const config &cfg={})
Builds a single widget instance of the given type with the specified attributes.
std::shared_ptr< const builder_grid > builder_grid_const_ptr
std::map< std::string, builder_grid_const_ptr > builder_grid_map
std::shared_ptr< builder_grid > builder_grid_ptr
wfl::function_symbol_table functions
typed_formula< bool > reevaluate_best_size
std::vector< builder_widget_ptr > widgets
The widgets per grid cell.
A config object defines a single node in a WML file, with access to child nodes.
std::vector< window_resolution > resolutions
Resolution options for this window instance.
std::vector< unsigned > border_size
The border size per grid cell.
A simple wrapper class for optional reference types.
typed_formula< unsigned > maximum_width
typed_formula< unsigned > height
typed_formula< unsigned > width
builder_widget_ptr create_widget_builder(const config &cfg)
Create a widget builder.