The Battle for Wesnoth  1.19.0-dev
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
gui2::tree_view Class Reference

A tree view is a control that holds several items of the same or different types. More...

#include <tree_view.hpp>

Inheritance diagram for gui2::tree_view:

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 ()
 
tree_view_nodeget_root_node ()
 
tree_view_nodeadd_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)
 
tree_view_nodeselected_item ()
 
const tree_view_nodeselected_item () const
 
const std::vector< node_definition > & get_node_definitions () const
 
std::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 widgetfind_at (const point &coordinate, const bool must_be_active) override
 See widget::find_at. More...
 
virtual const widgetfind_at (const point &coordinate, const bool must_be_active) const override
 See widget::find_at. More...
 
widgetfind (const std::string &id, const bool must_be_active) override
 See widget::find. More...
 
const widgetfind (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
 
gridcontent_grid ()
 
const gridcontent_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_basehorizontal_scrollbar ()
 
scrollbar_basevertical_scrollbar ()
 
gridget_horizontal_scrollbar_grid ()
 
gridget_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 gridget_grid () const
 
gridget_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...
 
widgetfind (const std::string &id, const bool must_be_active) override
 See widget::find. More...
 
const widgetfind (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_stringget_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_stringtooltip () const
 
void set_tooltip (const t_string &tooltip)
 
const t_stringhelp_message () const
 
void set_help_message (const t_string &help_message)
 
std::vector< canvas > & get_canvases ()
 
canvasget_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...
 
- Public Member Functions inherited from gui2::widget
 widget (const widget &)=delete
 
widgetoperator= (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
 
windowget_window ()
 Get the parent window. More...
 
const windowget_window () const
 The constant version of get_window. More...
 
gridget_parent_grid ()
 Get the parent grid. More...
 
void set_parent (widget *parent)
 
widgetparent ()
 
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)
 
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 &region)
 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)
 
- 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_executorset_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 &center, 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 pointlayout_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_nodeget_next_node ()
 
template<tree_view_node *(tree_view_node::*)() func>
bool handle_up_down_arrow ()
 

Private Attributes

const std::vector< node_definitionnode_definitions_
 
unsigned indentation_step_size_
 
bool need_layout_
 
tree_view_noderoot_node_
 
tree_view_nodeselected_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
 

Detailed Description

A tree view is a control that holds several items of the same or different types.

The items shown are called tree view nodes and when a node has children, these can be shown or hidden. Nodes that contain children need to provide a clickable button in order to fold or unfold the children.

The following states exist:

Definition at line 59 of file tree_view.hpp.

Member Typedef Documentation

◆ node_definition

Definition at line 66 of file tree_view.hpp.

Constructor & Destructor Documentation

◆ tree_view()

gui2::tree_view::tree_view ( const implementation::builder_tree_view builder)
explicit

◆ ~tree_view()

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_.

Member Function Documentation

◆ add_node()

tree_view_node & gui2::tree_view::add_node ( const std::string &  id,
const widget_data data,
const int  index = -1 
)

◆ clear()

void gui2::tree_view::clear ( )

◆ empty()

bool gui2::tree_view::empty ( ) const

◆ finalize_setup() [1/2]

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.

◆ finalize_setup() [2/2]

void gui2::tree_view::finalize_setup ( )
privatevirtual

◆ get_control_type()

virtual const std::string& gui2::tree_view::get_control_type ( ) const
overrideprivatevirtual

Inherited from styled_widget, implemented by REGISTER_WIDGET.

Reimplemented from gui2::scrollbar_container.

◆ get_next_node()

template<tree_view_node *(tree_view_node::*)() func>
tree_view_node * gui2::tree_view::get_next_node
private

Definition at line 179 of file tree_view.cpp.

References game_config::images::selected, and selected_item().

◆ get_node_definition()

std::optional<decltype(node_definitions_)::const_iterator> gui2::tree_view::get_node_definition ( const std::string &  id) const
inline

Optionally returns the node definition with the given id, or nullopt if not found.

Definition at line 191 of file tree_view.hpp.

References d, and node_definitions_.

◆ get_node_definitions()

const std::vector<node_definition>& gui2::tree_view::get_node_definitions ( ) const
inline

Definition at line 119 of file tree_view.hpp.

References node_definitions_.

