Blender V4.5
blender::nodes::DeclarationListBuilder Class Reference

#include <NOD_node_declaration.hh>

Inherited by blender::nodes::NodeDeclarationBuilder, and blender::nodes::PanelDeclarationBuilder.

Public Member Functions

 DeclarationListBuilder (NodeDeclarationBuilder &node_decl_builder, Vector< ItemDeclaration * > &items)
 
BaseSocketDeclarationBuilderadd_input (eNodeSocketDatatype socket_type, StringRef name, StringRef identifier="")
 
BaseSocketDeclarationBuilderadd_input (eCustomDataType data_type, StringRef name, StringRef identifier="")
 
BaseSocketDeclarationBuilderadd_output (eNodeSocketDatatype socket_type, StringRef name, StringRef identifier="")
 
BaseSocketDeclarationBuilderadd_output (eCustomDataType data_type, StringRef name, StringRef identifier="")
 
PanelDeclarationBuilderadd_panel (StringRef name, int identifier=-1)
 
void add_separator ()
 
void add_default_layout ()
 
void add_layout (std::function< void(uiLayout *, bContext *, PointerRNA *)> draw)
 
#DeclarationListBuilder Inline Methods
template<typename DeclType >
DeclType::Builder & add_socket (StringRef name, StringRef identifier, eNodeSocketInOut in_out)
 
template<typename DeclType >
DeclType::Builder & add_input (StringRef name, StringRef identifier="")
 
template<typename DeclType >
DeclType::Builder & add_output (StringRef name, StringRef identifier="")
 

Public Attributes

NodeDeclarationBuildernode_decl_builder
 
Vector< ItemDeclaration * > & items
 
PanelDeclarationparent_panel_decl = nullptr
 

Detailed Description

This is a base class for #NodeDeclarationBuilder and #PanelDeclarationBuilder. It unifies the behavior of adding sockets and other items to the root node and to panels.

Definition at line 520 of file NOD_node_declaration.hh.

Constructor & Destructor Documentation

◆ DeclarationListBuilder()

blender::nodes::DeclarationListBuilder::DeclarationListBuilder ( NodeDeclarationBuilder & node_decl_builder,
Vector< ItemDeclaration * > & items )
inline

Definition at line 526 of file NOD_node_declaration.hh.

Member Function Documentation

◆ add_default_layout()

void blender::nodes::DeclarationListBuilder::add_default_layout ( )

◆ add_input() [1/3]

BaseSocketDeclarationBuilder & blender::nodes::DeclarationListBuilder::add_input ( eCustomDataType data_type,
StringRef name,
StringRef identifier = "" )

◆ add_input() [2/3]

BaseSocketDeclarationBuilder & blender::nodes::DeclarationListBuilder::add_input ( eNodeSocketDatatype socket_type,
StringRef name,
StringRef identifier = "" )

◆ add_input() [3/3]

◆ add_layout()

◆ add_output() [1/3]

BaseSocketDeclarationBuilder & blender::nodes::DeclarationListBuilder::add_output ( eCustomDataType data_type,
StringRef name,
StringRef identifier = "" )

◆ add_output() [2/3]

BaseSocketDeclarationBuilder & blender::nodes::DeclarationListBuilder::add_output ( eNodeSocketDatatype socket_type,
StringRef name,
StringRef identifier = "" )

◆ add_output() [3/3]

template<typename DeclType >
DeclType::Builder & blender::nodes::DeclarationListBuilder::add_output ( StringRef name,
StringRef identifier = "" )
inline

◆ add_panel()

PanelDeclarationBuilder & blender::nodes::DeclarationListBuilder::add_panel ( StringRef name,
int identifier = -1 )

◆ add_separator()

void blender::nodes::DeclarationListBuilder::add_separator ( )

◆ add_socket()

Member Data Documentation

◆ items

Vector<ItemDeclaration *>& blender::nodes::DeclarationListBuilder::items

Definition at line 523 of file NOD_node_declaration.hh.

Referenced by add_default_layout(), add_layout(), add_panel(), and add_separator().

◆ node_decl_builder

NodeDeclarationBuilder& blender::nodes::DeclarationListBuilder::node_decl_builder

◆ parent_panel_decl

PanelDeclaration* blender::nodes::DeclarationListBuilder::parent_panel_decl = nullptr

Definition at line 524 of file NOD_node_declaration.hh.

Referenced by add_panel(), and add_socket().


The documentation for this class was generated from the following files: