Cleanup: RNA: Make PointerRNA parameter const for more accessors.

Still much to do here, but that's one step further.

Should be strictly non-behavioral change.
This commit is contained in:
Bastien Montagne
2024-02-27 16:12:58 +01:00
parent f00099f5f2
commit e78224d751
24 changed files with 59 additions and 54 deletions

View File

@@ -287,21 +287,21 @@ int RNA_property_enum_bitflag_identifiers(
StructRNA *RNA_property_pointer_type(PointerRNA *ptr, PropertyRNA *prop);
bool RNA_property_pointer_poll(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *value);
bool RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop);
bool RNA_property_editable(const PointerRNA *ptr, PropertyRNA *prop);
/**
* Version of #RNA_property_editable that tries to return additional info in \a r_info
* that can be exposed in UI.
*/
bool RNA_property_editable_info(PointerRNA *ptr, PropertyRNA *prop, const char **r_info);
bool RNA_property_editable_info(const PointerRNA *ptr, PropertyRNA *prop, const char **r_info);
/**
* Same as RNA_property_editable(), except this checks individual items in an array.
*/
bool RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, const int index);
bool RNA_property_editable_index(const PointerRNA *ptr, PropertyRNA *prop, const int index);
/**
* Without lib check, only checks the flag.
*/
bool RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop);
bool RNA_property_editable_flag(const PointerRNA *ptr, PropertyRNA *prop);
bool RNA_property_animateable(const PointerRNA *ptr, PropertyRNA *prop);
bool RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop);
@@ -309,7 +309,7 @@ bool RNA_property_animated(PointerRNA *ptr, PropertyRNA *prop);
* \note Does not take into account editable status, this has to be checked separately
* (using #RNA_property_editable_flag() usually).
*/
bool RNA_property_overridable_get(PointerRNA *ptr, PropertyRNA *prop);
bool RNA_property_overridable_get(const PointerRNA *ptr, PropertyRNA *prop);
/**
* Should only be used for custom properties.
*/

View File

@@ -300,7 +300,7 @@ void rna_ID_name_set(PointerRNA *ptr, const char *value)
}
}
static int rna_ID_name_editable(PointerRNA *ptr, const char **r_info)
static int rna_ID_name_editable(const PointerRNA *ptr, const char **r_info)
{
ID *id = (ID *)ptr->data;
@@ -599,7 +599,7 @@ IDProperty **rna_ID_idprops(PointerRNA *ptr)
return &id->properties;
}
int rna_ID_is_runtime_editable(PointerRNA *ptr, const char **r_info)
int rna_ID_is_runtime_editable(const PointerRNA *ptr, const char **r_info)
{
ID *id = (ID *)ptr->data;
/* TODO: This should be abstracted in a BKE function or define, somewhat related to #88555. */

View File

@@ -184,7 +184,9 @@ bool RNA_pointer_is_null(const PointerRNA *ptr)
return (ptr->data == nullptr) || (ptr->owner_id == nullptr) || (ptr->type == nullptr);
}
static void rna_pointer_inherit_id(StructRNA *type, PointerRNA *parent, PointerRNA *ptr)
static void rna_pointer_inherit_id(const StructRNA *type,
const PointerRNA *parent,
PointerRNA *ptr)
{
if (type && type->flag & STRUCT_ID) {
ptr->owner_id = static_cast<ID *>(ptr->data);
@@ -203,7 +205,7 @@ PointerRNA RNA_blender_rna_pointer_create()
return ptr;
}
PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *data)
PointerRNA rna_pointer_inherit_refine(const PointerRNA *ptr, StructRNA *type, void *data)
{
if (data) {
PointerRNA result;
@@ -2094,7 +2096,7 @@ int RNA_property_ui_icon(const PropertyRNA *prop)
return rna_ensure_property((PropertyRNA *)prop)->icon;
}
static bool rna_property_editable_do(PointerRNA *ptr,
static bool rna_property_editable_do(const PointerRNA *ptr,
PropertyRNA *prop_orig,
const int index,
const char **r_info)
@@ -2155,17 +2157,17 @@ static bool rna_property_editable_do(PointerRNA *ptr,
return true;
}
bool RNA_property_editable(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_editable(const PointerRNA *ptr, PropertyRNA *prop)
{
return rna_property_editable_do(ptr, prop, -1, nullptr);
}
bool RNA_property_editable_info(PointerRNA *ptr, PropertyRNA *prop, const char **r_info)
bool RNA_property_editable_info(const PointerRNA *ptr, PropertyRNA *prop, const char **r_info)
{
return rna_property_editable_do(ptr, prop, -1, r_info);
}
bool RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_editable_flag(const PointerRNA *ptr, PropertyRNA *prop)
{
int flag;
const char *dummy_info;
@@ -2175,7 +2177,7 @@ bool RNA_property_editable_flag(PointerRNA *ptr, PropertyRNA *prop)
return (flag & PROP_EDITABLE) != 0;
}
bool RNA_property_editable_index(PointerRNA *ptr, PropertyRNA *prop, const int index)
bool RNA_property_editable_index(const PointerRNA *ptr, PropertyRNA *prop, const int index)
{
BLI_assert(index >= 0);

View File

@@ -120,7 +120,7 @@ int RNA_property_override_flag(PropertyRNA *prop)
return rna_ensure_property(prop)->flag_override;
}
bool RNA_property_overridable_get(PointerRNA *ptr, PropertyRNA *prop)
bool RNA_property_overridable_get(const PointerRNA *ptr, PropertyRNA *prop)
{
if (prop->magic == RNA_MAGIC) {
/* Special handling for insertions of constraints or modifiers... */

View File

@@ -119,7 +119,7 @@ static void rna_AnimData_dependency_update(Main *bmain, Scene *scene, PointerRNA
rna_AnimData_update(bmain, scene, ptr);
}
static int rna_AnimData_action_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_AnimData_action_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
AnimData *adt = (AnimData *)ptr->data;
return BKE_animdata_action_editable(adt) ? PROP_EDITABLE : PropertyFlag(0);
@@ -381,7 +381,7 @@ static StructRNA *rna_ksPath_id_typef(PointerRNA *ptr)
return ID_code_to_RNA_type(ksp->idtype);
}
static int rna_ksPath_id_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_ksPath_id_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
KS_Path *ksp = (KS_Path *)ptr->data;
return (ksp->idtype) ? PROP_EDITABLE : PropertyFlag(0);
@@ -478,7 +478,7 @@ static void rna_KeyingSet_name_set(PointerRNA *ptr, const char *value)
STRNCPY(ks->name, value);
}
static int rna_KeyingSet_active_ksPath_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_KeyingSet_active_ksPath_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
KeyingSet *ks = (KeyingSet *)ptr->data;

View File

@@ -82,7 +82,7 @@ static bool rna_AssetMetaData_editable_from_owner_id(const ID *owner_id,
return false;
}
int rna_AssetMetaData_editable(PointerRNA *ptr, const char **r_info)
int rna_AssetMetaData_editable(const PointerRNA *ptr, const char **r_info)
{
AssetMetaData *asset_data = static_cast<AssetMetaData *>(ptr->data);
@@ -99,7 +99,7 @@ static std::optional<std::string> rna_AssetTag_path(const PointerRNA *ptr)
return fmt::format("asset_data.tags[\"{}\"]", asset_tag_name_esc);
}
static int rna_AssetTag_editable(PointerRNA *ptr, const char **r_info)
static int rna_AssetTag_editable(const PointerRNA *ptr, const char **r_info)
{
AssetTag *asset_tag = static_cast<AssetTag *>(ptr->data);
ID *owner_id = ptr->owner_id;

View File

@@ -224,7 +224,7 @@ static void rna_Attribute_name_set(PointerRNA *ptr, const char *value)
BKE_id_attribute_rename(ptr->owner_id, layer->name, value, nullptr);
}
static int rna_Attribute_name_editable(PointerRNA *ptr, const char **r_info)
static int rna_Attribute_name_editable(const PointerRNA *ptr, const char **r_info)
{
CustomDataLayer *layer = static_cast<CustomDataLayer *>(ptr->data);
if (BKE_id_attribute_required(ptr->owner_id, layer->name)) {

View File

@@ -467,7 +467,7 @@ static std::optional<std::string> rna_ClothCollisionSettings_path(const PointerR
return std::nullopt;
}
static int rna_ClothSettings_internal_editable(PointerRNA *ptr, const char **r_info)
static int rna_ClothSettings_internal_editable(const PointerRNA *ptr, const char **r_info)
{
ClothSimSettings *sim = (ClothSimSettings *)ptr->data;

View File

@@ -271,7 +271,7 @@ static void rna_Curve_texspace_set(Main * /*bmain*/, Scene * /*scene*/, PointerR
}
}
static int rna_Curve_texspace_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_Curve_texspace_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
Curve *cu = static_cast<Curve *>(ptr->data);
return (cu->texspace_flag & CU_TEXSPACE_FLAG_AUTO) ? PropertyFlag(0) : PROP_EDITABLE;

View File

@@ -368,13 +368,13 @@ static StructRNA *rna_DriverTarget_id_typef(PointerRNA *ptr)
return ID_code_to_RNA_type(dtar->idtype);
}
static int rna_DriverTarget_id_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_DriverTarget_id_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
DriverTarget *dtar = (DriverTarget *)ptr->data;
return (dtar->idtype) ? PROP_EDITABLE : PropertyFlag(0);
}
static int rna_DriverTarget_id_type_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_DriverTarget_id_type_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
DriverTarget *dtar = (DriverTarget *)ptr->data;

View File

@@ -323,7 +323,7 @@ static std::optional<std::string> rna_GPencilLayer_path(const PointerRNA *ptr)
return fmt::format("layers[\"{}\"]", name_esc);
}
static int rna_GPencilLayer_active_frame_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_GPencilLayer_active_frame_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
bGPDlayer *gpl = (bGPDlayer *)ptr->data;

View File

@@ -259,7 +259,7 @@ void rna_def_mtex_common(BlenderRNA *brna,
void rna_def_texpaint_slots(BlenderRNA *brna, StructRNA *srna);
void rna_def_view_layer_common(BlenderRNA *brna, StructRNA *srna, bool scene);
int rna_AssetMetaData_editable(PointerRNA *ptr, const char **r_info);
int rna_AssetMetaData_editable(const PointerRNA *ptr, const char **r_info);
/**
* \note the UI text and updating has to be set by the caller.
*/
@@ -596,7 +596,7 @@ PropertyDefRNA *rna_find_struct_property_def(StructRNA *srna, PropertyRNA *prop)
/* Pointer Handling */
PointerRNA rna_pointer_inherit_refine(PointerRNA *ptr, StructRNA *type, void *data);
PointerRNA rna_pointer_inherit_refine(const PointerRNA *ptr, StructRNA *type, void *data);
/* Functions */

View File

@@ -48,8 +48,8 @@ using UpdateFunc = void (*)(Main *bmain, Scene *active_scene, PointerRNA *ptr);
using ContextPropUpdateFunc = void (*)(bContext *C, PointerRNA *ptr, PropertyRNA *prop);
using ContextUpdateFunc = void (*)(bContext *C, PointerRNA *ptr);
using EditableFunc = int (*)(PointerRNA *ptr, const char **r_info);
using ItemEditableFunc = int (*)(PointerRNA *ptr, int index);
using EditableFunc = int (*)(const PointerRNA *ptr, const char **r_info);
using ItemEditableFunc = int (*)(const PointerRNA *ptr, int index);
using IDPropertiesFunc = IDProperty **(*)(PointerRNA *ptr);
using StructRefineFunc = StructRNA *(*)(PointerRNA *ptr);
using StructPathFunc = std::optional<std::string> (*)(const PointerRNA *ptr);

View File

@@ -176,7 +176,7 @@ static void rna_Lattice_use_outside_set(PointerRNA *ptr, bool value)
}
}
static int rna_Lattice_size_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_Lattice_size_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
Lattice *lt = (Lattice *)ptr->data;

View File

@@ -746,7 +746,7 @@ static void rna_MeshLoopColor_color_set(PointerRNA *ptr, const float *values)
mlcol->a = round_fl_to_uchar_clamp(values[3] * 255.0f);
}
static int rna_Mesh_texspace_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_Mesh_texspace_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
Mesh *mesh = (Mesh *)ptr->data;
return (mesh->texspace_flag & ME_TEXSPACE_FLAG_AUTO) ? PropertyFlag(0) : PROP_EDITABLE;

