Blender V4.3
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)
 
void uncollapse_by_default ()
 
bool is_collapsed () const
 
bool is_collapsible () const
 
int count_parents () const
 
virtual void on_collapse_change (bContext &C, bool is_collapsed)
 
virtual std::optional< bool > should_be_collapsed () const
 
- Public Member Functions inherited from blender::ui::AbstractViewItem
virtual ~AbstractViewItem ()=default
 
virtual void build_context_menu (bContext &C, uiLayout &column) const
 
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 ()
 
bool is_active () const
 
bool is_search_highlight () const
 
void activate (bContext &C)
 
void deactivate ()
 
virtual bool supports_renaming () const
 
bool is_renaming () const
 
void begin_renaming ()
 
void end_renaming ()
 
void rename_apply (const 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_renaming_ = false
 
bool is_highlighted_search_ = false
 
bool is_filtered_visible_ = true
 
- Protected Attributes inherited from blender::ui::TreeViewItemContainer
Vector< std::unique_ptr< AbstractTreeViewItem > > children_
 
TreeViewItemContainerroot_ = nullptr
 
AbstractTreeViewItemparent_ = nullptr
 

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 335 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 338 of file UI_tree_view.hh.

◆ IsActiveFn

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

Definition at line 337 of file UI_tree_view.hh.

Constructor & Destructor Documentation

◆ BasicTreeViewItem()

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

Definition at line 942 of file tree_view.cc.

References label, and blender::ui::AbstractTreeViewItem::label_.

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 970 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 356 of file UI_tree_view.hh.

Referenced by set_on_activate_fn().

◆ icon

BIFIconID blender::ui::BasicTreeViewItem::icon

Definition at line 339 of file UI_tree_view.hh.

Referenced by add_label().

◆ is_active_fn_

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

Definition at line 358 of file UI_tree_view.hh.

Referenced by set_is_active_fn().


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