|
Blender V5.0
|
#include <UI_tree_view.hh>
Inherits blender::ui::AbstractView, and blender::ui::TreeViewItemContainer.
Inherited by blender::ed::asset::shelf::AssetCatalogSelectorTree, blender::ed::asset::shelf::AssetCatalogTreeView, blender::ed::asset_browser::AssetCatalogTreeView, blender::ed::object::shapekey::ShapeKeyTreeView, blender::ed::spreadsheet::GeometryDataSetTreeView, blender::ed::spreadsheet::GeometryInstancesTreeView, blender::ed::spreadsheet::ViewerDataTreeView, blender::ed::spreadsheet::ViewerPathTreeView, blender::ui::bonecollections::BoneCollectionTreeView, and blender::ui::greasepencil::LayerTreeView.
Protected Member Functions | |
| virtual void | build_tree ()=0 |
| std::optional< uiViewState > | persistent_state () const override |
| void | persistent_state_apply (const uiViewState &state) override |
| Protected Member Functions inherited from blender::ui::AbstractView | |
| AbstractView ()=default | |
| virtual void | change_state_delayed () |
| void | update_from_old (uiBlock &new_block) |
| bool | is_reconstructed () const |
| const AbstractViewItem * | search_highlight_item () const |
| void | filter (std::optional< StringRef > filter_str) |
| 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 |
Friends | |
| class | AbstractTreeViewItem |
| class | TreeViewBuilder |
| class | TreeViewLayoutBuilder |
| class | TreeViewItemDropTarget |
Additional Inherited Members | |
| Public Types inherited from blender::ui::TreeViewItemContainer | |
| enum class | IterOptions { None = 0 , SkipCollapsed = 1 << 0 , SkipFiltered = 1 << 1 } |
| using | ItemIterFn = FunctionRef<void(AbstractTreeViewItem &)> |
| Protected Attributes inherited from blender::ui::TreeViewItemContainer | |
| Vector< std::unique_ptr< AbstractTreeViewItem > > | children_ |
| TreeViewItemContainer * | root_ = nullptr |
| AbstractTreeViewItem * | parent_ = nullptr |
| bool | is_flat_ = false |
Definition at line 120 of file UI_tree_view.hh.
|
overridedefault |
References AbstractTreeViewItem, blender::ui::TreeViewItemContainer::None, options, and xy.
|
protectedpure virtual |
Implemented in blender::ed::asset::shelf::AssetCatalogSelectorTree, blender::ed::asset::shelf::AssetCatalogTreeView, blender::ed::asset_browser::AssetCatalogTreeView, blender::ed::object::shapekey::ShapeKeyTreeView, blender::ed::spreadsheet::GeometryDataSetTreeView, blender::ed::spreadsheet::GeometryInstancesTreeView, blender::ed::spreadsheet::ViewerDataTreeView, blender::ed::spreadsheet::ViewerPathTreeView, blender::ui::bonecollections::BoneCollectionTreeView, and blender::ui::greasepencil::LayerTreeView.
References AbstractTreeViewItem, blender::ui::AbstractView::AbstractView(), blender::ui::AbstractView::AbstractViewItem, and state.
Referenced by blender::ui::TreeViewBuilder::build_tree_view().
|
overridevirtual |
Reimplemented from blender::ui::AbstractView.
Definition at line 321 of file tree_view.cc.
| AbstractTreeViewItem * blender::ui::AbstractTreeView::find_hovered | ( | const ARegion & | region, |
| const int2 & | xy ) |
| xy | The mouse coordinates in window space. |
Definition at line 122 of file tree_view.cc.
References AbstractTreeViewItem, BLI_rctf_isect_y(), blender::ui::TreeViewItemContainer::foreach_item_recursive(), blender::ui::AbstractTreeViewItem::get_win_rect(), blender::ui::TreeViewItemContainer::SkipCollapsed, blender::ui::TreeViewItemContainer::SkipFiltered, and xy.
| void blender::ui::AbstractTreeView::foreach_item | ( | ItemIterFn | iter_fn, |
| IterOptions | options = IterOptions::None ) const |
Definition at line 110 of file tree_view.cc.
References blender::ui::TreeViewItemContainer::foreach_item_recursive(), and options.
Referenced by blender::ui::TreeViewLayoutBuilder::build_from_tree(), blender::ui::count_visible_items(), and blender::ed::asset::shelf::AssetCatalogSelectorTree::update_shelf_settings_from_enabled_catalogs().
| void blender::ui::AbstractTreeView::foreach_root_item | ( | ItemIterFn | iter_fn | ) | const |
Definition at line 115 of file tree_view.cc.
References blender::ui::TreeViewItemContainer::children_.
|
overridevirtual |
Reimplemented from blender::ui::AbstractView.
Definition at line 391 of file tree_view.cc.
|
overrideprotectedvirtual |
From the current view state, return certain state that will be written to files (stored in ARegion.view_states) to preserve it over UI changes and file loading. The state can be restored using persistent_state_apply().
Return an empty value if there's no state to preserve (default implementation).
Reimplemented from blender::ui::AbstractView.
Definition at line 149 of file tree_view.cc.
References BLI_strncpy(), SET_FLAG_FROM_TEST, state, UI_INV_SCALE_FAC, and UI_VIEW_SHOW_FILTER_OPTIONS.
|
overrideprotectedvirtual |
Restore a view state given in state, which was created by persistent_state() for saving in files, and potentially loaded from a file.
Reimplemented from blender::ui::AbstractView.
Definition at line 170 of file tree_view.cc.
References BLI_strncpy(), MIN_ROWS, blender::ui::padded_item_height(), round_fl_to_int(), set_default_rows(), state, UI_MAX_NAME_STR, UI_SCALE_FAC, and UI_VIEW_SHOW_FILTER_OPTIONS.
|
overridevirtual |
Reimplemented from blender::ui::AbstractView.
Definition at line 396 of file tree_view.cc.
References blender::ui::AbstractView::supports_scrolling(), and blender::ui::UP.
| void blender::ui::AbstractTreeView::set_default_rows | ( | int | default_rows | ) |
Visual feature: Define a number of item rows the view will show by default. If there are fewer items, empty dummy items will be added. These contribute to the view bounds, so the drop target of the view includes them, but they are not interactive (e.g. no mouse-hover highlight).
Definition at line 141 of file tree_view.cc.
References BLI_assert_msg, MIN_ROWS, and blender::ui::padded_item_height().
Referenced by persistent_state_apply(), blender::ed::object::shapekey::template_tree(), uiTemplateBoneCollectionTree(), uiTemplateGreasePencilLayerTree(), uiTemplateLightLinkingCollection(), and uiTemplateNodeTreeInterface().
|
friend |
Definition at line 140 of file UI_tree_view.hh.
References AbstractTreeViewItem.
Referenced by AbstractTreeViewItem, build_tree(), find_hovered(), and ~AbstractTreeView().
|
friend |
Definition at line 141 of file UI_tree_view.hh.
References TreeViewBuilder.
Referenced by TreeViewBuilder.
|
friend |
Definition at line 143 of file UI_tree_view.hh.
References TreeViewItemDropTarget.
Referenced by TreeViewItemDropTarget.
|
friend |
Definition at line 142 of file UI_tree_view.hh.
References TreeViewLayoutBuilder.
Referenced by TreeViewLayoutBuilder.