61 const char *name =
nullptr;
68 const char *name =
nullptr;
74 #define MENU_SEP "\xe2\x96\xb6"
102 data->dummy_info_for_search.name = std::string(
str);
107 if (
str[0] ==
'\0' && !is_first) {
110 data->dummy_info_for_search.name = std::string(
str);
116 const char *
string = is_first ?
"" :
str;
126 for (
const int i :
IndexRange(filtered_amount)) {
158 if (ui_storage ==
nullptr) {
159 uiItemR(layout, socket_ptr,
"default_value", 0,
"", 0);
194 static_cast<void *
>(
data),
const NodeUIStorage * BKE_node_tree_ui_storage_get_from_context(const bContext *C, const bNodeTree &ntree, const bNode &node)
General operations, lookup, etc. for blender objects.
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, const size_t maxncpy) ATTR_NONNULL()
void BLI_string_search_free(StringSearch *search)
void BLI_string_search_add(StringSearch *search, const char *str, void *user_data)
StringSearch * BLI_string_search_new(void)
int BLI_string_search_query(StringSearch *search, const char *query, void ***r_data)
Object is a sort of wrapper for general info.
void ED_undo_push(struct bContext *C, const char *str)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
uiBlock * uiLayoutGetBlock(uiLayout *layout)
bool UI_search_item_add(uiSearchItems *items, const char *name, void *poin, int iconid, int state, const uint8_t name_prefix_offset)
void UI_but_func_search_set(uiBut *but, uiButSearchCreateFn search_create_fn, uiButSearchUpdateFn search_update_fn, void *arg, const bool free_arg, uiButSearchArgFreeFn search_arg_free_fn, uiButHandleFunc search_exec_fn, void *active)
void uiItemR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
uiBut * uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x, int y, short width, short height, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
void UI_but_func_search_set_results_are_suggestions(uiBut *but, const bool value)
void UI_but_func_search_set_sep_string(uiBut *but, const char *search_sep_string)
bool contains(const Key &key) const
void(* MEM_freeN)(void *vmemh)
static StringRef attribute_domain_string(const AttributeDomain domain)
BLI_STATIC_ASSERT(std::is_trivially_destructible_v< AttributeSearchData >, "")
static void attribute_search_update_fn(const bContext *UNUSED(C), void *arg, const char *str, uiSearchItems *items, const bool is_first)
static bool attribute_search_item_add(uiSearchItems *items, const AvailableAttributeInfo &item)
static StringRef attribute_data_type_string(const CustomDataType type)
void node_geometry_add_attribute_search_button(const bContext *C, const bNodeTree *node_tree, const bNode *node, PointerRNA *socket_ptr, uiLayout *layout)
static void attribute_search_exec_fn(bContext *C, void *data_v, void *item_v)
bool RNA_enum_name_from_value(const EnumPropertyItem *item, int value, const char **r_name)
const EnumPropertyItem rna_enum_attribute_domain_items[]
const EnumPropertyItem rna_enum_attribute_type_items[]
AvailableAttributeInfo & dummy_info_for_search
const NodeUIStorage & ui_storage
AvailableAttributeInfo dummy_info_for_search