Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_node/node_templates.c
| Show First 20 Lines • Show All 553 Lines • ▼ Show 20 Lines | static void node_menu_column_foreach_cb(void *calldata, int nclass, const char *name) | ||||
| if (!ELEM(nclass, NODE_CLASS_GROUP, NODE_CLASS_LAYOUT)) | if (!ELEM(nclass, NODE_CLASS_GROUP, NODE_CLASS_LAYOUT)) | ||||
| ui_node_menu_column(arg, nclass, name); | ui_node_menu_column(arg, nclass, name); | ||||
| } | } | ||||
| static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_p) | static void ui_template_node_link_menu(bContext *C, uiLayout *layout, void *but_p) | ||||
| { | { | ||||
| Main *bmain = CTX_data_main(C); | Main *bmain = CTX_data_main(C); | ||||
| Scene *scene = CTX_data_scene(C); | Scene *scene = CTX_data_scene(C); | ||||
| ViewRender *view_render = CTX_data_view_render(C); | |||||
| uiBlock *block = uiLayoutGetBlock(layout); | uiBlock *block = uiLayoutGetBlock(layout); | ||||
| uiBut *but = (uiBut *)but_p; | uiBut *but = (uiBut *)but_p; | ||||
| uiLayout *split, *column; | uiLayout *split, *column; | ||||
| NodeLinkArg *arg = (NodeLinkArg *)but->func_argN; | NodeLinkArg *arg = (NodeLinkArg *)but->func_argN; | ||||
| bNodeSocket *sock = arg->sock; | bNodeSocket *sock = arg->sock; | ||||
| bNodeTreeType *ntreetype = arg->ntree->typeinfo; | bNodeTreeType *ntreetype = arg->ntree->typeinfo; | ||||
| UI_block_flag_enable(block, UI_BLOCK_NO_FLIP | UI_BLOCK_IS_FLIP); | UI_block_flag_enable(block, UI_BLOCK_NO_FLIP | UI_BLOCK_IS_FLIP); | ||||
| UI_block_layout_set_current(block, layout); | UI_block_layout_set_current(block, layout); | ||||
| split = uiLayoutSplit(layout, 0.0f, false); | split = uiLayoutSplit(layout, 0.0f, false); | ||||
| arg->bmain = bmain; | arg->bmain = bmain; | ||||
| arg->scene = scene; | arg->scene = scene; | ||||
| arg->layout = split; | arg->layout = split; | ||||
| if (ntreetype && ntreetype->foreach_nodeclass) | if (ntreetype && ntreetype->foreach_nodeclass) | ||||
| ntreetype->foreach_nodeclass(scene, arg, node_menu_column_foreach_cb); | ntreetype->foreach_nodeclass(view_render, arg, node_menu_column_foreach_cb); | ||||
| column = uiLayoutColumn(split, false); | column = uiLayoutColumn(split, false); | ||||
| UI_block_layout_set_current(block, column); | UI_block_layout_set_current(block, column); | ||||
| if (sock->link) { | if (sock->link) { | ||||
| uiItemL(column, IFACE_("Link"), ICON_NONE); | uiItemL(column, IFACE_("Link"), ICON_NONE); | ||||
| but = block->buttons.last; | but = block->buttons.last; | ||||
| but->drawflag = UI_BUT_TEXT_LEFT; | but->drawflag = UI_BUT_TEXT_LEFT; | ||||
| ▲ Show 20 Lines • Show All 195 Lines • Show Last 20 Lines | |||||