Blender V5.0
StructRNA Struct Reference

#include <rna_internal_types.hh>

Public Attributes

ContainerRNA cont
const char * identifier
void * py_type
void * blender_type
int flag
const EnumPropertyItemprop_tag_defines
const char * name
const char * description
const char * translation_context
int icon
PropertyRNAnameproperty
PropertyRNAiteratorproperty
StructRNAbase
StructRNAnested
StructRefineFunc refine
StructPathFunc path
StructRegisterFunc reg
StructUnregisterFunc unreg
StructInstanceFunc instance
IDPropertiesFunc idproperties
IDPropertiesFunc system_idproperties
ListBase functions

Detailed Description

Note
Changes to this struct require updating rna_generate_struct in makesrna.cc.

Definition at line 663 of file rna_internal_types.hh.

Member Data Documentation

◆ base

◆ blender_type

void* StructRNA::blender_type

◆ cont

◆ description

const char* StructRNA::description

Single line description, displayed in the tool-tip for example.

Definition at line 689 of file rna_internal_types.hh.

Referenced by RNA_def_struct_ptr(), RNA_def_struct_ui_text(), rna_generate_struct(), RNA_struct_ui_description(), and RNA_struct_ui_description_raw().

◆ flag

◆ functions

◆ icon

◆ identifier

const char* StructRNA::identifier

Unique identifier, keep after cont.

Definition at line 667 of file rna_internal_types.hh.

Referenced by cmp_struct(), rna_brna_structs_add(), RNA_def_function(), rna_def_function_funcs(), rna_def_function_funcs_header(), rna_def_function_wrapper_funcs(), RNA_def_property_array(), rna_def_property_begin_func(), RNA_def_property_boolean_array_default(), RNA_def_property_boolean_default(), RNA_def_property_boolean_default_func(), RNA_def_property_boolean_funcs(), rna_def_property_boolean_sdna(), RNA_def_property_collection_funcs(), RNA_def_property_collection_sdna(), RNA_def_property_deprecated(), rna_def_property_end_func(), RNA_def_property_enum_default(), RNA_def_property_enum_default_func(), RNA_def_property_enum_funcs(), RNA_def_property_enum_items(), RNA_def_property_enum_native_type(), RNA_def_property_enum_sdna(), RNA_def_property_flag(), RNA_def_property_float_array_default(), RNA_def_property_float_default(), RNA_def_property_float_default_func(), RNA_def_property_float_funcs(), RNA_def_property_float_sdna(), rna_def_property_funcs(), rna_def_property_funcs_header(), rna_def_property_funcs_header_cpp(), rna_def_property_funcs_impl_cpp(), rna_def_property_get_func(), RNA_def_property_int_array_default(), RNA_def_property_int_default(), RNA_def_property_int_default_func(), RNA_def_property_int_funcs(), RNA_def_property_int_sdna(), rna_def_property_length_func(), rna_def_property_lookup_int_func(), rna_def_property_lookup_string_func(), RNA_def_property_multi_array(), rna_def_property_next_func(), RNA_def_property_pointer_funcs(), RNA_def_property_pointer_sdna(), RNA_def_property_range(), rna_def_property_search_func(), rna_def_property_set_func(), RNA_def_property_string_default(), RNA_def_property_string_filepath_filter_func(), RNA_def_property_string_funcs(), RNA_def_property_string_maxlength(), RNA_def_property_string_sdna(), RNA_def_property_string_search_func(), RNA_def_property_struct_type(), RNA_def_property_ui_range(), RNA_def_property_ui_scale_type(), rna_def_property_wrapper_funcs(), rna_def_struct_function_call_impl_cpp(), rna_def_struct_function_impl_cpp(), RNA_def_struct_identifier(), RNA_def_struct_identifier_no_struct_map(), RNA_def_struct_name_property(), RNA_def_struct_nested(), RNA_def_struct_ptr(), rna_find_dna_type(), rna_find_struct(), rna_find_type(), rna_generate_blender(), rna_generate_function_prototypes(), rna_generate_header(), rna_generate_header_class_cpp(), rna_generate_header_cpp(), rna_generate_internal_property_prototypes(), rna_generate_parameter_prototypes(), rna_generate_property(), rna_generate_static_parameter_prototypes(), rna_generate_struct(), rna_generate_struct_rna_prototypes(), RNA_init(), RNA_property_pointer_set(), RNA_struct_available_or_report(), RNA_struct_free(), and RNA_struct_identifier().

