19#include "RNA_prototypes.hh"
43 if (ntree->
typeinfo->no_group_interface) {
60 col.menu(
"NODE_MT_node_tree_interface_new_item",
"", ICON_ADD);
61 col.op(
"node.interface_item_remove",
"", ICON_REMOVE);
63 col.menu(
"NODE_MT_node_tree_interface_context_menu",
"", ICON_DOWNARROW_HLT);
79 layout.
prop(&active_item_ptr,
"description",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
83 layout.
prop(&active_item_ptr,
"attribute_domain",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
86 &active_item_ptr,
"default_attribute_name",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
95 layout.
prop(&active_item_ptr,
"description",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
97 &active_item_ptr,
"default_closed",
UI_ITEM_NONE,
IFACE_(
"Closed by Default"), ICON_NONE);
102 &
tree.id, &RNA_NodeTreeInterfaceSocket, panel_toggle_socket);
104 &panel_toggle_socket_ptr,
"default_value",
UI_ITEM_NONE,
IFACE_(
"Default"), ICON_NONE);
107 &panel_toggle_socket_ptr,
"hide_in_modifier",
UI_ITEM_NONE, std::nullopt, ICON_NONE);
109 &panel_toggle_socket_ptr,
"structure_type",
UI_ITEM_NONE,
IFACE_(
"Shape"), ICON_NONE);
SpaceNode * CTX_wm_space_node(const bContext *C)
void BLI_addtail(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define STRNCPY_UTF8(dst, src)
#define BLT_I18NCONTEXT_DEFAULT_BPYRNA
#define ID_IS_EDITABLE(_id)
@ NODE_INTERFACE_SOCKET_OUTPUT
void uiTemplateNodeTreeInterface(uiLayout *layout, const bContext *C, PointerRNA *ptr)
void * MEM_callocN(size_t len, const char *str)
static void node_tree_interface_panel_draw(const bContext *C, Panel *panel)
void node_tree_interface_panel_register(ARegionType *art)
void node_tree_interface_draw(bContext &C, uiLayout &layout, bNodeTree &tree)
static bool node_tree_interface_panel_poll(const bContext *C, PanelType *)
bool socket_type_supports_fields(const eNodeSocketDatatype socket_type)
PointerRNA RNA_pointer_get(PointerRNA *ptr, const char *name)
PointerRNA RNA_pointer_create_discrete(ID *id, StructRNA *type, void *data)
void(* draw)(const bContext *C, Panel *panel)
char idname[BKE_ST_MAXNAME]
bool(* poll)(const bContext *C, PanelType *pt)
char translation_context[BKE_ST_MAXNAME]
char category[BKE_ST_MAXNAME]
char label[BKE_ST_MAXNAME]
struct bNodeTree * edittree
bNodeTreeTypeHandle * typeinfo
void(* interface_draw)(ID *id, bNodeTreeInterfaceSocket *socket, bContext *C, uiLayout *layout)
void use_property_decorate_set(bool is_sep)
PanelLayout panel(const bContext *C, blender::StringRef idname, bool default_closed)
uiLayout & column(bool align)
uiLayout & row(bool align)
void use_property_split_set(bool value)
void prop(PointerRNA *ptr, PropertyRNA *prop, int index, int value, eUI_Item_Flag flag, std::optional< blender::StringRef > name_opt, int icon, std::optional< blender::StringRef > placeholder=std::nullopt)