Blender V5.0
blender::ui::BasicTreeViewItem Class Reference

#include <UI_tree_view.hh>

Inherits blender::ui::AbstractTreeViewItem.

Inherited by blender::ed::asset::shelf::AssetCatalogSelectorTree::Item, blender::ed::asset_browser::AssetCatalogTreeViewAllItem, blender::ed::asset_browser::AssetCatalogTreeViewItem, and blender::ed::asset_browser::AssetCatalogTreeViewUnassignedItem.

Public Types

using IsActiveFn = std::function<bool()>
using ActivateFn = std::function<void(bContext &C, BasicTreeViewItem &new_active)>
Public Types inherited from blender::ui::TreeViewItemContainer
enum class  IterOptions { None = 0 , SkipCollapsed = 1 << 0 , SkipFiltered = 1 << 1 }
using ItemIterFn = FunctionRef<void(AbstractTreeViewItem &)>

Public Member Functions

 BasicTreeViewItem (StringRef label, BIFIconID icon=ICON_NONE)
void build_row (uiLayout &row) override
void add_label (uiLayout &layout, StringRefNull label_override="")
void set_on_activate_fn (ActivateFn fn)
void set_is_active_fn (IsActiveFn is_active_fn)
Public Member Functions inherited from blender::ui::AbstractTreeViewItem
 ~AbstractTreeViewItem () override=default
std::optional< std::string > debug_name () const override
std::unique_ptr< DropTargetInterfacecreate_item_drop_target () final
virtual std::unique_ptr< TreeViewItemDropTargetcreate_drop_target ()
AbstractTreeViewget_tree_view () const
std::optional< rctfget_win_rect (const ARegion &region) const
void begin_renaming ()
bool toggle_collapsed ()
virtual bool set_collapsed (bool collapsed)
virtual void on_collapse_change (bContext &C, bool is_collapsed)
virtual std::optional< bool > should_be_collapsed () const
void uncollapse_by_default ()
bool is_collapsed () const
bool is_collapsible () const
int count_parents () const
void on_filter_change () override
Public Member Functions inherited from blender::ui::AbstractViewItem
virtual ~AbstractViewItem ()=default
virtual void build_context_menu (bContext &C, uiLayout &column) const
virtual std::optional< bool > should_be_selected () const
virtual void set_selected (const bool select)
void activate (bContext &C)
void activate_for_context_menu (bContext &C)
void deactivate ()
virtual std::unique_ptr< AbstractViewItemDragControllercreate_drag_controller () const
AbstractViewget_view () const
uiButViewItemview_item_button () const
void disable_interaction ()
bool is_interactive () const
void disable_activatable ()
void select_on_click_set ()
bool is_select_on_click () const
void always_reactivate_on_click ()
void activate_for_context_menu_set ()
bool is_active () const
bool is_selected () const
bool is_search_highlight () const
virtual bool supports_renaming () const
bool is_renaming () const
void begin_renaming ()
void end_renaming ()
void rename_apply (const bContext &C)
virtual void delete_item (bContext *C)
bool is_filtered_visible () const
Public Member Functions inherited from blender::ui::TreeViewItemContainer
template<class ItemT, typename... Args>
ItemT & add_tree_item (Args &&...args)
AbstractTreeViewItemadd_tree_item (std::unique_ptr< AbstractTreeViewItem > item)

Public Attributes

BIFIconID icon

Protected Attributes

ActivateFn activate_fn_
IsActiveFn is_active_fn_
Protected Attributes inherited from blender::ui::AbstractTreeViewItem
std::string label_
Protected Attributes inherited from blender::ui::AbstractViewItem
AbstractViewview_ = nullptr
uiButViewItemview_item_but_ = nullptr
bool is_activatable_ = true
bool is_interactive_ = true
bool is_active_ = false
bool is_selected_ = false
bool is_renaming_ = false
bool is_highlighted_search_ = false
bool is_filtered_visible_ = true
bool is_always_collapsible_ = false
bool select_on_click_ = false
bool reactivate_on_click_ = false
bool activate_for_context_menu_ = false
Protected Attributes inherited from blender::ui::TreeViewItemContainer
Vector< std::unique_ptr< AbstractTreeViewItem > > children_
TreeViewItemContainer * root_ = nullptr
AbstractTreeViewItemparent_ = nullptr
bool is_flat_ = false

Additional Inherited Members

Protected Member Functions inherited from blender::ui::AbstractTreeViewItem
StringRef get_rename_string () const override
bool rename (const bContext &C, StringRefNull new_name) override
virtual bool supports_collapsing () const
void toggle_collapsed_from_view (bContext &C)
void change_state_delayed () override
bool matches (const AbstractViewItem &other) const override
void update_from_old (const AbstractViewItem &old) override
virtual bool matches_single (const AbstractTreeViewItem &other) const
bool is_hovered () const
void ensure_parents_uncollapsed ()
Protected Member Functions inherited from blender::ui::AbstractViewItem
 AbstractViewItem ()=default
void add_rename_button (uiBlock &block)
virtual bool should_be_filtered_visible (StringRefNull filter_string) const
Protected Member Functions inherited from blender::ui::TreeViewItemContainer
void foreach_item_recursive (ItemIterFn iter_fn, IterOptions options=IterOptions::None) const
void foreach_parent (ItemIterFn iter_fn) const

Detailed Description

The most basic type, just a label with an icon.

Definition at line 365 of file UI_tree_view.hh.

Member Typedef Documentation

◆ ActivateFn

using blender::ui::BasicTreeViewItem::ActivateFn = std::function<void(bContext &C, BasicTreeViewItem &new_active)>

Definition at line 368 of file UI_tree_view.hh.

◆ IsActiveFn

using blender::ui::BasicTreeViewItem::IsActiveFn = std::function<bool()>

Definition at line 367 of file UI_tree_view.hh.

Constructor & Destructor Documentation

◆ BasicTreeViewItem()

blender::ui::BasicTreeViewItem::BasicTreeViewItem ( StringRef label,
BIFIconID icon = ICON_NONE )
explicit

Member Function Documentation

◆ add_label()

void blender::ui::BasicTreeViewItem::add_label ( uiLayout & layout,
StringRefNull label_override = "" )

◆ build_row()

void blender::ui::BasicTreeViewItem::build_row ( uiLayout & row)
overridevirtual

◆ set_is_active_fn()

void blender::ui::BasicTreeViewItem::set_is_active_fn ( IsActiveFn is_active_fn)

Set a custom callback to check if this item should be active.

Definition at line 1137 of file tree_view.cc.

References is_active_fn_.

Referenced by blender::ed::asset::shelf::AssetCatalogTreeView::build_catalog_items_recursive().

◆ set_on_activate_fn()

void blender::ui::BasicTreeViewItem::set_on_activate_fn ( ActivateFn fn)

Member Data Documentation

◆ activate_fn_

ActivateFn blender::ui::BasicTreeViewItem::activate_fn_
protected

Called when activating this tree view item. This way users don't have to sub-class BasicTreeViewItem, just to implement custom activation behavior (a common thing to do).

Definition at line 386 of file UI_tree_view.hh.

Referenced by set_on_activate_fn().

◆ icon

BIFIconID blender::ui::BasicTreeViewItem::icon

Definition at line 369 of file UI_tree_view.hh.

Referenced by add_label(), and BasicTreeViewItem().

◆ is_active_fn_

IsActiveFn blender::ui::BasicTreeViewItem::is_active_fn_
protected

Definition at line 388 of file UI_tree_view.hh.

Referenced by set_is_active_fn().


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