◆ idproperties

IDPropertiesFunc StructRNA::idproperties

Return the location of the struct's pointer to the user-defined root group IDProperty.

Definition at line 736 of file rna_internal_types.hh.

Referenced by RNA_def_struct_idprops_func(), rna_generate_struct(), RNA_struct_idprops_check(), and RNA_struct_idprops_p().

◆ instance

StructInstanceFunc StructRNA::instance

Optionally support reusing Python instances for this type.

Without this, an operator class created for wmOperatorType.invoke (for example) would have a different instance passed to the wmOperatorType.modal callback. So any variables assigned to self from Python would not be available to other callbacks.

Being able to access the instance also has the advantage that we can invalidate the Python instance when the data has been removed, see: BPY_DECREF_RNA_INVALIDATE so accessing the variables from Python raises an exception instead of crashing.

Definition at line 733 of file rna_internal_types.hh.

Referenced by RNA_def_struct_register_funcs(), rna_generate_struct(), and RNA_struct_instance().

◆ iteratorproperty

PropertyRNA* StructRNA::iteratorproperty

Property to iterate over properties.

Definition at line 699 of file rna_internal_types.hh.

Referenced by RNA_def_struct_ptr(), rna_generate_struct(), and RNA_struct_iterator_property().

◆ name

◆ nameproperty

◆ nested

StructRNA* StructRNA::nested

Only use for nested structs, where both the parent and child access the same C Struct but nesting is used for grouping properties. The parent property is used so we know NULL checks are not needed, and that this struct will never exist without its parent.

Definition at line 710 of file rna_internal_types.hh.

Referenced by RNA_def_struct_nested(), and rna_generate_struct().

◆ path

StructPathFunc StructRNA::path

Function to find path to this struct in an ID.

Definition at line 716 of file rna_internal_types.hh.

Referenced by RNA_def_struct_path_func(), and rna_generate_struct().

◆ prop_tag_defines

const EnumPropertyItem* StructRNA::prop_tag_defines

Each StructRNA type can define its own tags which properties can set (PropertyRNA.tags) for changed behavior based on struct-type.

Definition at line 684 of file rna_internal_types.hh.

Referenced by RNA_def_struct_property_tags(), and RNA_struct_property_tag_defines().

◆ py_type

void* StructRNA::py_type

Python type, this is a sub-type of pyrna_struct_Type but used so each struct can have its own type which is useful for subclassing RNA.

Owns a reference so the value isn't freed by Python.

Definition at line 675 of file rna_internal_types.hh.

Referenced by RNA_def_struct_ptr(), RNA_struct_free_extension(), RNA_struct_py_type_get(), and RNA_struct_py_type_set().

◆ refine

StructRefineFunc StructRNA::refine

Function to give the more specific type.

Definition at line 713 of file rna_internal_types.hh.

Referenced by RNA_def_struct_refine_func(), rna_generate_struct(), and rna_pointer_refine().

◆ reg

StructRegisterFunc StructRNA::reg

Function to register/unregister sub-classes.

Definition at line 719 of file rna_internal_types.hh.

Referenced by RNA_def_struct_register_funcs(), rna_generate_struct(), and RNA_struct_register().

◆ system_idproperties

IDPropertiesFunc StructRNA::system_idproperties

Return the location of the struct's pointer to the system-defined root group IDProperty.

Definition at line 739 of file rna_internal_types.hh.

Referenced by RNA_def_struct_system_idprops_func(), rna_generate_struct(), RNA_struct_system_idprops_check(), RNA_struct_system_idprops_p(), and RNA_struct_system_idprops_register_check().

◆ translation_context

const char* StructRNA::translation_context

◆ unreg

StructUnregisterFunc StructRNA::unreg

Function to unregister sub-classes.

Definition at line 721 of file rna_internal_types.hh.

Referenced by RNA_def_struct_register_funcs(), rna_generate_struct(), and RNA_struct_unregister().


The documentation for this struct was generated from the following file: