10 #include "RNA_prototypes.h"
26 class GeometryDataSetTreeView;
30 std::optional<eAttrDomain> domain_;
52 std::optional<int> count()
const;
65 : geometry_set_(
std::move(geometry_set)),
90 ICON_CURVE_BEZCIRCLE);
99 this->add_tree_item<GeometryDataSetTreeViewItem>(
102 this->add_tree_item<GeometryDataSetTreeViewItem>(
110 : component_type_(component_type), domain_(
std::nullopt), icon_(icon)
119 : component_type_(component_type), domain_(domain), icon_(icon)
143 if (
const std::optional<int>
count = this->
count()) {
146 char element_count[7];
181 GeometryDataSetTreeView &tree_view = this->get_tree();
197 return component->attribute_domain_size(*domain_);
218 "Data Set Tree View",
219 std::make_unique<GeometryDataSetTreeView>(
struct SpaceSpreadsheet * CTX_wm_space_spreadsheet(const bContext *C)
struct bScreen * CTX_wm_screen(const bContext *C)
struct Depsgraph * CTX_data_depsgraph_pointer(const bContext *C)
@ GEO_COMPONENT_TYPE_MESH
@ GEO_COMPONENT_TYPE_POINT_CLOUD
@ GEO_COMPONENT_TYPE_INSTANCES
@ GEO_COMPONENT_TYPE_CURVE
@ GEO_COMPONENT_TYPE_VOLUME
int BKE_volume_num_grids(const struct Volume *volume)
void BLI_str_format_decimal_unit(char dst[7], int number_to_format) ATTR_NONNULL()
static uint8 component(Color32 c, uint i)
uiBlock * uiLayoutGetBlock(uiLayout *layout)
void uiItemL(uiLayout *layout, const char *name, int icon)
void UI_but_hint_drawstr_set(uiBut *but, const char *string)
void UI_block_layout_set_current(uiBlock *block, uiLayout *layout)
blender::ui::AbstractGridView * UI_block_add_view(uiBlock &block, blender::StringRef idname, std::unique_ptr< blender::ui::AbstractGridView > grid_view)
void build_row(uiLayout &row) override
bool supports_collapsing() const override
GeometryDataSetTreeViewItem(GeometryComponentType component_type, StringRef label, BIFIconID icon)
std::optional< bool > should_be_active() const override
void on_activate() override
GeometryDataSetTreeView(GeometrySet geometry_set, const bContext &C)
void build_tree() override
Abstract base class for defining a customizable tree-view item.
uiButViewItem * view_item_button()
AbstractTreeView & get_tree_view() const
void set_collapsed(bool collapsed)
void build_tree_view(AbstractTreeView &tree_view)
GeometrySet spreadsheet_get_display_geometry_set(const SpaceSpreadsheet *sspreadsheet, Object *object_eval)
void spreadsheet_data_set_panel_draw(const bContext *C, Panel *panel)
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
void RNA_property_update(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
Object * spreadsheet_get_object_eval(const SpaceSpreadsheet *sspreadsheet, const Depsgraph *depsgraph)
const Volume * get_volume_for_read() const
const GeometryComponent * get_component_for_read(GeometryComponentType component_type) const
uint8_t geometry_component_type