25 struct builder_styled_widget;
37 friend class debug_layout_graph;
50 virtual SDL_Rect get_client_rect()
const;
55 virtual void layout_initialize(
const bool full_initialization)
override;
64 void reduce_width(
const unsigned maximum_width);
67 virtual void request_reduce_width(
const unsigned maximum_width)
override;
70 virtual void demand_reduce_width(
const unsigned maximum_width)
override;
79 void reduce_height(
const unsigned maximum_height);
82 virtual void request_reduce_height(
const unsigned maximum_height)
override;
85 virtual void demand_reduce_height(
const unsigned maximum_height)
override;
89 virtual point calculate_best_size()
const override;
93 virtual bool can_wrap()
const override;
96 virtual void place(
const point& origin,
const point&
size)
override;
101 virtual bool has_widget(
const widget&
widget)
const override;
104 virtual void set_origin(
const point& origin)
override;
107 virtual void set_visible_rectangle(
const SDL_Rect& rectangle)
override;
110 virtual void impl_draw_children(
surface& frame_buffer,
112 int y_offset)
override;
116 virtual void layout_children()
override;
120 child_populate_dirty_list(
window& caller,
121 const std::vector<widget*>&
call_stack)
override;
126 const bool must_be_active)
override;
130 const bool must_be_active)
const override;
133 widget* find(
const std::string&
id,
const bool must_be_active)
override;
136 const widget* find(
const std::string&
id,
137 const bool must_be_active)
const override;
140 virtual void set_active(
const bool active)
override;
143 bool disable_click_dismiss()
const override;
168 return grid_.begin();
177 return grid_.add_row(count);
182 grid_.set_rows(rows);
186 return grid_.get_rows();
191 grid_.set_cols(cols);
195 return grid_.get_cols();
200 grid_.set_rows_cols(rows, cols);
206 const unsigned flags,
207 const unsigned border_size)
209 grid_.set_child(widget, row, col, flags, border_size);
214 grid_.set_row_grow_factor(row, factor);
219 grid_.set_column_grow_factor(column, factor);
241 virtual point border_space()
const;
250 virtual void set_self_active(
const bool active) = 0;
252 void inject_linked_groups();
const grid & get_grid() const
void set_row_grow_factor(const unsigned row, const unsigned factor)
void set_column_grow_factor(const unsigned column, const unsigned factor)
void set_child(widget *widget, const unsigned row, const unsigned col, const unsigned flags, const unsigned border_size)
std::size_t size(const std::string &str)
Length in characters of a UTF-8 string.
grid grid_
The grid which holds the child objects.
unsigned int get_rows() const
The walker abstract base class.
Iterator for the child items.
unsigned add_row(const unsigned count=1)
unsigned int get_cols() const
void set_cols(const unsigned cols)
A generic container base class.
virtual iteration::walker_base * create_walker() override
See widget::create_walker.
void set_rows_cols(const unsigned rows, const unsigned cols)
map_location coordinate
Contains an x and y coordinate used for starting positions in maps.
base class of top level items, the only item which needs to store the final canvases to draw on...
static std::deque< std::string > call_stack
Contains the implementation details for lexical_cast and shouldn't be used directly.
void set_rows(const unsigned rows)