Blender V4.5
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
ListBase functions

Detailed Description

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

Definition at line 598 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 624 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 602 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_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_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 root group IDProperty.

Definition at line 671 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 668 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 634 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 645 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 651 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 619 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 610 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 648 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 654 of file rna_internal_types.hh.

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

◆ translation_context

const char* StructRNA::translation_context

◆ unreg

StructUnregisterFunc StructRNA::unreg

Function to unregister sub-classes.

Definition at line 656 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: