28 struct builder_scroll_label;
29 struct builder_scrollbar_panel;
30 struct builder_styled_widget;
43 friend class debug_layout_graph;
89 virtual void layout_initialize(
const bool full_initialization)
override;
92 virtual void request_reduce_height(
const unsigned maximum_height)
override;
95 virtual void request_reduce_width(
const unsigned maximum_width)
override;
102 virtual bool can_wrap()
const override;
106 virtual point calculate_best_size()
const override;
110 virtual void place(
const point& origin,
const point&
size)
override;
113 virtual void set_origin(
const point& origin)
override;
116 virtual void set_visible_rectangle(
const SDL_Rect& rectangle)
override;
121 virtual bool get_active()
const override;
124 virtual unsigned get_state()
const override;
133 widget* find(
const std::string&
id,
const bool must_be_active)
override;
136 const widget* find(
const std::string&
id,
const bool must_be_active)
const override;
139 bool disable_click_dismiss()
const override;
153 return vertical_scrollbar_mode_;
161 return horizontal_scrollbar_mode_;
166 return content_grid_.get();
171 return content_grid_.get();
176 return content_visible_area_;
184 bool vertical_scrollbar_at_end();
190 unsigned get_vertical_scrollbar_item_position()
const;
197 void set_vertical_scrollbar_item_position(
const unsigned position);
203 unsigned get_horizontal_scrollbar_item_position()
const;
210 void set_horizontal_scrollbar_item_position(
const unsigned position);
249 void show_content_rect(
const SDL_Rect&
rect);
272 void set_scrollbar_button_status();
293 bool content_resize_request(
const bool force_sizing =
false);
332 bool content_resize_request(
const int width_modification,
333 const int height_modification,
334 const int width_modification_pos = -1,
335 const int height_modification_pos = -1);
343 bool content_resize_width(
const int width_modification,
const int width_modification_pos);
350 bool content_resize_height(
const int height_modification,
const int width_modification_pos);
365 virtual void handle_key_home(SDL_Keymod modifier,
bool& handled);
377 virtual void handle_key_end(SDL_Keymod modifier,
bool& handled);
389 virtual void handle_key_page_up(SDL_Keymod modifier,
bool& handled);
401 virtual void handle_key_page_down(SDL_Keymod modifier,
bool& handled);
413 virtual void handle_key_up_arrow(SDL_Keymod modifier,
bool& handled);
425 virtual void handle_key_down_arrow(SDL_Keymod modifier,
bool& handled);
437 virtual void handle_key_left_arrow(SDL_Keymod modifier,
bool& handled);
449 virtual void handle_key_right_arrow(SDL_Keymod modifier,
bool& handled);
498 void finalize_setup();
510 virtual void layout_children()
override;
513 virtual void impl_draw_children()
override;
524 virtual void set_content_size(
const point& origin,
const point&
size);
527 void scrollbar_moved();
531 static const std::string&
type();
535 virtual const std::string& get_control_type()
const override;
539 void signal_handler_sdl_key_down(
540 const event::ui_event event,
bool& handled,
const SDL_Keycode key, SDL_Keymod modifier);
542 void signal_handler_sdl_wheel_up(
const event::ui_event event,
bool& handled);
543 void signal_handler_sdl_wheel_down(
const event::ui_event event,
bool& handled);
544 void signal_handler_sdl_wheel_left(
const event::ui_event event,
bool& handled);
545 void signal_handler_sdl_wheel_right(
const event::ui_event event,
bool& handled);
546 void signal_handler_sdl_touch_motion(
const event::ui_event event,
bool& handled,
547 const point& position,
const point& distance);
552 return horizontal_scrollbar_;
557 return vertical_scrollbar_;
562 return horizontal_scrollbar_grid_;
567 return vertical_scrollbar_grid_;
std::unique_ptr< class walker_base > walker_ptr
ui_event
The event sent to the dispatcher.
std::size_t size(const std::string &str)
Length in characters of a UTF-8 string.
A tree view is a control that holds several items of the same or different types. ...
An abstract description of a rectangle with integer coordinates.
A generic container base class.
An empty widget to either fill in a widget since no empty items are allowed or to reserve a fixed spa...
map_location coordinate
Contains an x and y coordinate used for starting positions in maps.
Contains the implementation details for lexical_cast and shouldn't be used directly.