PyAPI Docs: Fix generation after recent node RNA changes
This commit allows both `rna_enum_` and `rna_node_`to be used for enum prefixes This also fixes one enum by adding `rna_` to the prefix. Together these changes fix the API documentation generation.
This commit is contained in:
@@ -2255,13 +2255,18 @@ def write_rst_enum_items_and_index(basepath):
|
||||
fw(".. toctree::\n")
|
||||
fw("\n")
|
||||
for key, enum_items in rna_enum_dict.items():
|
||||
if not key.startswith("rna_enum_"):
|
||||
raise Exception("Found RNA enum identifier that doesn't use the 'rna_enum_' prefix, found %r!" % key)
|
||||
valid_prefix = key.startswith("rna_enum_") or key.startswith("rna_node_")
|
||||
if not valid_prefix:
|
||||
raise Exception(
|
||||
"Found RNA enum identifier that doesn't use the 'rna_enum_' or 'rna_node_' prefix, found %r!" %
|
||||
key)
|
||||
key_no_prefix = key.removeprefix("rna_enum_")
|
||||
key_no_prefix = key.removeprefix("rna_node_")
|
||||
fw(" %s\n" % key_no_prefix)
|
||||
|
||||
for key, enum_items in rna_enum_dict.items():
|
||||
key_no_prefix = key.removeprefix("rna_enum_")
|
||||
key_no_prefix = key.removeprefix("rna_node_")
|
||||
write_rst_enum_items(basepath_bpy_types_rna_enum, key, key_no_prefix, enum_items)
|
||||
fw("\n")
|
||||
|
||||
|
||||
@@ -225,7 +225,7 @@ DEF_ENUM(rna_enum_attribute_domain_without_corner_items)
|
||||
DEF_ENUM(rna_enum_attribute_domain_with_auto_items)
|
||||
DEF_ENUM(rna_enum_geometry_component_type_items)
|
||||
DEF_ENUM(rna_node_combsep_color_items)
|
||||
DEF_ENUM(node_socket_data_type_items)
|
||||
DEF_ENUM(rna_node_socket_data_type_items)
|
||||
|
||||
DEF_ENUM(rna_node_geometry_curve_handle_side_items)
|
||||
DEF_ENUM(rna_node_geometry_mesh_circle_fill_type_items)
|
||||
|
||||
@@ -69,7 +69,7 @@ const EnumPropertyItem rna_enum_node_socket_in_out_items[] = {{SOCK_IN, "IN", 0,
|
||||
{SOCK_OUT, "OUT", 0, "Output", ""},
|
||||
{0, nullptr, 0, nullptr, nullptr}};
|
||||
|
||||
const EnumPropertyItem node_socket_data_type_items[] = {
|
||||
const EnumPropertyItem rna_node_socket_data_type_items[] = {
|
||||
{SOCK_FLOAT, "FLOAT", 0, "Float", ""},
|
||||
{SOCK_INT, "INT", 0, "Integer", ""},
|
||||
{SOCK_BOOLEAN, "BOOLEAN", 0, "Boolean", ""},
|
||||
@@ -1944,7 +1944,7 @@ static const EnumPropertyItem *rna_GeometryNodeSwitch_type_itemf(bContext * /*C*
|
||||
bool *r_free)
|
||||
{
|
||||
*r_free = true;
|
||||
return itemf_function_check(node_socket_data_type_items, switch_type_supported);
|
||||
return itemf_function_check(rna_node_socket_data_type_items, switch_type_supported);
|
||||
}
|
||||
|
||||
static bool geometry_node_asset_trait_flag_get(PointerRNA *ptr,
|
||||
@@ -3412,7 +3412,7 @@ static const EnumPropertyItem *rna_SimulationStateItem_socket_type_itemf(bContex
|
||||
bool *r_free)
|
||||
{
|
||||
*r_free = true;
|
||||
return itemf_function_check(node_socket_data_type_items,
|
||||
return itemf_function_check(rna_node_socket_data_type_items,
|
||||
rna_SimulationStateItem_socket_type_supported);
|
||||
}
|
||||
|
||||
@@ -3427,7 +3427,8 @@ static const EnumPropertyItem *rna_RepeatItem_socket_type_itemf(bContext * /*C*/
|
||||
bool *r_free)
|
||||
{
|
||||
*r_free = true;
|
||||
return itemf_function_check(node_socket_data_type_items, rna_RepeatItem_socket_type_supported);
|
||||
return itemf_function_check(rna_node_socket_data_type_items,
|
||||
rna_RepeatItem_socket_type_supported);
|
||||
}
|
||||
|
||||
static void rna_SimulationStateItem_name_set(PointerRNA *ptr, const char *value)
|
||||
@@ -9177,7 +9178,7 @@ static void rna_def_simulation_state_item(BlenderRNA *brna)
|
||||
RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_SimulationStateItem_update");
|
||||
|
||||
prop = RNA_def_property(srna, "socket_type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_items(prop, node_socket_data_type_items);
|
||||
RNA_def_property_enum_items(prop, rna_node_socket_data_type_items);
|
||||
RNA_def_property_enum_funcs(prop, nullptr, nullptr, "rna_SimulationStateItem_socket_type_itemf");
|
||||
RNA_def_property_ui_text(prop, "Socket Type", "");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
@@ -9215,7 +9216,7 @@ static void rna_def_geo_simulation_output_items(BlenderRNA *brna)
|
||||
RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_MAIN | FUNC_USE_REPORTS);
|
||||
parm = RNA_def_enum(func,
|
||||
"socket_type",
|
||||
node_socket_data_type_items,
|
||||
rna_node_socket_data_type_items,
|
||||
SOCK_GEOMETRY,
|
||||
"Socket Type",
|
||||
"Socket type of the item");
|
||||
@@ -9292,7 +9293,7 @@ static void rna_def_repeat_item(BlenderRNA *brna)
|
||||
RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_RepeatItem_update");
|
||||
|
||||
prop = RNA_def_property(srna, "socket_type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_items(prop, node_socket_data_type_items);
|
||||
RNA_def_property_enum_items(prop, rna_node_socket_data_type_items);
|
||||
RNA_def_property_enum_funcs(prop, nullptr, nullptr, "rna_RepeatItem_socket_type_itemf");
|
||||
RNA_def_property_ui_text(prop, "Socket Type", "");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
@@ -9321,7 +9322,7 @@ static void rna_def_geo_repeat_output_items(BlenderRNA *brna)
|
||||
RNA_def_function_flag(func, FUNC_USE_SELF_ID | FUNC_USE_MAIN | FUNC_USE_REPORTS);
|
||||
parm = RNA_def_enum(func,
|
||||
"socket_type",
|
||||
node_socket_data_type_items,
|
||||
rna_node_socket_data_type_items,
|
||||
SOCK_GEOMETRY,
|
||||
"Socket Type",
|
||||
"Socket type of the item");
|
||||
@@ -9453,7 +9454,7 @@ static void def_geo_switch(StructRNA *srna)
|
||||
RNA_def_struct_sdna_from(srna, "NodeSwitch", "storage");
|
||||
prop = RNA_def_property(srna, "input_type", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, nullptr, "input_type");
|
||||
RNA_def_property_enum_items(prop, node_socket_data_type_items);
|
||||
RNA_def_property_enum_items(prop, rna_node_socket_data_type_items);
|
||||
RNA_def_property_enum_funcs(prop, nullptr, nullptr, "rna_GeometryNodeSwitch_type_itemf");
|
||||
RNA_def_property_ui_text(prop, "Input Type", "");
|
||||
RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update");
|
||||
|
||||
@@ -709,14 +709,15 @@ static void node_rna(StructRNA *srna)
|
||||
"data_type",
|
||||
"Input Type",
|
||||
"",
|
||||
node_socket_data_type_items,
|
||||
rna_node_socket_data_type_items,
|
||||
NOD_storage_enum_accessors(data_type),
|
||||
std::nullopt,
|
||||
[](bContext * /*C*/, PointerRNA * /*ptr*/, PropertyRNA * /*prop*/, bool *r_free) {
|
||||
*r_free = true;
|
||||
return enum_items_filter(node_socket_data_type_items, [](const EnumPropertyItem &item) {
|
||||
return ELEM(item.value, SOCK_FLOAT, SOCK_INT, SOCK_VECTOR, SOCK_STRING, SOCK_RGBA);
|
||||
});
|
||||
return enum_items_filter(
|
||||
rna_node_socket_data_type_items, [](const EnumPropertyItem &item) {
|
||||
return ELEM(item.value, SOCK_FLOAT, SOCK_INT, SOCK_VECTOR, SOCK_STRING, SOCK_RGBA);
|
||||
});
|
||||
});
|
||||
RNA_def_property_update_runtime(prop, data_type_update);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user