View File

@@ -39,7 +39,7 @@
# include "WM_api.hh"
# include "WM_types.hh"
static int rna_Meta_texspace_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_Meta_texspace_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
MetaBall *mb = (MetaBall *)ptr->data;
return (mb->texspace_flag & MB_TEXSPACE_FLAG_AUTO) ? 0 : int(PROP_EDITABLE);

View File

@@ -429,7 +429,7 @@ static void rna_NlaStrip_use_auto_blend_set(PointerRNA *ptr, bool value)
}
}
static int rna_NlaStrip_action_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_NlaStrip_action_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
NlaStrip *strip = (NlaStrip *)ptr->data;

View File

@@ -1153,7 +1153,7 @@ static void rna_Object_active_material_set(PointerRNA *ptr,
}
}
static int rna_Object_active_material_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_Object_active_material_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
Object *ob = reinterpret_cast<Object *>(ptr->owner_id);
bool is_editable;
@@ -1246,7 +1246,7 @@ static void rna_Object_dimensions_set(PointerRNA *ptr, const float *value)
BKE_object_dimensions_set(ob, value, 0);
}
static int rna_Object_location_editable(PointerRNA *ptr, int index)
static int rna_Object_location_editable(const PointerRNA *ptr, int index)
{
Object *ob = static_cast<Object *>(ptr->data);
@@ -1265,7 +1265,7 @@ static int rna_Object_location_editable(PointerRNA *ptr, int index)
}
}
static int rna_Object_scale_editable(PointerRNA *ptr, int index)
static int rna_Object_scale_editable(const PointerRNA *ptr, int index)
{
Object *ob = static_cast<Object *>(ptr->data);
@@ -1284,7 +1284,7 @@ static int rna_Object_scale_editable(PointerRNA *ptr, int index)
}
}
static int rna_Object_rotation_euler_editable(PointerRNA *ptr, int index)
static int rna_Object_rotation_euler_editable(const PointerRNA *ptr, int index)
{
Object *ob = static_cast<Object *>(ptr->data);
@@ -1303,7 +1303,7 @@ static int rna_Object_rotation_euler_editable(PointerRNA *ptr, int index)
}
}
static int rna_Object_rotation_4d_editable(PointerRNA *ptr, int index)
static int rna_Object_rotation_4d_editable(const PointerRNA *ptr, int index)
{
Object *ob = static_cast<Object *>(ptr->data);
@@ -1338,7 +1338,7 @@ static int rna_MaterialSlot_index_get(PointerRNA *ptr)
return rna_MaterialSlot_index(ptr);
}
static int rna_MaterialSlot_material_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_MaterialSlot_material_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
Object *ob = reinterpret_cast<Object *>(ptr->owner_id);
const int index = rna_MaterialSlot_index(ptr);
@@ -2242,7 +2242,7 @@ static void rna_Object_mesh_symmetry_z_set(PointerRNA *ptr, bool value)
mesh_symmetry_set_common(ptr, value, ME_SYMMETRY_Z);
}
static int rna_Object_mesh_symmetry_yz_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_Object_mesh_symmetry_yz_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
const Object *ob = reinterpret_cast<Object *>(ptr->owner_id);
if (ob->type != OB_MESH) {

View File

@@ -499,7 +499,7 @@ bool rna_PoseChannel_constraints_override_apply(Main *bmain,
return true;
}
static int rna_PoseChannel_proxy_editable(PointerRNA * /*ptr*/, const char ** /*r_info*/)
static int rna_PoseChannel_proxy_editable(const PointerRNA * /*ptr*/, const char ** /*r_info*/)
{
# if 0
Object *ob = (Object *)ptr->owner_id;
@@ -515,7 +515,7 @@ static int rna_PoseChannel_proxy_editable(PointerRNA * /*ptr*/, const char ** /*
return PROP_EDITABLE;
}
static int rna_PoseChannel_location_editable(PointerRNA *ptr, int index)
static int rna_PoseChannel_location_editable(const PointerRNA *ptr, int index)
{
bPoseChannel *pchan = (bPoseChannel *)ptr->data;
@@ -534,7 +534,7 @@ static int rna_PoseChannel_location_editable(PointerRNA *ptr, int index)
}
}
static int rna_PoseChannel_scale_editable(PointerRNA *ptr, int index)
static int rna_PoseChannel_scale_editable(const PointerRNA *ptr, int index)
{
bPoseChannel *pchan = (bPoseChannel *)ptr->data;
@@ -553,7 +553,7 @@ static int rna_PoseChannel_scale_editable(PointerRNA *ptr, int index)
}
}
static int rna_PoseChannel_rotation_euler_editable(PointerRNA *ptr, int index)
static int rna_PoseChannel_rotation_euler_editable(const PointerRNA *ptr, int index)
{
bPoseChannel *pchan = (bPoseChannel *)ptr->data;
@@ -572,7 +572,7 @@ static int rna_PoseChannel_rotation_euler_editable(PointerRNA *ptr, int index)
}
}
static int rna_PoseChannel_rotation_4d_editable(PointerRNA *ptr, int index)
static int rna_PoseChannel_rotation_4d_editable(const PointerRNA *ptr, int index)
{
bPoseChannel *pchan = (bPoseChannel *)ptr->data;

View File

@@ -299,7 +299,8 @@ static PointerRNA rna_Region_data_get(PointerRNA *ptr)
return PointerRNA_NULL;
}
static int rna_region_active_panel_category_editable_get(PointerRNA *ptr, const char **r_info)
static int rna_region_active_panel_category_editable_get(const PointerRNA *ptr,
const char **r_info)
{
ARegion *region = static_cast<ARegion *>(ptr->data);
if (BLI_listbase_is_empty(&region->panels_category)) {

View File

@@ -573,7 +573,7 @@ static int rna_Sequence_frame_length_get(PointerRNA *ptr)
return SEQ_time_right_handle_frame_get(scene, seq) - SEQ_time_left_handle_frame_get(scene, seq);
}
static int rna_Sequence_frame_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_Sequence_frame_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
Sequence *seq = (Sequence *)ptr->data;
/* Effect sequences' start frame and length must be readonly! */

View File

@@ -2757,7 +2757,7 @@ static std::optional<std::string> rna_FileSelectParams_path(const PointerRNA * /
return "params";
}
int rna_FileSelectParams_filename_editable(PointerRNA *ptr, const char **r_info)
int rna_FileSelectParams_filename_editable(const PointerRNA *ptr, const char **r_info)
{
FileSelectParams *params = static_cast<FileSelectParams *>(ptr->data);
@@ -2837,7 +2837,7 @@ static PointerRNA rna_FileAssetSelectParams_filter_id_get(PointerRNA *ptr)
return rna_pointer_inherit_refine(ptr, &RNA_FileAssetSelectIDFilter, ptr->data);
}
static PointerRNA rna_FileBrowser_FileSelectEntry_asset_data_get(PointerRNA *ptr)
static PointerRNA rna_FileBrowser_FileSelectEntry_asset_data_get(const PointerRNA *ptr)
{
const FileDirEntry *entry = static_cast<const FileDirEntry *>(ptr->data);
@@ -2860,7 +2860,8 @@ static PointerRNA rna_FileBrowser_FileSelectEntry_asset_data_get(PointerRNA *ptr
return rna_pointer_inherit_refine(ptr, &RNA_AssetMetaData, asset_data);
}
static int rna_FileBrowser_FileSelectEntry_name_editable(PointerRNA *ptr, const char **r_info)
static int rna_FileBrowser_FileSelectEntry_name_editable(const PointerRNA *ptr,
const char **r_info)
{
const FileDirEntry *entry = static_cast<const FileDirEntry *>(ptr->data);
@@ -2977,7 +2978,8 @@ static void rna_FileBrowser_FSMenuEntry_name_set(PointerRNA *ptr, const char *va
ED_fsmenu_entry_set_name(fsm, value);
}
static int rna_FileBrowser_FSMenuEntry_name_get_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_FileBrowser_FSMenuEntry_name_get_editable(const PointerRNA *ptr,
const char ** /*r_info*/)
{
FSMenuEntry *fsm = static_cast<FSMenuEntry *>(ptr->data);

View File

@@ -1268,7 +1268,7 @@ static void rna_UserDef_studiolight_light_ambient_get(PointerRNA *ptr, float *va
copy_v3_v3(values, sl->light_ambient);
}
int rna_show_statusbar_vram_editable(PointerRNA * /*ptr*/, const char ** /*r_info*/)
int rna_show_statusbar_vram_editable(const PointerRNA * /*ptr*/, const char ** /*r_info*/)
{
return GPU_mem_stats_supported() ? PROP_EDITABLE : PropertyFlag(0);
}

View File

@@ -26,7 +26,7 @@
# include "WM_api.hh"
/* Matching function in rna_ID.cc */
static int rna_VectorFont_filepath_editable(PointerRNA *ptr, const char ** /*r_info*/)
static int rna_VectorFont_filepath_editable(const PointerRNA *ptr, const char ** /*r_info*/)
{
VFont *vfont = (VFont *)ptr->owner_id;
if (BKE_vfont_is_builtin(vfont)) {