Blender V4.3
node_templates.cc File Reference
#include <cstdlib>
#include <cstring>
#include <optional>
#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_main.hh"
#include "BKE_node_runtime.hh"
#include "BKE_node_tree_interface.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 "NOD_socket_declarations.hh"
#include "../interface/interface_intern.hh"
#include "UI_interface.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 char *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::node_panel_toggle_button_cb (bContext *C, void *panel_state_argv, void *ntree_argv)
 
static void blender::ed::space_node::ui_node_draw_panel (uiLayout &layout, bContext &C, bNodeTree &ntree, const nodes::PanelDeclaration &panel_decl, bNodePanelState &panel_state, PointerRNA nodeptr)
 
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 )

Definition at line 993 of file node_templates.cc.

References bNodeTree::flag, LISTBASE_FOREACH, and bNodeTree::nodes.