41 PyObject *empty_tuple = PyTuple_New(0);
53 static const char *
const _keywords[] = {
"id",
"type",
"array_length",
nullptr};
54 static _PyArg_Parser _parser = {
64 if (!_PyArg_ParseTupleAndKeywordsFast(empty_tuple,
75 if (
params.id ==
nullptr) {
76 PyErr_SetString(PyExc_ValueError,
"'id' argument not given");
81 PyErr_SetString(PyExc_ValueError,
"'array_length' out of range");
86 Py_DECREF(empty_tuple);
90 Py_DECREF(empty_tuple);
96 PyTypeObject *py_class =
static_cast<PyTypeObject *
>(gzt->
rna_ext.
data);
114 PyObject *py_class_dict = py_class->tp_dict;
115 PyObject *bl_target_properties = PyDict_GetItem(py_class_dict,
119 if (bl_target_properties !=
nullptr) {
120 PyObject *bl_target_properties_fast;
121 if (!(bl_target_properties_fast = PySequence_Fast(bl_target_properties,
122 "bl_target_properties sequence")))
130 const uint items_len = PySequence_Fast_GET_SIZE(bl_target_properties_fast);
131 PyObject **items = PySequence_Fast_ITEMS(bl_target_properties_fast);
133 for (
uint i = 0;
i < items_len;
i++) {
141 Py_DECREF(bl_target_properties_fast);
157 if (gt->rna_ext.srna) {
175 PyTypeObject *py_class =
static_cast<PyTypeObject *
>(gzgt->
rna_ext.
data);
#define RNA_MAX_ARRAY_LENGTH
void BPY_RNA_gizmo_wrapper(wmGizmoType *gzt, void *userdata)
static bool bpy_gizmotype_target_property_def(wmGizmoType *gzt, PyObject *item)
static void gizmo_properties_init(wmGizmoType *gzt)
static void gizmogroup_properties_init(wmGizmoGroupType *gzgt)
void BPY_RNA_gizmogroup_wrapper(wmGizmoGroupType *gzgt, void *userdata)
PyObject * bpy_intern_str_bl_target_properties
int pyrna_deferred_register_class(StructRNA *srna, PyTypeObject *py_class)
int pyrna_enum_value_parse_string(PyObject *o, void *p)
header-only compatibility defines.
#define PY_ARG_PARSER_HEAD_COMPAT()
void RNA_struct_blender_type_set(StructRNA *srna, void *blender_type)
const char * RNA_struct_translation_context(const StructRNA *type)
void RNA_def_struct_identifier_no_struct_map(StructRNA *srna, const char *identifier)
void RNA_def_struct_translation_context(StructRNA *srna, const char *context)
const EnumPropertyItem rna_enum_property_type_items[]
void WM_gizmotype_target_property_def(wmGizmoType *gzt, const char *idname, int data_type, int array_length)