18#include "RNA_prototypes.hh"
26 std::function<
void(
bContext &)> handle_func)
34 char name_buf[128], *
name;
41 if (&rna_type == &RNA_NodeTree) {
48 if (
name != name_buf) {
67 sub_row->
label(
"", ICON_RIGHTARROW_THIN);
70 int icon = context_path[
i].icon;
71 std::string
name = context_path[
i].name;
72 if (context_path[
i].handle_func) {
73 but = sub_row->
button(
name.c_str(), icon, context_path[
i].handle_func);
#define ID_REAL_USERS(id)
void UI_but_icon_indicator_number_set(uiBut *but, const int indicator_number)
uiBut * uiItemL_ex(uiLayout *layout, blender::StringRef name, int icon, bool highlight, bool redalert)
constexpr IndexRange index_range() const
void append(const T &value)
void MEM_freeN(void *vmemh)
void template_breadcrumbs(uiLayout &layout, Span< ContextPathItem > context_path)
void context_path_add_generic(Vector< ContextPathItem > &path, StructRNA &rna_type, void *ptr, const BIFIconID icon_override=ICON_NONE, std::function< void(bContext &)> handle_func=nullptr)
char * RNA_struct_name_get_alloc(PointerRNA *ptr, char *fixedbuf, int fixedlen, int *r_len)
int RNA_struct_ui_icon(const StructRNA *type)
PointerRNA RNA_pointer_create_discrete(ID *id, StructRNA *type, void *data)
void alignment_set(blender::ui::LayoutAlign alignment)
void label(blender::StringRef name, int icon)
uiBut * button(blender::StringRef name, int icon, std::function< void(bContext &)> func, std::optional< blender::StringRef > tooltip=std::nullopt)
uiLayout & row(bool align)