◆ get_root_node()

tree_view_node& gui2::tree_view::get_root_node ( )
inline

◆ handle_key_down_arrow()

void gui2::tree_view::handle_key_down_arrow ( SDL_Keymod  modifier,
bool &  handled 
)
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().

◆ handle_key_left_arrow()

void gui2::tree_view::handle_key_left_arrow ( SDL_Keymod  modifier,
bool &  handled 
)
overrideprotectedvirtual

◆ handle_key_right_arrow()

void gui2::tree_view::handle_key_right_arrow ( SDL_Keymod  modifier,
bool &  handled 
)
overrideprotectedvirtual

◆ handle_key_up_arrow()

void gui2::tree_view::handle_key_up_arrow ( SDL_Keymod  modifier,
bool &  handled 
)
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().

◆ handle_up_down_arrow()

template<tree_view_node *(tree_view_node::*)() func>
bool gui2::tree_view::handle_up_down_arrow
private

◆ layout_children() [1/2]

void gui2::tree_view::layout_children ( )
overridevirtual

See widget::layout_children.

Reimplemented from gui2::scrollbar_container.

Definition at line 104 of file tree_view.cpp.

Referenced by gui2::tree_view_node::place().

◆ layout_children() [2/2]

void gui2::tree_view::layout_children ( const bool  force)
private

◆ remove_node()

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.

Parameters
nodeA pointer to the node to remove.
Returns
A pair consisting of a smart pointer managing the removed node, and its position before removal.

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().

◆ resize_content()

void gui2::tree_view::resize_content ( const int  width_modification,
const int  height_modification,
const int  width_modification_pos = -1,
const int  height_modification_pos = -1 
)
private

Resizes the content.

The resize either happens due to resizing the content or invalidate the layout of the window.

Parameters
width_modificationThe wanted modification to the width:
  • negative values reduce width.
  • zero leave width as is.
  • positive values increase width.
height_modificationThe wanted modification to the height:
  • negative values reduce height.
  • zero leave height as is.
  • positive values increase 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().

◆ selected_item() [1/2]

tree_view_node* gui2::tree_view::selected_item ( )
inline

◆ selected_item() [2/2]

const tree_view_node* gui2::tree_view::selected_item ( ) const
inline

Definition at line 114 of file tree_view.hpp.

References selected_item_.

◆ set_indentation_step_size()

void gui2::tree_view::set_indentation_step_size ( const unsigned  indentation_step_size)
inline

Definition at line 104 of file tree_view.hpp.

References indentation_step_size_.

◆ set_self_active()

void gui2::tree_view::set_self_active ( const bool  active)
overridevirtual

See container_base::set_self_active.

Implements gui2::container_base.

Definition at line 94 of file tree_view.cpp.

◆ signal_handler_left_button_down()

void gui2::tree_view::signal_handler_left_button_down ( const event::ui_event  event)
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().

◆ type()

static const std::string& gui2::tree_view::type ( )
static

Static type getter that does not rely on the widget being constructed.

Friends And Related Function Documentation

◆ implementation::builder_tree_view

friend struct implementation::builder_tree_view
friend

Definition at line 61 of file tree_view.hpp.

◆ implementation::tree_node

friend struct implementation::tree_node
friend

Definition at line 62 of file tree_view.hpp.

◆ tree_view_node

friend class tree_view_node
friend

Definition at line 63 of file tree_view.hpp.

Member Data Documentation

◆ indentation_step_size_

unsigned gui2::tree_view::indentation_step_size_
private

◆ need_layout_

bool gui2::tree_view::need_layout_
private

Definition at line 152 of file tree_view.hpp.

Referenced by layout_children(), and resize_content().

◆ node_definitions_

const std::vector<node_definition> gui2::tree_view::node_definitions_
private
Todo:
evaluate which way the dependency should go.

We no depend on the implementation, maybe the implementation should depend on us instead.

Definition at line 148 of file tree_view.hpp.

Referenced by get_node_definition(), and get_node_definitions().

◆ root_node_

tree_view_node* gui2::tree_view::root_node_
private

◆ root_node_id

const std::string gui2::tree_view::root_node_id = "root"
inlinestaticprivate

◆ selected_item_

tree_view_node* gui2::tree_view::selected_item_
private

The documentation for this class was generated from the following files: