#include <tree_view.hpp>
Public Types | |
typedef implementation::tree_node | node_definition |
Public Types inherited from gui2::scrollbar_container | |
enum | scrollbar_mode { ALWAYS_VISIBLE , ALWAYS_INVISIBLE , AUTO_VISIBLE , AUTO_VISIBLE_FIRST_RUN } |
The way to handle the showing or hiding of the scrollbar. More... | |
Public Types inherited from gui2::widget | |
enum class | visibility { visible , hidden , invisible } |
Visibility settings done by the user. More... | |
enum class | redraw_action { full , partly , none } |
Visibility set by the engine. More... | |
enum class | debug_border { none , outline , fill } |
Public Types inherited from gui2::event::dispatcher | |
enum | event_queue_type { pre = 1 , child = 2 , post = 4 } |
enum | queue_position { front_pre_child , back_pre_child , front_child , back_child , front_post_child , back_post_child } |
The position where to add a new callback in the signal handler. More... | |
enum class | mouse_behavior { all , hit , none } |
The behavior of the mouse events. More... | |
Public Member Functions | |
tree_view (const implementation::builder_tree_view &builder) | |
~tree_view () | |
const tree_view_node & | get_root_node () const |
tree_view_node & | get_root_node () |
tree_view_node & | add_node (const std::string &id, const widget_data &data, const int index=-1) |
std::pair< std::shared_ptr< tree_view_node >, int > | remove_node (tree_view_node *node) |
Removes the given node as a child of its parent node. More... | |
void | clear () |
virtual void | set_self_active (const bool active) override |
See container_base::set_self_active. More... | |
bool | empty () const |
virtual void | layout_children () override |
See widget::layout_children. More... | |
void | set_indentation_step_size (const unsigned indentation_step_size) |
unsigned | get_indentation_step_size () const |
tree_view_node * | selected_item () |
const tree_view_node * | selected_item () const |
const std::vector< node_definition > & | get_node_definitions () const |
utils::optional< decltype(node_definitions_)::const_iterator > | get_node_definition (const std::string &id) const |
Optionally returns the node definition with the given id, or nullopt if not found. More... | |
void | finalize_setup () |
The builder needs to call us so we do our setup. More... | |
Public Member Functions inherited from gui2::scrollbar_container | |
scrollbar_container (const implementation::builder_styled_widget &builder, const std::string &control_type) | |
virtual | ~scrollbar_container () |
virtual void | layout_initialize (const bool full_initialization) override |
See widget::layout_initialize. More... | |
virtual void | request_reduce_height (const unsigned maximum_height) override |
See widget::request_reduce_height. More... | |
virtual void | request_reduce_width (const unsigned maximum_width) override |
See widget::request_reduce_width. More... | |
virtual bool | can_wrap () const override |
See widget::can_wrap. More... | |
virtual void | place (const point &origin, const point &size) override |
See widget::place. More... | |
virtual void | set_origin (const point &origin) override |
See widget::set_origin. More... | |
virtual void | set_visible_rectangle (const SDL_Rect &rectangle) override |
See widget::set_visible_rectangle. More... | |
virtual bool | get_active () const override |
See styled_widget::get_active. More... | |
virtual unsigned | get_state () const override |
See styled_widget::get_state. More... | |
virtual widget * | find_at (const point &coordinate, const bool must_be_active) override |
See widget::find_at. More... | |
virtual const widget * | find_at (const point &coordinate, const bool must_be_active) const override |
See widget::find_at. More... | |
widget * | find (const std::string &id, const bool must_be_active) override |
See widget::find. More... | |
const widget * | find (const std::string &id, const bool must_be_active) const override |
See widget::find. More... | |
bool | disable_click_dismiss () const override |
See widget::disable_click_dismiss. More... | |
virtual iteration::walker_ptr | create_walker () override |
See widget::create_walker. More... | |
void | set_vertical_scrollbar_mode (const scrollbar_mode scrollbar_mode) |
scrollbar_mode | get_vertical_scrollbar_mode () const |
void | set_horizontal_scrollbar_mode (const scrollbar_mode scrollbar_mode) |
scrollbar_mode | get_horizontal_scrollbar_mode () const |
grid * | content_grid () |
const grid * | content_grid () const |
const SDL_Rect & | content_visible_area () const |
bool | vertical_scrollbar_at_end () |
unsigned | get_vertical_scrollbar_item_position () const |
Returns current position of the vertical scrollbar. More... | |
void | set_vertical_scrollbar_item_position (const unsigned position) |
Move the vertical scrollbar to a position. More... | |
unsigned | get_horizontal_scrollbar_item_position () const |
Returns current position of the horizontal scrollbar. More... | |
void | set_horizontal_scrollbar_item_position (const unsigned position) |
Move the horizontal scrollbar to a position. More... | |
void | scroll_vertical_scrollbar (const scrollbar_base::scroll_mode scroll) |
Scrolls the vertical scrollbar. More... | |
void | scroll_horizontal_scrollbar (const scrollbar_base::scroll_mode scroll) |
Scrolls the horizontal scrollbar. More... | |
void | scroll_vertical_scrollbar_by (const int pixels) |
Scrolls the vertical scrollbar by pixel. More... | |
void | scroll_horizontal_scrollbar_by (const int pixels) |
Scrolls the horizontal scrollbar by pixel. More... | |
void | vertical_scrollbar_moved () |
Callback when the scrollbar moves (NOTE maybe only one callback needed). More... | |
void | horizontal_scrollbar_moved () |
void | move_viewport (const int pixels_x, const int pixels_y) |
To be called after the scollbar moves manually (by pixel) to move the viewport. More... | |
scrollbar_base * | horizontal_scrollbar () |
scrollbar_base * | vertical_scrollbar () |
grid * | get_horizontal_scrollbar_grid () |
grid * | get_vertical_scrollbar_grid () |
Public Member Functions inherited from gui2::container_base | |
container_base (const implementation::builder_styled_widget &builder, const std::string &control_type) | |
virtual SDL_Rect | get_client_rect () const |
Returns the client rect. More... | |
void | reduce_width (const unsigned maximum_width) |
Tries to reduce the width of a container. More... | |
virtual void | demand_reduce_width (const unsigned maximum_width) override |
See widget::demand_reduce_width. More... | |
void | reduce_height (const unsigned maximum_height) |
Tries to reduce the height of a container. More... | |
virtual void | demand_reduce_height (const unsigned maximum_height) override |
See widget::demand_reduce_height. More... | |
virtual bool | has_widget (const widget &widget) const override |
See widget::has_widget. More... | |
virtual void | set_active (const bool active) override |
See styled_widget::set_active. More... | |
void | init_grid (const builder_grid &grid_builder) |
Initializes and builds the grid. More... | |
grid::iterator | begin () |
grid::iterator | end () |
unsigned | add_row (const unsigned count=1) |
void | set_rows (const unsigned rows) |
unsigned int | get_rows () const |
void | set_cols (const unsigned cols) |
unsigned int | get_cols () const |
void | set_rows_cols (const unsigned rows, const unsigned cols) |
void | set_child (std::unique_ptr< widget > widget, const unsigned row, const unsigned col, const unsigned flags, const unsigned border_size) |
void | set_row_grow_factor (const unsigned row, const unsigned factor) |
void | set_column_grow_factor (const unsigned column, const unsigned factor) |
const grid & | get_grid () const |
grid & | get_grid () |
Public Member Functions inherited from gui2::styled_widget | |
styled_widget (const implementation::builder_styled_widget &builder, const std::string &control_type) | |
Constructor. More... | |
virtual void | set_members (const widget_item &data) |
Sets the members of the styled_widget. More... | |
bool | disable_click_dismiss () const override |
See widget::disable_click_dismiss. More... | |
point | get_config_minimum_size () const |
Gets the minimum size as defined in the config. More... | |
point | get_config_default_size () const |
Gets the default size as defined in the config. More... | |
point | get_config_maximum_size () const |
Gets the best size as defined in the config. More... | |
virtual unsigned | get_characters_per_line () const |
Returns the number of characters per line. More... | |
virtual bool | get_link_aware () const |
Returns whether the label should be link_aware, in in rendering and in searching for links with get_link. More... | |
virtual color_t | get_link_color () const |
Returns the color string to be used with links. More... | |
widget * | find (const std::string &id, const bool must_be_active) override |
See widget::find. More... | |
const widget * | find (const std::string &id, const bool must_be_active) const override |
See widget::find. More... | |
bool | get_use_tooltip_on_label_overflow () const |
void | set_use_tooltip_on_label_overflow (const bool use_tooltip=true) |
const t_string & | get_label () const |
virtual void | set_label (const t_string &text) |
virtual void | set_use_markup (bool use_markup) |
bool | get_use_markup () const |
const t_string & | tooltip () const |
void | set_tooltip (const t_string &tooltip) |
const t_string & | help_message () const |
void | set_help_message (const t_string &help_message) |
std::vector< canvas > & | get_canvases () |
canvas & | get_canvas (const unsigned index) |
virtual void | set_text_alignment (const PangoAlignment text_alignment) |
PangoAlignment | get_text_alignment () const |
void | set_text_ellipse_mode (const PangoEllipsizeMode ellipse_mode) |
PangoEllipsizeMode | get_text_ellipse_mode () const |
Get the text's ellipsize mode. More... | |
void | set_text_maximum_width (int max_width) |
Set how wide the text can become. More... | |
Public Member Functions inherited from gui2::widget | |
widget (const widget &)=delete | |
widget & | operator= (const widget &)=delete |
widget () | |
widget (const builder_widget &builder) | |
Constructor. More... | |
virtual | ~widget () override |
void | set_id (const std::string &id) |
const std::string & | id () const |
window * | get_window () |
Get the parent window. More... | |
const window * | get_window () const |
The constant version of get_window. More... | |
grid * | get_parent_grid () |
Get the parent grid. More... | |
const grid * | get_parent_grid () const |
void | set_parent (widget *parent) |
widget * | parent () |
point | get_best_size () const |
Gets the best size for the widget. More... | |
virtual bool | can_mouse_focus () const |
Whether the mouse move/click event go 'through' this widget. More... | |
virtual void | set_size (const point &size) |
Sets the size of the widget. More... | |
virtual void | move (const int x_offset, const int y_offset) |
Moves a widget. More... | |
virtual void | set_horizontal_alignment (const std::string &alignment) |
Sets the horizontal alignment of the widget within its parent grid. More... | |
virtual void | set_vertical_alignment (const std::string &alignment) |
Sets the horizontal alignment of the widget within its parent grid. More... | |
point | get_origin () const |
Returns the screen origin of the widget. More... | |
point | get_size () const |
Returns the size of the widget. More... | |
rect | get_rectangle () const |
Gets the bounding rectangle of the widget on the screen. More... | |
int | get_x () const |
int | get_y () const |
unsigned | get_width () const |
unsigned | get_height () const |
void | set_linked_group (const std::string &linked_group) |
std::string | get_linked_group () const |
SDL_Rect | calculate_blitting_rectangle () const |
Calculates the blitting rectangle of the widget. More... | |
SDL_Rect | calculate_clipping_rectangle () const |
Calculates the clipping rectangle of the widget. More... | |
bool | draw_background () |
Draws the background of a widget. More... | |
void | draw_children () |
Draws the children of a widget. More... | |
bool | draw_foreground () |
Draws the foreground of the widget. More... | |
SDL_Rect | get_dirty_rectangle () const |
Gets the dirty rectangle of the widget. More... | |
void | queue_redraw () |
Indicates that this widget should be redrawn. More... | |
void | queue_redraw (const rect ®ion) |
Indicate that specific region of the screen should be redrawn. More... | |
void | set_visible (const visibility visible) |
visibility | get_visible () const |
redraw_action | get_drawing_action () const |
void | set_debug_border_mode (const debug_border debug_border_mode) |
void | set_debug_border_color (const color_t debug_border_color) |
template<class T > | |
NOT_DANGLING T * | find_widget (const std::string &id, const bool must_be_active, const bool must_exist) |
Gets a widget with the wanted id. More... | |
template<class T > | |
NOT_DANGLING const T * | find_widget (const std::string &id, const bool must_be_active, const bool must_exist) const |
template<class T > | |
NOT_DANGLING T & | find_widget (const std::string &id, const bool must_be_active=false) |
Gets a widget with the wanted id. More... | |
template<class T > | |
NOT_DANGLING const T & | find_widget (const std::string &id, const bool must_be_active=false) const |
Public Member Functions inherited from gui2::event_executor | |
event_executor () | |
virtual | ~event_executor () |
void | set_wants_mouse_hover (const bool hover=true) |
bool | wants_mouse_hover () const |
void | set_wants_mouse_left_double_click (const bool click=true) |
bool | wants_mouse_left_double_click () const |
void | set_wants_mouse_middle_double_click (const bool click=true) |
bool | wants_mouse_middle_double_click () const |
event_executor & | set_wants_mouse_right_double_click (const bool click=true) |
bool | wants_mouse_right_double_click () const |
Public Member Functions inherited from gui2::event::dispatcher | |
dispatcher () | |
virtual | ~dispatcher () |
void | connect () |
Connects the dispatcher to the event handler. More... | |
void | disconnect () |
Disconnects the dispatcher from the event handler. More... | |
bool | is_connected () const |
Return whether the dispatcher is currently connected. More... | |
bool | has_event (const ui_event event, const event_queue_type event_type) |
bool | fire (const ui_event event, widget &target) |
Fires an event which has no extra parameters. More... | |
bool | fire (const ui_event event, widget &target, const point &coordinate) |
Fires an event which takes a coordinate parameter. More... | |
bool | fire (const ui_event event, widget &target, const SDL_Keycode key, const SDL_Keymod modifier, const std::string &unicode) |
Fires an event which takes keyboard parameters. More... | |
bool | fire (const ui_event event, widget &target, const point &pos, const point &distance) |
Fires an event which takes touch-motion parameters. More... | |
bool | fire (const ui_event event, widget &target, const point ¢er, float dTheta, float dDist, uint8_t numFingers) |
Fires an event which takes touch-gesture parameters. More... | |
bool | fire (const ui_event event, widget &target, void *) |
Fires an event which takes notification parameters. More... | |
bool | fire (const ui_event event, widget &target, const message &msg) |
Fires an event which takes message parameters. More... | |
bool | fire (const ui_event event, widget &target, const SDL_Event &sdlevent) |
Fires an event that's a raw SDL event. More... | |
bool | fire (const ui_event event, widget &target, const std::string &text, int32_t start, int32_t len) |
Fires an event which takes text input parameters. More... | |
template<ui_event E, typename F > | |
void | connect_signal (const F &func, const queue_position position=back_child) |
Adds a callback to the appropriate queue based on event type. More... | |
template<ui_event E, typename F > | |
void | disconnect_signal (const F &func, const queue_position position=back_child) |
Removes a callback from the appropriate queue based on event type. More... | |
void | capture_mouse () |
Captures the mouse. More... | |
void | release_mouse () |
Releases the mouse capture. More... | |
void | set_mouse_behavior (const mouse_behavior mouse_behavior) |
mouse_behavior | get_mouse_behavior () const |
void | set_want_keyboard_input (const bool want_keyboard_input) |
bool | get_want_keyboard_input () const |
void | register_hotkey (const hotkey::HOTKEY_COMMAND id, const hotkey_function &function) |
Registers a hotkey. More... | |
bool | execute_hotkey (const hotkey::HOTKEY_COMMAND id) |
Executes a hotkey. More... | |
Public Member Functions inherited from enable_lua_ptr< widget > | |
enable_lua_ptr (widget *tp) | |
Static Public Member Functions | |
static const std::string & | type () |
Static type getter that does not rely on the widget being constructed. More... | |
Static Public Member Functions inherited from gui2::scrollbar_container | |
static const std::string & | type () |
Static type getter that does not rely on the widget being constructed. More... | |
Protected Member Functions | |
void | handle_key_up_arrow (SDL_Keymod modifier, bool &handled) override |
Inherited from scrollbar_container. More... | |
void | handle_key_down_arrow (SDL_Keymod modifier, bool &handled) override |
Inherited from scrollbar_container. More... | |
void | handle_key_left_arrow (SDL_Keymod modifier, bool &handled) override |
Inherited from scrollbar_container. More... | |
void | handle_key_right_arrow (SDL_Keymod modifier, bool &handled) override |
Inherited from scrollbar_container. More... | |
Protected Member Functions inherited from gui2::scrollbar_container | |
virtual point | calculate_best_size () const override |
See widget::calculate_best_size. More... | |
void | show_content_rect (const SDL_Rect &rect) |
Shows a certain part of the content. More... | |
void | set_scrollbar_button_status () |
Sets the status of the scrollbar buttons. More... | |
bool | content_resize_request (const bool force_sizing=false) |
Notification if the content of a child needs a resize. More... | |
bool | content_resize_request (const int width_modification, const int height_modification, const int width_modification_pos=-1, const int height_modification_pos=-1) |
Request from the content to modify the size of the container. More... | |
virtual void | handle_key_home (SDL_Keymod modifier, bool &handled) |
Home key pressed. More... | |
virtual void | handle_key_end (SDL_Keymod modifier, bool &handled) |
End key pressed. More... | |
virtual void | handle_key_page_up (SDL_Keymod modifier, bool &handled) |
Page up key pressed. More... | |
virtual void | handle_key_page_down (SDL_Keymod modifier, bool &handled) |
Page down key pressed. More... | |
void | finalize_setup () |
The builder needs to call us so we do our setup. More... | |
Protected Member Functions inherited from gui2::styled_widget | |
resolution_definition_ptr | get_config () |
resolution_definition_const_ptr | get_config () const |
template<typename T > | |
std::shared_ptr< const typename T::resolution > | cast_config_to () const |
Casts the current resolution definition config to the respective type of a derived widget. More... | |
void | set_config (resolution_definition_ptr config) |
virtual void | update_canvas () |
Updates the canvas(ses). More... | |
unsigned int | get_text_font_size () const |
Resolves and returns the text_font_size. More... | |
int | get_text_maximum_width () const |
Returns the maximum width available for the text. More... | |
int | get_text_maximum_height () const |
Returns the maximum height available for the text. More... | |
virtual bool | impl_draw_background () override |
See widget::impl_draw_background. More... | |
virtual bool | impl_draw_foreground () override |
See widget::impl_draw_foreground. More... | |
std::string | get_label_token (const point &position, const char *delimiters=" \n\r\t") const |
Exposes font::pango_text::get_token, for the text label of this styled_widget. More... | |
std::string | get_label_link (const point &position) const |
Protected Member Functions inherited from gui2::widget | |
void | set_layout_size (const point &size) |
const point & | layout_size () const |
void | clear_layout_size () |
Throws away layout_size_. More... | |
Private Member Functions | |
void | resize_content (const int width_modification, const int height_modification, const int width_modification_pos=-1, const int height_modification_pos=-1) |
Resizes the content. More... | |
void | layout_children (const bool force) |
Layouts the children if needed. More... | |
virtual void | finalize_setup () |
Inherited from container_base. More... | |
virtual const std::string & | get_control_type () const override |
Inherited from styled_widget, implemented by REGISTER_WIDGET. More... | |
void | signal_handler_left_button_down (const event::ui_event event) |
template<tree_view_node *(tree_view_node::*)() func> | |
tree_view_node * | get_next_node () |
template<tree_view_node *(tree_view_node::*)() func> | |
bool | handle_up_down_arrow () |
Private Attributes | |
const std::vector< node_definition > | node_definitions_ |
unsigned | indentation_step_size_ |
bool | need_layout_ |
tree_view_node * | root_node_ |
tree_view_node * | selected_item_ |
Static Private Attributes | |
static const std::string | root_node_id = "root" |
Friends | |
struct | implementation::builder_tree_view |
struct | implementation::tree_node |
class | tree_view_node |
Definition at line 38 of file tree_view.hpp.
Definition at line 45 of file tree_view.hpp.
|
explicit |
Definition at line 37 of file tree_view.cpp.
References gui2::event::dispatcher::back_pre_child, and signal_handler_left_button_down().
gui2::tree_view::~tree_view | ( | ) |
Definition at line 49 of file tree_view.cpp.
References gui2::tree_view_node::clear_before_destruct(), and root_node_.
tree_view_node & gui2::tree_view::add_node | ( | const std::string & | id, |
const widget_data & | data, | ||
const int | index = -1 |
||
) |
Definition at line 56 of file tree_view.cpp.
References gui2::tree_view_node::add_child(), data, get_root_node(), and utf8::index().
Referenced by gui2::dialogs::campaign_selection::add_campaign_to_tree(), gui2::dialogs::mp_staging::add_side_to_team_node(), gui2::dialogs::mp_options_helper::display_custom_options(), gui2::dialogs::mp_join_game::generate_side_list(), gui2::unit_preview_pane::set_displayed_type(), gui2::unit_preview_pane::set_displayed_unit(), and gui2::lobby_player_list_helper::sub_list::sub_list().
void gui2::tree_view::clear | ( | ) |
Definition at line 88 of file tree_view.cpp.
References gui2::tree_view_node::clear(), gui2::scrollbar_container::content_grid(), get_root_node(), gui2::widget::get_size(), and resize_content().
Referenced by gui2::dialogs::gamestate_inspector::view::clear_stuff_list(), gui2::dialogs::mp_join_game::generate_side_list(), intf_clear_items(), gui2::unit_preview_pane::set_displayed_type(), gui2::unit_preview_pane::set_displayed_unit(), and gui2::dialogs::mp_options_helper::update_all_options().
bool gui2::tree_view::empty | ( | ) | const |
Definition at line 99 of file tree_view.cpp.
References gui2::tree_view_node::empty(), and root_node_.
Referenced by gui2::dialogs::campaign_selection::campaign_selected(), gui2::dialogs::help_browser::on_topic_select(), gui2::dialogs::campaign_selection::proceed(), and gui2::dialogs::mp_options_helper::update_status_label().
void gui2::scrollbar_container::finalize_setup |
The builder needs to call us so we do our setup.
Definition at line 466 of file scrollbar_container.cpp.
|
privatevirtual |
Inherited from container_base.
Definition at line 157 of file tree_view.cpp.
References gui2::scrollbar_container::content_grid(), gui2::scrollbar_container::finalize_setup(), gui2::grid::HORIZONTAL_GROW_SEND_TO_CLIENT, root_node_, root_node_id, gui2::grid::set_child(), gui2::grid::set_rows_cols(), and gui2::grid::VERTICAL_GROW_SEND_TO_CLIENT.
|
overrideprivatevirtual |
Inherited from styled_widget, implemented by REGISTER_WIDGET.
Reimplemented from gui2::scrollbar_container.
|
inline |
Definition at line 93 of file tree_view.hpp.
References indentation_step_size_.
|
private |
Definition at line 179 of file tree_view.cpp.
References game_config::images::selected, and selected_item().
|
inline |
Optionally returns the node definition with the given id, or nullopt if not found.
Definition at line 180 of file tree_view.hpp.
References d, and node_definitions_.
|
inline |
Definition at line 108 of file tree_view.hpp.
References node_definitions_.
|
inline |
Definition at line 58 of file tree_view.hpp.
References root_node_.
|
inline |
Definition at line 53 of file tree_view.hpp.
References root_node_.
Referenced by add_node(), clear(), gui2::dialogs::help_browser::pre_show(), gui2::tree_view_node::select_node(), gui2::unit_preview_pane::set_displayed_type(), gui2::unit_preview_pane::set_displayed_unit(), and gui2::dialogs::gamestate_inspector::view::stuff_list_entry().
|
overrideprotectedvirtual |
Inherited from scrollbar_container.
Reimplemented from gui2::scrollbar_container.
Definition at line 219 of file tree_view.cpp.
References gui2::scrollbar_container::handle_key_down_arrow().
|
overrideprotectedvirtual |
Inherited from scrollbar_container.
Reimplemented from gui2::scrollbar_container.
Definition at line 228 of file tree_view.cpp.
References gui2::scrollbar_container::handle_key_left_arrow(), game_config::images::selected, and selected_item().
|
overrideprotectedvirtual |
Inherited from scrollbar_container.
Reimplemented from gui2::scrollbar_container.
Definition at line 240 of file tree_view.cpp.
References gui2::scrollbar_container::handle_key_right_arrow(), game_config::images::selected, and selected_item().
|
overrideprotectedvirtual |
Inherited from scrollbar_container.
Reimplemented from gui2::scrollbar_container.
Definition at line 210 of file tree_view.cpp.
References gui2::scrollbar_container::handle_key_up_arrow().
|
private |
Definition at line 195 of file tree_view.cpp.
References gui2::scrollbar_container::content_visible_area(), and gui2::scrollbar_container::show_content_rect().
|
overridevirtual |
Reimplemented from gui2::scrollbar_container.
Definition at line 104 of file tree_view.cpp.
Referenced by gui2::tree_view_node::place().
|
private |
Layouts the children if needed.
Definition at line 144 of file tree_view.cpp.
References gui2::scrollbar_container::content_grid(), gui2::scrollbar_container::content_visible_area_, gui2::widget::get_origin(), gui2::widget::get_size(), gui2::scrollbar_container::horizontal_scrollbar_moved(), indentation_step_size_, need_layout_, gui2::tree_view_node::place(), root_node_, and gui2::tree_view_node::set_visible_rectangle().
std::pair< std::shared_ptr< tree_view_node >, int > gui2::tree_view::remove_node | ( | tree_view_node * | node | ) |
Removes the given node as a child of its parent node.
node | A pointer to the node to remove. |
Definition at line 62 of file tree_view.cpp.
References c, gui2::tree_view_node::children_, gui2::widget::get_size(), gui2::tree_view_node::parent_node_, draw::point(), resize_content(), and root_node_.
Referenced by gui2::dialogs::mp_options_helper::remove_nodes_for_type().
|
private |
Resizes the content.
The resize either happens due to resizing the content or invalidate the layout of the window.
width_modification | The wanted modification to the width:
|
height_modification | The wanted modification to the height:
|
width_modification_pos | |
height_modification_pos |
Definition at line 109 of file tree_view.cpp.
References gui2::scrollbar_container::content_grid(), gui2::scrollbar_container::content_resize_request(), DBG_GUI_L, gui2::widget::get_size(), gui2::scrollbar_container::horizontal_scrollbar_moved(), LOG_HEADER, need_layout_, gui2::widget::queue_redraw(), gui2::widget::set_size(), and utf8::size().
Referenced by gui2::tree_view_node::add_child_impl(), clear(), gui2::tree_view_node::clear(), gui2::tree_view_node::fold_internal(), remove_node(), gui2::tree_view_node::replace_children(), and gui2::tree_view_node::unfold_internal().
|
inline |
Definition at line 98 of file tree_view.hpp.
References selected_item_.
Referenced by gui2::dialogs::campaign_selection::campaign_selected(), get_next_node(), gui2::lobby_player_list_helper::get_selected_info(), handle_key_left_arrow(), handle_key_right_arrow(), gui2::dialogs::help_browser::on_topic_select(), and gui2::dialogs::campaign_selection::proceed().
|
inline |
Definition at line 103 of file tree_view.hpp.
References selected_item_.
|
inline |
Definition at line 88 of file tree_view.hpp.
References indentation_step_size_.
|
overridevirtual |
See container_base::set_self_active.
Implements gui2::container_base.
Definition at line 94 of file tree_view.cpp.
|
private |
Definition at line 171 of file tree_view.cpp.
References DBG_GUI_E, gui2::widget::get_window(), gui2::window::keyboard_capture(), and LOG_HEADER.
Referenced by tree_view().
|
static |
Static type getter that does not rely on the widget being constructed.
|
friend |
Definition at line 40 of file tree_view.hpp.
|
friend |
Definition at line 41 of file tree_view.hpp.
|
friend |
Definition at line 42 of file tree_view.hpp.
|
private |
Definition at line 139 of file tree_view.hpp.
Referenced by gui2::tree_view_node::add_child_impl(), gui2::tree_view_node::get_folded_size(), get_indentation_step_size(), gui2::tree_view_node::get_unfolded_size(), layout_children(), gui2::tree_view_node::replace_children(), and set_indentation_step_size().
|
private |
Definition at line 141 of file tree_view.hpp.
Referenced by layout_children(), and resize_content().
|
private |
We no depend on the implementation, maybe the implementation should depend on us instead.
Definition at line 137 of file tree_view.hpp.
Referenced by get_node_definition(), and get_node_definitions().
|
private |
Definition at line 143 of file tree_view.hpp.
Referenced by empty(), finalize_setup(), get_root_node(), layout_children(), remove_node(), and ~tree_view().
|
inlinestaticprivate |
Definition at line 129 of file tree_view.hpp.
Referenced by finalize_setup(), gui2::implementation::tree_node::tree_node(), and gui2::tree_view_node::tree_view_node().
|
private |
Definition at line 145 of file tree_view.hpp.
Referenced by gui2::tree_view_node::select_node(), selected_item(), gui2::tree_view_node::signal_handler_label_left_button_click(), gui2::tree_view_node::tree_view_node(), and gui2::tree_view_node::~tree_view_node().