20 b.use_custom_socket_order();
21 b.allow_any_socket_order();
23 b.add_default_layout();
26 b.add_output<
decl::Bool>(
"Show").align_with_previous();
39 inputs_.append_as(
"Message", type);
46 const bool show = show_variant.
get<
bool>();
48 params.set_output(0, show_variant);
53 if (!message_variant) {
57 std::string message = message_variant->
extract<std::string>();
60 context.local_user_data);
63 tree_logger->node_warnings.append(
64 *tree_logger->allocator,
65 {node_.identifier, {NodeWarningType(node_.custom1), std::move(message)}});
68 params.set_output(0, show_variant);
128 return std::make_unique<LazyFunctionForWarningNode>(node);
#define NODE_CLASS_INTERFACE
char * BLI_strncpy_utf8(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define NOD_REGISTER_NODE(REGISTER_FUNC)
#define NOD_inline_enum_accessors(member)
static const CPPType & get()
Vector< Output > outputs_
void execute_impl(lf::Params ¶ms, const lf::Context &context) const override
LazyFunctionForWarningNode(const bNode &node)
void node_register_type(bNodeType &ntype)
static void node_register()
static void node_rna(StructRNA *srna)
static void node_declare(NodeDeclarationBuilder &b)
static void node_layout(uiLayout *layout, bContext *, PointerRNA *ptr)
static void node_label(const bNodeTree *, const bNode *node, char *label, int label_maxncpy)
std::unique_ptr< LazyFunction > get_warning_node_lazy_function(const bNode &node)
PropertyRNA * RNA_def_node_enum(StructRNA *srna, const char *identifier, const char *ui_name, const char *ui_description, const EnumPropertyItem *static_items, const EnumRNAAccessors accessors, std::optional< int > default_value, const EnumPropertyItemFunc item_func, const bool allow_animation)
void geo_node_type_base(blender::bke::bNodeType *ntype, std::string idname, const std::optional< int16_t > legacy_type)
bool RNA_enum_name(const EnumPropertyItem *item, const int value, const char **r_name)
const EnumPropertyItem rna_enum_node_warning_type_items[]
std::string ui_description
void(* labelfunc)(const bNodeTree *ntree, const bNode *node, char *label, int label_maxncpy)
const char * enum_name_legacy
void(* draw_buttons)(uiLayout *, bContext *C, PointerRNA *ptr)
NodeDeclareFunction declare
geo_eval_log::GeoTreeLogger * try_get_tree_logger(const GeoNodesUserData &user_data) const
void use_property_decorate_set(bool is_sep)
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)