Blender V5.0
node_templates.cc File Reference
#include <cstdlib>
#include <cstring>
#include <optional>
#include <fmt/format.h>
#include "MEM_guardedalloc.h"
#include "DNA_node_types.h"
#include "DNA_screen_types.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_vector.hh"
#include "BLT_translation.hh"
#include "BKE_context.hh"
#include "BKE_lib_id.hh"
#include "BKE_library.hh"
#include "BKE_main.hh"
#include "BKE_main_invariants.hh"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_update.hh"
#include "RNA_access.hh"
#include "RNA_prototypes.hh"
#include "NOD_node_declaration.hh"
#include "NOD_socket.hh"
#include "../interface/interface_intern.hh"
#include "UI_interface_layout.hh"
#include "ED_node.hh"
#include "node_intern.hh"
#include "ED_undo.hh"
#include "WM_api.hh"

Go to the source code of this file.

Classes

struct  blender::ed::space_node::NodeLinkItem
struct  blender::ed::space_node::NodeLinkArg

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::space_node

Macros

#define UI_NODE_LINK_DISCONNECT   -1
#define UI_NODE_LINK_REMOVE   -2

Functions

static void blender::ed::space_node::node_link_item_init (NodeLinkItem &item)
static bool blender::ed::space_node::node_link_item_compare (bNode *node, NodeLinkItem *item)
static void blender::ed::space_node::node_link_item_apply (bNodeTree *ntree, bNode *node, NodeLinkItem *item)
static void blender::ed::space_node::node_tag_recursive (bNode *node)
static void blender::ed::space_node::node_clear_recursive (bNode *node)
static void blender::ed::space_node::node_remove_linked (Main *bmain, bNodeTree *ntree, bNode *rem_node)
static void blender::ed::space_node::node_socket_disconnect (Main *bmain, bNodeTree *ntree, bNode *node_to, bNodeSocket *sock_to)
static void blender::ed::space_node::node_socket_remove (Main *bmain, bNodeTree *ntree, bNode *node_to, bNodeSocket *sock_to)
static void blender::ed::space_node::node_socket_add_replace (const bContext *C, bNodeTree *ntree, bNode *node_to, bNodeSocket *sock_to, int type, NodeLinkItem *item)
static Vector< NodeLinkItemblender::ed::space_node::ui_node_link_items (NodeLinkArg *arg, int in_out, std::optional< NodeDeclaration > &r_node_decl)
static void blender::ed::space_node::ui_node_link (bContext *C, void *arg_p, void *event_p)
static void blender::ed::space_node::ui_node_sock_name (const bNodeTree *ntree, bNodeSocket *sock, char name[UI_MAX_NAME_STR])
static int blender::ed::space_node::ui_compatible_sockets (int typeA, int typeB)
static int blender::ed::space_node::ui_node_item_name_compare (const void *a, const void *b)
static bool blender::ed::space_node::ui_node_item_special_poll (const bNodeTree *, const bke::bNodeType *ntype)
static void blender::ed::space_node::ui_node_menu_column (NodeLinkArg *arg, int nclass, const char *cname)
static void blender::ed::space_node::node_menu_column_foreach_cb (void *calldata, int nclass, const StringRefNull name)
static void blender::ed::space_node::ui_template_node_link_menu (bContext *C, uiLayout *layout, void *but_p)
void uiTemplateNodeLink (uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)
static void blender::ed::space_node::ui_node_draw_input (uiLayout &layout, bContext &C, bNodeTree &ntree, bNode &node, bNodeSocket &input, int depth, const char *panel_label)
static void blender::ed::space_node::ui_node_draw_recursive (uiLayout &layout, bContext &C, bNodeTree &ntree, bNode &node, const nodes::PanelDeclaration &panel_decl, const int depth)
static void blender::ed::space_node::ui_node_draw_node (uiLayout &layout, bContext &C, bNodeTree &ntree, bNode &node, int depth)
void uiTemplateNodeView (uiLayout *layout, bContext *C, bNodeTree *ntree, bNode *node, bNodeSocket *input)

Macro Definition Documentation

◆ UI_NODE_LINK_DISCONNECT

#define UI_NODE_LINK_DISCONNECT   -1

◆ UI_NODE_LINK_REMOVE

#define UI_NODE_LINK_REMOVE   -2

Function Documentation

◆ uiTemplateNodeLink()

◆ uiTemplateNodeView()

void uiTemplateNodeView ( uiLayout * layout,
bContext * C,
bNodeTree * ntree,
bNode * node,
bNodeSocket * input )