[Bf-blender-cvs] [18729171fd1] temp-asset-browser-catalogs-ui: Adapt to changes in master
Julian Eisel
noreply at git.blender.org
Fri Sep 24 20:31:51 CEST 2021
Commit: 18729171fd164abf8771f6b9ec80482942653ef9
Author: Julian Eisel
Date: Fri Sep 24 20:31:39 2021 +0200
Branches: temp-asset-browser-catalogs-ui
https://developer.blender.org/rB18729171fd164abf8771f6b9ec80482942653ef9
Adapt to changes in master
===================================================================
M source/blender/blenkernel/intern/asset_catalog.cc
M source/blender/editors/include/UI_tree_view.hh
M source/blender/editors/interface/tree_view.cc
M source/blender/editors/space_file/asset_catalog_tree_view.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/asset_catalog.cc b/source/blender/blenkernel/intern/asset_catalog.cc
index 65fde665190..6f1c51e43a4 100644
--- a/source/blender/blenkernel/intern/asset_catalog.cc
+++ b/source/blender/blenkernel/intern/asset_catalog.cc
@@ -348,7 +348,7 @@ void AssetCatalogTree::insert_item(AssetCatalog &catalog)
BLI_assert_msg(!ELEM(catalog.path[0], '/', '\\'),
"Malformed catalog path; should not start with a separator");
- CatalogID unset_id = bke::bUUID();
+ CatalogID unset_id = blender::bUUID();
const char *next_slash_ptr;
/* Looks more complicated than it is, this just iterates over path components. E.g.
* "just/some/path" iterates over "just", then "some" then "path". */
diff --git a/source/blender/editors/include/UI_tree_view.hh b/source/blender/editors/include/UI_tree_view.hh
index fac880a0a67..55e0d682094 100644
--- a/source/blender/editors/include/UI_tree_view.hh
+++ b/source/blender/editors/include/UI_tree_view.hh
@@ -190,6 +190,7 @@ class AbstractTreeViewItem : public TreeViewItemContainer {
* last redraw to this item. If sub-classes introduce more advanced state they should override
* this and make it update their state accordingly. */
virtual void update_from_old(const AbstractTreeViewItem &old);
+ virtual bool matches(const AbstractTreeViewItem &other) const;
const AbstractTreeView &get_tree_view() const;
int count_parents() const;
diff --git a/source/blender/editors/interface/tree_view.cc b/source/blender/editors/interface/tree_view.cc
index 01a921cb759..ae4d1b1fb8a 100644
--- a/source/blender/editors/interface/tree_view.cc
+++ b/source/blender/editors/interface/tree_view.cc
@@ -123,7 +123,7 @@ AbstractTreeViewItem *AbstractTreeView::find_matching_child(
const AbstractTreeViewItem &lookup_item, const TreeViewItemContainer &items)
{
for (const auto &iter_item : items.children_) {
- if (lookup_item.label_ == iter_item->label_) {
+ if (lookup_item.matches(*iter_item)) {
/* We have a matching item! */
return iter_item.get();
}
@@ -145,6 +145,11 @@ void AbstractTreeViewItem::update_from_old(const AbstractTreeViewItem &old)
is_active_ = old.is_active_;
}
+bool AbstractTreeViewItem::matches(const AbstractTreeViewItem &other) const
+{
+ return label_ == other.label_;
+}
+
const AbstractTreeView &AbstractTreeViewItem::get_tree_view() const
{
return static_cast<AbstractTreeView &>(*root_);
@@ -309,15 +314,15 @@ uiBut *BasicTreeViewItem::button()
using namespace blender::ui;
-bool UI_tree_view_item_is_active(uiTreeViewItemHandle *item_)
+bool UI_tree_view_item_is_active(const uiTreeViewItemHandle *item_)
{
- AbstractTreeViewItem &item = reinterpret_cast<AbstractTreeViewItem &>(*item_);
+ const AbstractTreeViewItem &item = reinterpret_cast<const AbstractTreeViewItem &>(*item_);
return item.is_active();
}
bool UI_tree_view_item_matches(const uiTreeViewItemHandle *a_, const uiTreeViewItemHandle *b_)
{
- const uiAbstractTreeViewItem &a = reinterpret_cast<const uiAbstractTreeViewItem &>(*a_);
- const uiAbstractTreeViewItem &b = reinterpret_cast<const uiAbstractTreeViewItem &>(*b_);
+ const AbstractTreeViewItem &a = reinterpret_cast<const AbstractTreeViewItem &>(*a_);
+ const AbstractTreeViewItem &b = reinterpret_cast<const AbstractTreeViewItem &>(*b_);
return a.matches(b);
}
diff --git a/source/blender/editors/space_file/asset_catalog_tree_view.cc b/source/blender/editors/space_file/asset_catalog_tree_view.cc
index e3286ba531d..aa3edce7077 100644
--- a/source/blender/editors/space_file/asset_catalog_tree_view.cc
+++ b/source/blender/editors/space_file/asset_catalog_tree_view.cc
@@ -45,10 +45,9 @@
#include "file_intern.h"
using namespace blender;
-using namespace blender::ui;
using namespace blender::bke;
-class AssetCatalogTreeView : public uiAbstractTreeView {
+class AssetCatalogTreeView : public ui::AbstractTreeView {
bke::AssetLibrary *library_;
FileAssetSelectParams *params_;
@@ -60,21 +59,21 @@ class AssetCatalogTreeView : public uiAbstractTreeView {
void build_tree() override;
private:
- static uiBasicTreeViewItem &build_recursive(uiTreeViewItemContainer &view_parent_item,
- AssetCatalogTreeItem &catalog);
+ static ui::BasicTreeViewItem &build_recursive(ui::TreeViewItemContainer &view_parent_item,
+ AssetCatalogTreeItem &catalog);
};
/* ---------------------------------------------------------------------- */
-class AssetCatalogTreeViewItem : public uiBasicTreeViewItem {
+class AssetCatalogTreeViewItem : public ui::BasicTreeViewItem {
AssetCatalogTreeItem &catalog_;
public:
AssetCatalogTreeViewItem(AssetCatalogTreeItem &catalog)
- : uiBasicTreeViewItem(catalog.get_name()), catalog_(catalog)
+ : BasicTreeViewItem(catalog.get_name()), catalog_(catalog)
{
}
- void onActivate() override
+ void on_activate() override
{
const AssetCatalogTreeView &tree_view = static_cast<const AssetCatalogTreeView &>(
get_tree_view());
@@ -85,7 +84,7 @@ class AssetCatalogTreeViewItem : public uiBasicTreeViewItem {
void build_row(uiLayout &row) override
{
- uiBasicTreeViewItem::build_row(row);
+ ui::BasicTreeViewItem::build_row(row);
if (!is_active()) {
return;
@@ -119,32 +118,33 @@ void AssetCatalogTreeView::build_tree()
{
FileAssetSelectParams *params = params_;
- add_tree_item<uiBasicTreeViewItem>(IFACE_("All"), ICON_HOME, [params](uiBasicTreeViewItem &) {
- params->asset_catalog_visibility = FILE_SHOW_ASSETS_ALL_CATALOGS;
- WM_main_add_notifier(NC_SPACE | ND_SPACE_ASSET_PARAMS, NULL);
- });
+ add_tree_item<ui::BasicTreeViewItem>(
+ IFACE_("All"), ICON_HOME, [params](ui::BasicTreeViewItem &) {
+ params->asset_catalog_visibility = FILE_SHOW_ASSETS_ALL_CATALOGS;
+ WM_main_add_notifier(NC_SPACE | ND_SPACE_ASSET_PARAMS, NULL);
+ });
if (AssetCatalogTree *catalog_tree = library_ ? library_->catalog_service->get_catalog_tree() :
nullptr) {
catalog_tree->foreach_child([this](AssetCatalogTreeItem &item) {
- uiBasicTreeViewItem &child_view_item = build_recursive(*this, item);
+ ui::BasicTreeViewItem &child_view_item = build_recursive(*this, item);
/* Open root-level items by default. */
child_view_item.set_collapsed(false);
});
}
- add_tree_item<uiBasicTreeViewItem>(
- IFACE_("Unassigned"), ICON_FILE_HIDDEN, [params](uiBasicTreeViewItem &) {
+ add_tree_item<ui::BasicTreeViewItem>(
+ IFACE_("Unassigned"), ICON_FILE_HIDDEN, [params](ui::BasicTreeViewItem &) {
params->asset_catalog_visibility = FILE_SHOW_ASSETS_WITHOUT_CATALOG;
WM_main_add_notifier(NC_SPACE | ND_SPACE_ASSET_PARAMS, NULL);
});
}
-uiBasicTreeViewItem &AssetCatalogTreeView::build_recursive(
- uiTreeViewItemContainer &view_parent_item, AssetCatalogTreeItem &catalog)
+ui::BasicTreeViewItem &AssetCatalogTreeView::build_recursive(
+ ui::TreeViewItemContainer &view_parent_item, AssetCatalogTreeItem &catalog)
{
- uiBasicTreeViewItem &view_item = view_parent_item.add_tree_item<AssetCatalogTreeViewItem>(
+ ui::BasicTreeViewItem &view_item = view_parent_item.add_tree_item<AssetCatalogTreeViewItem>(
catalog);
catalog.foreach_child(
@@ -163,11 +163,11 @@ void file_create_asset_catalog_tree_view_in_layout(::AssetLibrary *asset_library
bke::AssetLibrary *asset_library = reinterpret_cast<blender::bke::AssetLibrary *>(
asset_library_c);
- uiAbstractTreeView *tree_view = UI_block_add_view(
- block,
+ ui::AbstractTreeView *tree_view = UI_block_add_view(
+ *block,
"asset catalog tree view",
std::make_unique<AssetCatalogTreeView>(asset_library, params));
- uiTreeViewBuilder builder(*block);
+ ui::TreeViewBuilder builder(*block);
builder.build_tree_view(*tree_view);
}
More information about the Bf-blender-cvs
mailing list