65 bNode &group_input =
params.add_node(
"NodeGroupInput");
85 if (socket ==
nullptr) {
98 bNode &group_input =
params.add_node(
"NodeGroupInput");
105 if (socket ==
nullptr) {
124 const char *disabled_hint;
125 if (!(node_type->poll && node_type->poll(node_type, &
node_tree, &disabled_hint))) {
129 if (node_type->gather_link_search_ops) {
131 node_type->gather_link_search_ops(
params);
177 const char *
string = is_first ?
"" :
str;
181 for (
const int i :
IndexRange(filtered_amount)) {
198 if (item ==
nullptr) {
struct SpaceNode * CTX_wm_space_node(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
#define NODE_TYPES_BEGIN(ntype)
struct bNodeSocket * ntreeAddSocketInterfaceFromSocket(struct bNodeTree *ntree, struct bNode *from_node, struct bNodeSocket *from_sock)
struct bNodeLink * nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock)
void nodeSetSelected(struct bNode *node, bool select)
void nodeSetActive(struct bNodeTree *ntree, struct bNode *node)
#define LISTBASE_FOREACH(type, var, list)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void BLI_string_search_add(StringSearch *search, const char *str, void *user_data, int weight)
void BLI_string_search_free(StringSearch *search)
StringSearch * BLI_string_search_new(void)
int BLI_string_search_query(StringSearch *search, const char *query, void ***r_data)
void ED_node_tree_propagate_change(const struct bContext *C, struct Main *bmain, struct bNodeTree *ntree)
int UI_searchbox_size_x(void)
@ UI_BUT_ACTIVATE_ON_INIT
void UI_block_theme_style_set(uiBlock *block, char theme_style)
int UI_searchbox_size_y(void)
void UI_popup_block_invoke_ex(struct bContext *C, uiBlockCreateFunc func, void *arg, uiFreeArgFunc arg_free, bool can_refresh)
uiBut * uiDefBut(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
void UI_block_bounds_set_popup(uiBlock *block, int addval, const int bounds_offset[2])
@ UI_BLOCK_THEME_STYLE_POPUP
void UI_but_func_search_set(uiBut *but, uiButSearchCreateFn search_create_fn, uiButSearchUpdateFn search_update_fn, void *arg, bool free_arg, uiFreeArgFunc search_arg_free_fn, uiButHandleFunc search_exec_fn, void *active)
bool UI_search_item_add(uiSearchItems *items, const char *name, void *poin, int iconid, int but_flag, uint8_t name_prefix_offset)
void UI_but_func_search_set_sep_string(uiBut *but, const char *search_sep_string)
uiBlock * UI_block_begin(const struct bContext *C, struct ARegion *region, const char *name, eUIEmbossType emboss)
uiBut * uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxlen, int x, int y, short width, short height, float a1, float a2, const char *tip)
void UI_block_flag_enable(uiBlock *block, int flag)
void UI_but_flag_enable(uiBut *but, int flag)
@ UI_BLOCK_MOVEMOUSE_QUIT
void append(const T &value)
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
void(* MEM_freeN)(void *vmemh)
void invoke_node_link_drag_add_menu(bContext &C, bNode &node, bNodeSocket &socket, const float2 &cursor)
static void link_drag_search_update_fn(const bContext *UNUSED(C), void *arg, const char *str, uiSearchItems *items, const bool is_first)
static void add_reroute_node_fn(nodes::LinkSearchOpParams ¶ms)
static uiBlock * create_search_popup_block(bContext *C, ARegion *region, void *arg_op)
static void add_existing_group_input_fn(nodes::LinkSearchOpParams ¶ms, const bNodeSocket &interface_socket)
void node_deselect_all(SpaceNode &snode)
static void link_drag_search_free_fn(void *arg)
static void add_group_input_node_fn(nodes::LinkSearchOpParams ¶ms)
static void link_drag_search_exec_fn(bContext *C, void *arg1, void *arg2)
static void gather_socket_link_operations(bNodeTree &node_tree, const bNodeSocket &socket, Vector< SocketLinkOperation > &search_link_ops)
struct node_tree node_tree
void RNA_boolean_set(PointerRNA *ptr, const char *name, bool value)
#define UI_MENU_ARROW_SEP
struct bNodeTree * edittree
Vector< SocketLinkOperation > search_link_ops
eNodeSocketInOut in_out() const
bNodeSocket & from_socket
int WM_operator_name_call_ptr(bContext *C, wmOperatorType *ot, wmOperatorCallContext context, PointerRNA *properties, const wmEvent *event)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
void WM_operator_properties_create_ptr(PointerRNA *ptr, wmOperatorType *ot)
void WM_operator_properties_free(PointerRNA *ptr)