Blender V4.3
idprop_py_api.cc File Reference
#include <algorithm>
#include <Python.h>
#include "MEM_guardedalloc.h"
#include "BLI_utildefines.h"
#include "idprop_py_api.hh"
#include "idprop_py_ui_api.hh"
#include "BKE_idprop.hh"
#include "DNA_ID.h"
#include "py_capi_utils.hh"
#include "python_utildefines.hh"

Go to the source code of this file.

Macros

#define USE_STRING_COERCE
 
#define SHARED_MEMBER_SET(member, value)
 
#define SHARED_MEMBER_SET(member, value)
 

Functions

bool pyrna_id_FromPyObject (PyObject *obj, ID **id)
 
PyObject * pyrna_id_CreatePyObject (ID *id)
 
bool pyrna_id_CheckPyObject (PyObject *obj)
 
Initialize Types
static PyObject * BPy_IDGroup_ViewKeys_CreatePyObject (BPy_IDProperty *group)
 
static PyObject * BPy_IDGroup_ViewValues_CreatePyObject (BPy_IDProperty *group)
 
static PyObject * BPy_IDGroup_ViewItems_CreatePyObject (BPy_IDProperty *group)
 
static BPy_IDGroup_ViewIDGroup_View_New_WithType (BPy_IDProperty *group, PyTypeObject *type)
 
void IDProp_Init_Types ()
 
Python from ID-Property (Internal Conversions)

Low level conversion to avoid duplicate code, no type checking.

static PyObject * idprop_py_from_idp_string (const IDProperty *prop)
 
static PyObject * idprop_py_from_idp_int (const IDProperty *prop)
 
static PyObject * idprop_py_from_idp_float (const IDProperty *prop)
 
static PyObject * idprop_py_from_idp_double (const IDProperty *prop)
 
static PyObject * idprop_py_from_idp_bool (const IDProperty *prop)
 
static PyObject * idprop_py_from_idp_group (ID *id, IDProperty *prop, IDProperty *parent)
 
static PyObject * idprop_py_from_idp_id (IDProperty *prop)
 
static PyObject * idprop_py_from_idp_array (ID *id, IDProperty *prop)
 
static PyObject * idprop_py_from_idp_idparray (ID *id, IDProperty *prop)
 
ID-Property from Python (Internal Conversions)
static IDPropertyidp_from_PyFloat (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
 
static IDPropertyidp_from_PyBool (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
 
static IDPropertyidp_from_PyLong (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
 
static IDPropertyidp_from_PyUnicode (IDProperty *prop_exist, const char *name, PyObject *ob, const bool, const bool can_create)
 
static IDPropertyidp_from_PyBytes (IDProperty *prop_exist, const char *name, PyObject *ob, const bool, const bool can_create)
 
static int idp_array_type_from_formatstr_and_size (const char *typestr, Py_ssize_t itemsize)
 
static const char * idp_format_from_array_type (int type)
 
static IDPropertyidp_from_PySequence_Buffer (IDProperty *prop_exist, const char *name, Py_buffer &buffer, const int idp_type, const bool, const bool can_create)
 
static IDPropertyidp_from_PySequence_Fast (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
 
static IDPropertyidp_from_PySequence (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
 
static IDPropertyidp_from_PyMapping (IDProperty *, const char *name, PyObject *ob, const bool, const bool)
 
static IDPropertyidp_from_DatablockPointer (IDProperty *prop_exist, const char *name, PyObject *ob, const bool, const bool can_create)
 
static IDPropertyidp_from_PyObject (IDProperty *prop_exist, const char *name, PyObject *ob, const bool do_conversion, const bool can_create)
 
Mapping Get/Set (Internal Access)
bool BPy_IDProperty_Map_ValidateAndCreate (PyObject *name_obj, IDProperty *group, PyObject *ob)
 
int BPy_Wrap_SetMapItem (IDProperty *prop, PyObject *key, PyObject *val)
 
static int BPy_IDGroup_Map_SetItem (BPy_IDProperty *self, PyObject *key, PyObject *val)
 
static PyObject * BPy_IDGroup_iter (BPy_IDProperty *self)
 
PyObject * BPy_IDGroup_MapDataToPy (IDProperty *prop)
 

Variables

ID-Property Group Type
static PySequenceMethods BPy_IDGroup_Seq
 
static PyMappingMethods BPy_IDGroup_Mapping
 
PyTypeObject BPy_IDGroup_Type
 
ID Array Type
PyTypeObject BPy_IDArray_Type
 

IDProp Group Access

static PyGetSetDef BPy_IDGroup_getseters []
 
static Py_hash_t BPy_IDGroup_hash (BPy_IDProperty *self)
 
static PyObject * BPy_IDGroup_repr (BPy_IDProperty *self)
 
PyObject * BPy_IDGroup_WrapData (ID *id, IDProperty *prop, IDProperty *parent)
 
static PyObject * BPy_IDGroup_GetName (BPy_IDProperty *self, void *)
 
static int BPy_IDGroup_SetName (BPy_IDProperty *self, PyObject *value, void *)
 
static Py_ssize_t BPy_IDGroup_Map_Len (BPy_IDProperty *self)
 
static PyObject * BPy_IDGroup_Map_GetItem (BPy_IDProperty *self, PyObject *item)
 
static char idp_sequence_type (PyObject *seq_fast)
 
static const char * idp_try_read_name (PyObject *name_obj)
 

ID-Property Group Iterator Type

PyTypeObject BPy_IDGroup_IterKeys_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
 
PyTypeObject BPy_IDGroup_IterValues_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
 
PyTypeObject BPy_IDGroup_IterItems_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
 
static PyObject * BPy_IDGroup_IterKeys_CreatePyObject (BPy_IDProperty *group, const bool reversed)
 
static PyObject * BPy_IDGroup_IterValues_CreatePyObject (BPy_IDProperty *group, const bool reversed)
 
static PyObject * BPy_IDGroup_IterItems_CreatePyObject (BPy_IDProperty *group, const bool reversed)
 
static PyObject * BPy_IDGroup_Iter_repr (BPy_IDGroup_Iter *self)
 
static void BPy_IDGroup_Iter_dealloc (BPy_IDGroup_Iter *self)
 
static int BPy_IDGroup_Iter_traverse (BPy_IDGroup_Iter *self, visitproc visit, void *arg)
 
static int BPy_IDGroup_Iter_clear (BPy_IDGroup_Iter *self)
 
static int BPy_IDGroup_Iter_is_gc (BPy_IDGroup_Iter *self)
 
static bool BPy_Group_Iter_same_size_or_raise_error (BPy_IDGroup_Iter *self)
 
static PyObject * BPy_Group_IterKeys_next (BPy_IDGroup_Iter *self)
 
static PyObject * BPy_Group_IterValues_next (BPy_IDGroup_Iter *self)
 
static PyObject * BPy_Group_IterItems_next (BPy_IDGroup_Iter *self)
 
static void IDGroup_Iter_init_type ()
 
static PyObject * IDGroup_Iter_New_WithType (BPy_IDProperty *group, const bool reversed, PyTypeObject *type)
 

ID-Property Group View Types (Keys/Values/Items)

This view types is a thin wrapper on keys/values/items, this matches Python's dict_view type. This is returned by property.keys() and is separate from the iterator that loops over keys.

There are some less common features this type could support (matching Python's dict_view)

TODO:

  • Efficient contains checks for values and items which currently convert to a list first.
  • Missing dict_views.isdisjoint.
  • Missing tp_as_number (nb_subtract, nb_and, nb_xor, nb_or).
static PySequenceMethods BPy_IDGroup_ViewKeys_as_sequence
 
static PySequenceMethods BPy_IDGroup_ViewValues_as_sequence
 
static PySequenceMethods BPy_IDGroup_ViewItems_as_sequence
 
static PyMethodDef BPy_IDGroup_View_methods []
 
PyTypeObject BPy_IDGroup_ViewKeys_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
 
PyTypeObject BPy_IDGroup_ViewValues_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
 
PyTypeObject BPy_IDGroup_ViewItems_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}
 
static PyObject * BPy_IDGroup_View_repr (BPy_IDGroup_View *self)
 
static void BPy_IDGroup_View_dealloc (BPy_IDGroup_View *self)
 
static int BPy_IDGroup_View_traverse (BPy_IDGroup_View *self, visitproc visit, void *arg)
 
static int BPy_IDGroup_View_clear (BPy_IDGroup_View *self)
 
static int BPy_IDGroup_View_is_gc (BPy_IDGroup_View *self)
 
static PyObject * BPy_Group_ViewKeys_iter (BPy_IDGroup_View *self)
 
static PyObject * BPy_Group_ViewValues_iter (BPy_IDGroup_View *self)
 
static PyObject * BPy_Group_ViewItems_iter (BPy_IDGroup_View *self)
 
static Py_ssize_t BPy_Group_View_len (BPy_IDGroup_View *self)
 
static int BPy_Group_ViewKeys_Contains (BPy_IDGroup_View *self, PyObject *value)
 
static int BPy_Group_ViewValues_Contains (BPy_IDGroup_View *self, PyObject *value)
 
static int BPy_Group_ViewItems_Contains (BPy_IDGroup_View *self, PyObject *value)
 
 PyDoc_STRVAR (BPy_IDGroup_View_reversed_doc, "Return a reverse iterator over the ID Property keys values or items.")
 
static PyObject * BPy_IDGroup_View_reversed (BPy_IDGroup_View *self, PyObject *)
 
static void IDGroup_View_init_type ()
 

ID-Property Group Methods

static PyMethodDef BPy_IDGroup_methods []
 
static int BPy_IDGroup_Contains (BPy_IDProperty *self, PyObject *value)
 
 PyDoc_STRVAR (BPy_IDGroup_pop_doc, ".. method:: pop(key, default)\n" "\n" " Remove an item from the group, returning a Python representation.\n" "\n" " :raises KeyError: When the item doesn't exist.\n" "\n" " :arg key: Name of item to remove.\n" " :type key: str\n" " :arg default: Value to return when key isn't found, otherwise raise an exception.\n" " :type default: Any\n")
 
static PyObject * BPy_IDGroup_pop (BPy_IDProperty *self, PyObject *args)
 
static void BPy_IDGroup_CorrectListLen (IDProperty *prop, PyObject *seq, int len, const char *func)
 
PyObject * BPy_Wrap_GetKeys (IDProperty *prop)
 
PyObject * BPy_Wrap_GetValues (ID *id, IDProperty *prop)
 
PyObject * BPy_Wrap_GetItems (ID *id, IDProperty *prop)
 
PyObject * BPy_Wrap_GetKeys_View_WithID (ID *id, IDProperty *prop)
 
PyObject * BPy_Wrap_GetValues_View_WithID (ID *id, IDProperty *prop)
 
PyObject * BPy_Wrap_GetItems_View_WithID (ID *id, IDProperty *prop)
 
 PyDoc_STRVAR (BPy_IDGroup_keys_doc, ".. method:: keys()\n" "\n" " Return the keys associated with this group as a list of strings.\n")
 
static PyObject * BPy_IDGroup_keys (BPy_IDProperty *self)
 
 PyDoc_STRVAR (BPy_IDGroup_values_doc, ".. method:: values()\n" "\n" " Return the values associated with this group.\n")
 
static PyObject * BPy_IDGroup_values (BPy_IDProperty *self)
 
 PyDoc_STRVAR (BPy_IDGroup_items_doc, ".. method:: items()\n" "\n" " Iterate through the items in the dict; behaves like dictionary method items.\n")
 
static PyObject * BPy_IDGroup_items (BPy_IDProperty *self)
 
 PyDoc_STRVAR (BPy_IDGroup_update_doc, ".. method:: update(other)\n" "\n" " Update key, values.\n" "\n" " :arg other: Updates the values in the group with this.\n" " :type other: :class:`IDPropertyGroup` | dict[str, Any]\n")
 
static PyObject * BPy_IDGroup_update (BPy_IDProperty *self, PyObject *value)
 
 PyDoc_STRVAR (BPy_IDGroup_to_dict_doc, ".. method:: to_dict()\n" "\n" " Return a purely Python version of the group.\n")
 
static PyObject * BPy_IDGroup_to_dict (BPy_IDProperty *self)
 
 PyDoc_STRVAR (BPy_IDGroup_clear_doc, ".. method:: clear()\n" "\n" " Clear all members from this group.\n")
 
static PyObject * BPy_IDGroup_clear (BPy_IDProperty *self)
 
 PyDoc_STRVAR (BPy_IDGroup_get_doc, ".. method:: get(key, default=None)\n" "\n" " Return the value for key, if it exists, else default.\n")
 
static PyObject * BPy_IDGroup_get (BPy_IDProperty *self, PyObject *args)
 

ID Array Methods

static PyGetSetDef BPy_IDArray_getseters []
 
static PyMethodDef BPy_IDArray_methods []
 
static PySequenceMethods BPy_IDArray_Seq
 
static PyMappingMethods BPy_IDArray_AsMapping
 
static PyBufferProcs BPy_IDArray_Buffer
 
static PyTypeObject * idp_array_py_type (BPy_IDArray *self, size_t *elem_size)
 
static PyObject * BPy_IDArray_repr (BPy_IDArray *self)
 
 PyDoc_STRVAR (BPy_IDArray_get_typecode_doc, "The type of the data in the array {'f': float, 'd': double, 'i': int, 'b': bool}.")
 
static PyObject * BPy_IDArray_get_typecode (BPy_IDArray *self, void *)
 
 PyDoc_STRVAR (BPy_IDArray_to_list_doc, ".. method:: to_list()\n" "\n" " Return the array as a list.\n")
 
static PyObject * BPy_IDArray_to_list (BPy_IDArray *self)
 
static Py_ssize_t BPy_IDArray_Len (BPy_IDArray *self)
 
static PyObject * BPy_IDArray_GetItem (BPy_IDArray *self, Py_ssize_t index)
 
static int BPy_IDArray_SetItem (BPy_IDArray *self, Py_ssize_t index, PyObject *value)
 
static PyObject * BPy_IDArray_slice (BPy_IDArray *self, int begin, int end)
 
static int BPy_IDArray_ass_slice (BPy_IDArray *self, int begin, int end, PyObject *seq)
 
static PyObject * BPy_IDArray_subscript (BPy_IDArray *self, PyObject *item)
 
static int BPy_IDArray_ass_subscript (BPy_IDArray *self, PyObject *item, PyObject *value)
 
static int itemsize_by_idarray_type (int array_type)
 
static int BPy_IDArray_getbuffer (BPy_IDArray *self, Py_buffer *view, int flags)
 
static void BPy_IDArray_releasebuffer (BPy_IDArray *, Py_buffer *view)
 

Public Module 'idprop.types'

static PyModuleDef IDProp_types_module_def
 
static PyObject * BPyInit_idprop_types ()
 

Public Module 'idprop'

static PyMethodDef IDProp_methods []
 
static PyModuleDef IDProp_module_def
 
 PyDoc_STRVAR (IDProp_module_doc, "This module provides access id property types (currently mainly for docs).")
 
PyObject * BPyInit_idprop ()
 

Macro Definition Documentation

◆ SHARED_MEMBER_SET [1/2]

#define SHARED_MEMBER_SET ( member,
value )
Value:
{ \
k_ty->member = v_ty->member = i_ty->member = value; \
} \
((void)0)

Referenced by IDGroup_Iter_init_type(), and IDGroup_View_init_type().

◆ SHARED_MEMBER_SET [2/2]

#define SHARED_MEMBER_SET ( member,
value )
Value:
{ \
k_ty->member = v_ty->member = i_ty->member = value; \
} \
((void)0)

◆ USE_STRING_COERCE

#define USE_STRING_COERCE

Definition at line 24 of file idprop_py_api.cc.

Function Documentation

◆ BPy_Group_Iter_same_size_or_raise_error()

static bool BPy_Group_Iter_same_size_or_raise_error ( BPy_IDGroup_Iter * self)
static

Definition at line 1329 of file idprop_py_api.cc.

References self.

Referenced by BPy_Group_IterItems_next(), BPy_Group_IterKeys_next(), and BPy_Group_IterValues_next().

◆ BPy_Group_IterItems_next()

static PyObject * BPy_Group_IterItems_next ( BPy_IDGroup_Iter * self)
static

◆ BPy_Group_IterKeys_next()

static PyObject * BPy_Group_IterKeys_next ( BPy_IDGroup_Iter * self)
static

◆ BPy_Group_IterValues_next()

static PyObject * BPy_Group_IterValues_next ( BPy_IDGroup_Iter * self)
static

◆ BPy_Group_View_len()

static Py_ssize_t BPy_Group_View_len ( BPy_IDGroup_View * self)
static

Definition at line 1531 of file idprop_py_api.cc.

References self.

◆ BPy_Group_ViewItems_Contains()

static int BPy_Group_ViewItems_Contains ( BPy_IDGroup_View * self,
PyObject * value )
static

Definition at line 1559 of file idprop_py_api.cc.

References result, and self.

◆ BPy_Group_ViewItems_iter()

static PyObject * BPy_Group_ViewItems_iter ( BPy_IDGroup_View * self)
static

Definition at line 1526 of file idprop_py_api.cc.

References BPy_IDGroup_IterItems_CreatePyObject(), and self.

Referenced by IDGroup_View_init_type().

◆ BPy_Group_ViewKeys_Contains()

static int BPy_Group_ViewKeys_Contains ( BPy_IDGroup_View * self,
PyObject * value )
static

Definition at line 1539 of file idprop_py_api.cc.

References BPy_IDGroup_Contains(), and self.

◆ BPy_Group_ViewKeys_iter()

static PyObject * BPy_Group_ViewKeys_iter ( BPy_IDGroup_View * self)
static

Definition at line 1516 of file idprop_py_api.cc.

References BPy_IDGroup_IterKeys_CreatePyObject(), and self.

Referenced by IDGroup_View_init_type().

◆ BPy_Group_ViewValues_Contains()

static int BPy_Group_ViewValues_Contains ( BPy_IDGroup_View * self,
PyObject * value )
static

Definition at line 1547 of file idprop_py_api.cc.

References result, and self.

◆ BPy_Group_ViewValues_iter()

static PyObject * BPy_Group_ViewValues_iter ( BPy_IDGroup_View * self)
static

Definition at line 1521 of file idprop_py_api.cc.

References BPy_IDGroup_IterValues_CreatePyObject(), and self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDArray_ass_slice()

static int BPy_IDArray_ass_slice ( BPy_IDArray * self,
int begin,
int end,
PyObject * seq )
static

◆ BPy_IDArray_ass_subscript()

static int BPy_IDArray_ass_subscript ( BPy_IDArray * self,
PyObject * item,
PyObject * value )
static

Definition at line 2377 of file idprop_py_api.cc.

References BPy_IDArray_ass_slice(), BPy_IDArray_SetItem(), and self.

◆ BPy_IDArray_get_typecode()

static PyObject * BPy_IDArray_get_typecode ( BPy_IDArray * self,
void *  )
static

Definition at line 2108 of file idprop_py_api.cc.

References IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_INT, and self.

◆ BPy_IDArray_getbuffer()

static int BPy_IDArray_getbuffer ( BPy_IDArray * self,
Py_buffer * view,
int flags )
static

◆ BPy_IDArray_GetItem()

static PyObject * BPy_IDArray_GetItem ( BPy_IDArray * self,
Py_ssize_t index )
static

Definition at line 2176 of file idprop_py_api.cc.

References IDP_Array, IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_INT, and self.

Referenced by BPy_IDArray_subscript().

◆ BPy_IDArray_Len()

static Py_ssize_t BPy_IDArray_Len ( BPy_IDArray * self)
static

Definition at line 2171 of file idprop_py_api.cc.

References self.

◆ BPy_IDArray_releasebuffer()

static void BPy_IDArray_releasebuffer ( BPy_IDArray * ,
Py_buffer * view )
static

Definition at line 2452 of file idprop_py_api.cc.

References MEM_freeN().

◆ BPy_IDArray_repr()

static PyObject * BPy_IDArray_repr ( BPy_IDArray * self)
static

Definition at line 2099 of file idprop_py_api.cc.

References self.

◆ BPy_IDArray_SetItem()

static int BPy_IDArray_SetItem ( BPy_IDArray * self,
Py_ssize_t index,
PyObject * value )
static

◆ BPy_IDArray_slice()

static PyObject * BPy_IDArray_slice ( BPy_IDArray * self,
int begin,
int end )
static

◆ BPy_IDArray_subscript()

static PyObject * BPy_IDArray_subscript ( BPy_IDArray * self,
PyObject * item )
static

Definition at line 2339 of file idprop_py_api.cc.

References BPy_IDArray_GetItem(), BPy_IDArray_slice(), and self.

◆ BPy_IDArray_to_list()

static PyObject * BPy_IDArray_to_list ( BPy_IDArray * self)
static

Definition at line 2152 of file idprop_py_api.cc.

References BPy_IDGroup_MapDataToPy(), and self.

◆ BPy_IDGroup_clear()

static PyObject * BPy_IDGroup_clear ( BPy_IDProperty * self)
static

Definition at line 1938 of file idprop_py_api.cc.

References IDP_ClearProperty(), and self.

◆ BPy_IDGroup_Contains()

static int BPy_IDGroup_Contains ( BPy_IDProperty * self,
PyObject * value )
static

Definition at line 1867 of file idprop_py_api.cc.

References IDP_GetPropertyFromGroup(), and self.

Referenced by BPy_Group_ViewKeys_Contains().

◆ BPy_IDGroup_CorrectListLen()

static void BPy_IDGroup_CorrectListLen ( IDProperty * prop,
PyObject * seq,
int len,
const char * func )
static

Definition at line 1721 of file idprop_py_api.cc.

References IDProperty::len, len, and printf.

Referenced by BPy_Wrap_GetItems(), BPy_Wrap_GetKeys(), and BPy_Wrap_GetValues().

◆ BPy_IDGroup_get()

static PyObject * BPy_IDGroup_get ( BPy_IDProperty * self,
PyObject * args )
static

Definition at line 1950 of file idprop_py_api.cc.

References BPy_IDGroup_WrapData(), IDP_GetPropertyFromGroup(), and self.

◆ BPy_IDGroup_GetName()

static PyObject * BPy_IDGroup_GetName ( BPy_IDProperty * self,
void *  )
static

Definition at line 252 of file idprop_py_api.cc.

References self.

◆ BPy_IDGroup_hash()

static Py_hash_t BPy_IDGroup_hash ( BPy_IDProperty * self)
static

Definition at line 143 of file idprop_py_api.cc.

References self.

◆ BPy_IDGroup_items()

static PyObject * BPy_IDGroup_items ( BPy_IDProperty * self)
static

Definition at line 1862 of file idprop_py_api.cc.

References BPy_IDGroup_ViewItems_CreatePyObject(), and self.

◆ BPy_IDGroup_iter()

static PyObject * BPy_IDGroup_iter ( BPy_IDProperty * self)
static

Definition at line 1160 of file idprop_py_api.cc.

References BPy_IDGroup_ViewKeys_CreatePyObject(), ret, and self.

◆ BPy_IDGroup_Iter_clear()

static int BPy_IDGroup_Iter_clear ( BPy_IDGroup_Iter * self)
static

Definition at line 1318 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_Iter_dealloc()

static void BPy_IDGroup_Iter_dealloc ( BPy_IDGroup_Iter * self)
static

Definition at line 1303 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_Iter_is_gc()

static int BPy_IDGroup_Iter_is_gc ( BPy_IDGroup_Iter * self)
static

Definition at line 1324 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_Iter_repr()

static PyObject * BPy_IDGroup_Iter_repr ( BPy_IDGroup_Iter * self)
static

Definition at line 1295 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_Iter_traverse()

static int BPy_IDGroup_Iter_traverse ( BPy_IDGroup_Iter * self,
visitproc visit,
void * arg )
static

Definition at line 1312 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_Iter_init_type().

◆ BPy_IDGroup_IterItems_CreatePyObject()

static PyObject * BPy_IDGroup_IterItems_CreatePyObject ( BPy_IDProperty * group,
const bool reversed )
static

Definition at line 1459 of file idprop_py_api.cc.

References BPy_IDGroup_IterItems_Type, and IDGroup_Iter_New_WithType().

Referenced by BPy_Group_ViewItems_iter().

◆ BPy_IDGroup_IterKeys_CreatePyObject()

static PyObject * BPy_IDGroup_IterKeys_CreatePyObject ( BPy_IDProperty * group,
const bool reversed )
static

Definition at line 1449 of file idprop_py_api.cc.

References BPy_IDGroup_IterKeys_Type, and IDGroup_Iter_New_WithType().

Referenced by BPy_Group_ViewKeys_iter().

◆ BPy_IDGroup_IterValues_CreatePyObject()

static PyObject * BPy_IDGroup_IterValues_CreatePyObject ( BPy_IDProperty * group,
const bool reversed )
static

◆ BPy_IDGroup_keys()

static PyObject * BPy_IDGroup_keys ( BPy_IDProperty * self)
static

Definition at line 1840 of file idprop_py_api.cc.

References BPy_IDGroup_ViewKeys_CreatePyObject(), and self.

◆ BPy_IDGroup_Map_GetItem()

static PyObject * BPy_IDGroup_Map_GetItem ( BPy_IDProperty * self,
PyObject * item )
static

Definition at line 304 of file idprop_py_api.cc.

References BPy_IDGroup_WrapData(), IDP_GetPropertyFromGroup(), IDP_GROUP, and self.

◆ BPy_IDGroup_Map_Len()

static Py_ssize_t BPy_IDGroup_Map_Len ( BPy_IDProperty * self)
static

Definition at line 294 of file idprop_py_api.cc.

References IDP_GROUP, and self.

◆ BPy_IDGroup_Map_SetItem()

static int BPy_IDGroup_Map_SetItem ( BPy_IDProperty * self,
PyObject * key,
PyObject * val )
static

Definition at line 1155 of file idprop_py_api.cc.

References BPy_Wrap_SetMapItem(), and self.

Referenced by BPy_IDGroup_update().

◆ BPy_IDGroup_MapDataToPy()

◆ BPy_IDGroup_pop()

static PyObject * BPy_IDGroup_pop ( BPy_IDProperty * self,
PyObject * args )
static

◆ BPy_IDGroup_repr()

static PyObject * BPy_IDGroup_repr ( BPy_IDProperty * self)
static

Definition at line 148 of file idprop_py_api.cc.

References self.

◆ BPy_IDGroup_SetName()

static int BPy_IDGroup_SetName ( BPy_IDProperty * self,
PyObject * value,
void *  )
static

Definition at line 257 of file idprop_py_api.cc.

References MAX_IDPROP_NAME, and self.

◆ BPy_IDGroup_to_dict()

static PyObject * BPy_IDGroup_to_dict ( BPy_IDProperty * self)
static

Definition at line 1927 of file idprop_py_api.cc.

References BPy_IDGroup_MapDataToPy(), and self.

◆ BPy_IDGroup_update()

static PyObject * BPy_IDGroup_update ( BPy_IDProperty * self,
PyObject * value )
static

◆ BPy_IDGroup_values()

static PyObject * BPy_IDGroup_values ( BPy_IDProperty * self)
static

Definition at line 1851 of file idprop_py_api.cc.

References BPy_IDGroup_ViewValues_CreatePyObject(), and self.

◆ BPy_IDGroup_View_clear()

static int BPy_IDGroup_View_clear ( BPy_IDGroup_View * self)
static

Definition at line 1503 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_View_dealloc()

static void BPy_IDGroup_View_dealloc ( BPy_IDGroup_View * self)
static

Definition at line 1488 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_View_is_gc()

static int BPy_IDGroup_View_is_gc ( BPy_IDGroup_View * self)
static

Definition at line 1509 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_View_repr()

static PyObject * BPy_IDGroup_View_repr ( BPy_IDGroup_View * self)
static

Definition at line 1480 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_View_reversed()

static PyObject * BPy_IDGroup_View_reversed ( BPy_IDGroup_View * self,
PyObject *  )
static

Definition at line 1611 of file idprop_py_api.cc.

References IDGroup_View_New_WithType(), result, and self.

◆ BPy_IDGroup_View_traverse()

static int BPy_IDGroup_View_traverse ( BPy_IDGroup_View * self,
visitproc visit,
void * arg )
static

Definition at line 1497 of file idprop_py_api.cc.

References self.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewItems_CreatePyObject()

static PyObject * BPy_IDGroup_ViewItems_CreatePyObject ( BPy_IDProperty * group)
static

◆ BPy_IDGroup_ViewKeys_CreatePyObject()

static PyObject * BPy_IDGroup_ViewKeys_CreatePyObject ( BPy_IDProperty * group)
static

◆ BPy_IDGroup_ViewValues_CreatePyObject()

static PyObject * BPy_IDGroup_ViewValues_CreatePyObject ( BPy_IDProperty * group)
static

◆ BPy_IDGroup_WrapData()

◆ BPy_IDProperty_Map_ValidateAndCreate()

bool BPy_IDProperty_Map_ValidateAndCreate ( PyObject * key,
IDProperty * group,
PyObject * ob )

◆ BPy_Wrap_GetItems()

◆ BPy_Wrap_GetItems_View_WithID()

PyObject * BPy_Wrap_GetItems_View_WithID ( ID * id,
IDProperty * prop )

◆ BPy_Wrap_GetKeys()

◆ BPy_Wrap_GetKeys_View_WithID()

PyObject * BPy_Wrap_GetKeys_View_WithID ( ID * id,
IDProperty * prop )

◆ BPy_Wrap_GetValues()

◆ BPy_Wrap_GetValues_View_WithID()

PyObject * BPy_Wrap_GetValues_View_WithID ( ID * id,
IDProperty * prop )

◆ BPy_Wrap_SetMapItem()

int BPy_Wrap_SetMapItem ( IDProperty * prop,
PyObject * key,
PyObject * val )

◆ BPyInit_idprop()

PyObject * BPyInit_idprop ( )

Definition at line 2649 of file idprop_py_api.cc.

References BPyInit_idprop_types(), IDProp_module_def, and mod().

◆ BPyInit_idprop_types()

◆ IDGroup_Iter_init_type()

◆ IDGroup_Iter_New_WithType()

static PyObject * IDGroup_Iter_New_WithType ( BPy_IDProperty * group,
const bool reversed,
PyTypeObject * type )
static

◆ IDGroup_View_init_type()

◆ IDGroup_View_New_WithType()

static BPy_IDGroup_View * IDGroup_View_New_WithType ( BPy_IDProperty * group,
PyTypeObject * type )
static
Note
group may be nullptr, unlike most other uses of this argument. This is supported so RNA keys/values/items methods returns an iterator with the expected type:
  • Without having ID-properties.
  • Without supporting BPy_IDProperty.prop being nullptr, which would incur many more checks. Python's own dictionary-views also works this way too.

Definition at line 2551 of file idprop_py_api.cc.

References BLI_assert, and IDP_GROUP.

Referenced by BPy_IDGroup_View_reversed(), BPy_IDGroup_ViewItems_CreatePyObject(), BPy_IDGroup_ViewKeys_CreatePyObject(), and BPy_IDGroup_ViewValues_CreatePyObject().

◆ idp_array_py_type()

static PyTypeObject * idp_array_py_type ( BPy_IDArray * self,
size_t * elem_size )
static

Definition at line 2078 of file idprop_py_api.cc.

References double(), float, IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_INT, int, and self.

Referenced by BPy_IDArray_ass_slice().

◆ idp_array_type_from_formatstr_and_size()

static int idp_array_type_from_formatstr_and_size ( const char * typestr,
Py_ssize_t itemsize )
static

◆ idp_format_from_array_type()

static const char * idp_format_from_array_type ( int type)
static

Definition at line 647 of file idprop_py_api.cc.

References IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, and IDP_INT.

Referenced by BPy_IDArray_getbuffer().

◆ idp_from_DatablockPointer()

static IDProperty * idp_from_DatablockPointer ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool ,
const bool can_create )
static

◆ idp_from_PyBool()

static IDProperty * idp_from_PyBool ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

◆ idp_from_PyBytes()

static IDProperty * idp_from_PyBytes ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool ,
const bool can_create )
static

◆ idp_from_PyFloat()

static IDProperty * idp_from_PyFloat ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

The idp_from_Py* functions expect that the input type has been checked before and return nullptr if the IDProperty can't be created.

Parameters
prop_existIf not null, attempt to assign given ob value to this property first, and only create a new one if not possible. If no assignment (or conversion and assignment) is possible, the current value remains unchanged.
do_conversionIf true, allow some 'reasonable' conversion of input value to match the prop_exist property type. E.g. can convert an int to a float, but not the other way around.
can_createWhether creating a new IDProperty is allowed.
Returns
prop_exist if given and it could be assigned given ob value, a new IDProperty otherwise.

Definition at line 431 of file idprop_py_api.cc.

References blender::bke::idprop::create(), float, IDP_ARRAY, IDP_BOOLEAN, IDP_DOUBLE, IDP_Double, IDP_FLOAT, IDP_Float, IDP_GROUP, IDP_ID, IDP_IDPARRAY, IDP_INT, IDP_STRING, and IDProperty::type.

Referenced by idp_from_PyObject().

◆ idp_from_PyLong()

static IDProperty * idp_from_PyLong ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

◆ idp_from_PyMapping()

static IDProperty * idp_from_PyMapping ( IDProperty * ,
const char * name,
PyObject * ob,
const bool ,
const bool  )
static

◆ idp_from_PyObject()

static IDProperty * idp_from_PyObject ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

◆ idp_from_PySequence()

static IDProperty * idp_from_PySequence ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool do_conversion,
const bool can_create )
static

◆ idp_from_PySequence_Buffer()

static IDProperty * idp_from_PySequence_Buffer ( IDProperty * prop_exist,
const char * name,
Py_buffer & buffer,
const int idp_type,
const bool ,
const bool can_create )
static

◆ idp_from_PySequence_Fast()

◆ idp_from_PyUnicode()

static IDProperty * idp_from_PyUnicode ( IDProperty * prop_exist,
const char * name,
PyObject * ob,
const bool ,
const bool can_create )
static

◆ idp_sequence_type()

static char idp_sequence_type ( PyObject * seq_fast)
static

Definition at line 333 of file idprop_py_api.cc.

References ELEM, IDP_BOOLEAN, IDP_DOUBLE, IDP_IDPARRAY, IDP_INT, and len.

Referenced by idp_from_PySequence_Fast().

◆ idp_try_read_name()

static const char * idp_try_read_name ( PyObject * name_obj)
static

Definition at line 380 of file idprop_py_api.cc.

References MAX_IDPROP_NAME.

Referenced by BPy_IDProperty_Map_ValidateAndCreate().

◆ IDProp_Init_Types()

◆ idprop_py_from_idp_array()

static PyObject * idprop_py_from_idp_array ( ID * id,
IDProperty * prop )
static

Definition at line 101 of file idprop_py_api.cc.

References BPy_IDArray_Type.

Referenced by BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_bool()

static PyObject * idprop_py_from_idp_bool ( const IDProperty * prop)
static

Definition at line 82 of file idprop_py_api.cc.

References IDP_Bool.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_double()

static PyObject * idprop_py_from_idp_double ( const IDProperty * prop)
static

Definition at line 77 of file idprop_py_api.cc.

References IDP_Double.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_float()

static PyObject * idprop_py_from_idp_float ( const IDProperty * prop)
static

Definition at line 72 of file idprop_py_api.cc.

References IDP_Float.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_group()

static PyObject * idprop_py_from_idp_group ( ID * id,
IDProperty * prop,
IDProperty * parent )
static

◆ idprop_py_from_idp_id()

static PyObject * idprop_py_from_idp_id ( IDProperty * prop)
static

◆ idprop_py_from_idp_idparray()

static PyObject * idprop_py_from_idp_idparray ( ID * id,
IDProperty * prop )
static

Definition at line 109 of file idprop_py_api.cc.

References BPy_IDGroup_WrapData(), IDP_IDPArray, IDProperty::len, UNLIKELY, and wrap().

Referenced by BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_int()

static PyObject * idprop_py_from_idp_int ( const IDProperty * prop)
static

Definition at line 67 of file idprop_py_api.cc.

References IDP_Int.

Referenced by BPy_IDGroup_MapDataToPy(), and BPy_IDGroup_WrapData().

◆ idprop_py_from_idp_string()

static PyObject * idprop_py_from_idp_string ( const IDProperty * prop)
static

◆ itemsize_by_idarray_type()

static int itemsize_by_idarray_type ( int array_type)
static

Definition at line 2415 of file idprop_py_api.cc.

References double(), float, IDP_BOOLEAN, IDP_DOUBLE, IDP_FLOAT, IDP_INT, and int.

Referenced by BPy_IDArray_getbuffer().

◆ PyDoc_STRVAR() [1/12]

PyDoc_STRVAR ( BPy_IDArray_get_typecode_doc ,
"The type of the data in the array {'f': float, 'd': double, 'i': int, 'b': bool}."  )

◆ PyDoc_STRVAR() [2/12]

PyDoc_STRVAR ( BPy_IDArray_to_list_doc ,
".. method:: to_list()\n" "\n" " Return the array as a list.\n"  )

◆ PyDoc_STRVAR() [3/12]

PyDoc_STRVAR ( BPy_IDGroup_clear_doc ,
".. method:: clear()\n" "\n" " Clear all members from this group.\n"  )

◆ PyDoc_STRVAR() [4/12]

PyDoc_STRVAR ( BPy_IDGroup_get_doc ,
".. method:: get(key, default=None)\n" "\n" " Return the value for key,
if it exists,
else default.\n"  )

◆ PyDoc_STRVAR() [5/12]

PyDoc_STRVAR ( BPy_IDGroup_items_doc ,
".. method:: items()\n" "\n" " Iterate through the items in the dict; behaves like dictionary method items.\n"  )

◆ PyDoc_STRVAR() [6/12]

PyDoc_STRVAR ( BPy_IDGroup_keys_doc ,
".. method:: keys()\n" "\n" " Return the keys associated with this group as a list of strings.\n"  )

◆ PyDoc_STRVAR() [7/12]

PyDoc_STRVAR ( BPy_IDGroup_pop_doc ,
".. method:: pop(key, default)\n" "\n" " Remove an item from the group,
returning a Python representation.\n" "\n" " :raises KeyError:When the item doesn 't exist.\n" "\n" " :arg key:Name of item to remove.\n" " :type key:str\n" " :arg default:Value to return when key isn 't found,
otherwise raise an exception.\n" " :type default:Any\n"  )

◆ PyDoc_STRVAR() [8/12]

PyDoc_STRVAR ( BPy_IDGroup_to_dict_doc ,
".. method:: to_dict()\n" "\n" " Return a purely Python version of the group.\n"  )

◆ PyDoc_STRVAR() [9/12]

PyDoc_STRVAR ( BPy_IDGroup_update_doc ,
".. method:: update(other)\n" "\n" " Update key,
values.\n" "\n" " :arg other:Updates the values in the group with this.\n" " :type other::class:`IDPropertyGroup`|dict\n" [str, Any] )

◆ PyDoc_STRVAR() [10/12]

PyDoc_STRVAR ( BPy_IDGroup_values_doc ,
".. method:: values()\n" "\n" " Return the values associated with this group.\n"  )

◆ PyDoc_STRVAR() [11/12]

PyDoc_STRVAR ( BPy_IDGroup_View_reversed_doc ,
"Return a reverse iterator over the ID Property keys values or items."  )

◆ PyDoc_STRVAR() [12/12]

PyDoc_STRVAR ( IDProp_module_doc ,
"This module provides access id property types (currently mainly for docs)."  )

◆ pyrna_id_CheckPyObject()

bool pyrna_id_CheckPyObject ( PyObject * obj)
extern

Definition at line 7823 of file bpy_rna.cc.

References BPy_StructRNA_Check, ptr, RNA_struct_is_ID(), and PointerRNA::type.

Referenced by idp_from_PyObject().

◆ pyrna_id_CreatePyObject()

PyObject * pyrna_id_CreatePyObject ( ID * id)
extern

◆ pyrna_id_FromPyObject()

bool pyrna_id_FromPyObject ( PyObject * obj,
ID ** id )
extern

Definition at line 7812 of file bpy_rna.cc.

References pyrna_id_CheckPyObject().

Referenced by bpy_batch_remove(), bpy_lib_write(), and idp_from_DatablockPointer().

Variable Documentation

◆ BPy_IDArray_AsMapping

PyMappingMethods BPy_IDArray_AsMapping
static
Initial value:
= {
(lenfunc)BPy_IDArray_Len,
(binaryfunc)BPy_IDArray_subscript,
(objobjargproc)BPy_IDArray_ass_subscript,
}
static int BPy_IDArray_ass_subscript(BPy_IDArray *self, PyObject *item, PyObject *value)
static PyObject * BPy_IDArray_subscript(BPy_IDArray *self, PyObject *item)
static Py_ssize_t BPy_IDArray_Len(BPy_IDArray *self)

Definition at line 2409 of file idprop_py_api.cc.

◆ BPy_IDArray_Buffer

PyBufferProcs BPy_IDArray_Buffer
static
Initial value:
= {
(getbufferproc)BPy_IDArray_getbuffer,
(releasebufferproc)BPy_IDArray_releasebuffer,
}
static void BPy_IDArray_releasebuffer(BPy_IDArray *, Py_buffer *view)
static int BPy_IDArray_getbuffer(BPy_IDArray *self, Py_buffer *view, int flags)

Definition at line 2457 of file idprop_py_api.cc.

◆ BPy_IDArray_getseters

PyGetSetDef BPy_IDArray_getseters[]
static
Initial value:
= {
{"typecode",
(setter) nullptr,
BPy_IDArray_get_typecode_doc,
nullptr},
{nullptr, nullptr, nullptr, nullptr, nullptr},
}
static PyObject * BPy_IDArray_get_typecode(BPy_IDArray *self, void *)

Definition at line 2136 of file idprop_py_api.cc.

◆ BPy_IDArray_methods

PyMethodDef BPy_IDArray_methods[]
static
Initial value:
= {
{"to_list", (PyCFunction)BPy_IDArray_to_list, METH_NOARGS, BPy_IDArray_to_list_doc},
{nullptr, nullptr, 0, nullptr},
}
static PyObject * BPy_IDArray_to_list(BPy_IDArray *self)

Definition at line 2162 of file idprop_py_api.cc.

◆ BPy_IDArray_Seq

PySequenceMethods BPy_IDArray_Seq
static
Initial value:
= {
(lenfunc)BPy_IDArray_Len,
nullptr,
nullptr,
(ssizeargfunc)BPy_IDArray_GetItem,
nullptr,
(ssizeobjargproc)BPy_IDArray_SetItem,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int BPy_IDArray_SetItem(BPy_IDArray *self, Py_ssize_t index, PyObject *value)
static PyObject * BPy_IDArray_GetItem(BPy_IDArray *self, Py_ssize_t index)

Definition at line 2246 of file idprop_py_api.cc.

◆ BPy_IDArray_Type

PyTypeObject BPy_IDArray_Type

◆ BPy_IDGroup_getseters

PyGetSetDef BPy_IDGroup_getseters[]
static
Initial value:
= {
{"name",
"The name of this Group.",
nullptr},
{nullptr, nullptr, nullptr, nullptr, nullptr},
}
static PyObject * BPy_IDGroup_GetName(BPy_IDProperty *self, void *)
static int BPy_IDGroup_SetName(BPy_IDProperty *self, PyObject *value, void *)

Definition at line 285 of file idprop_py_api.cc.

◆ BPy_IDGroup_IterItems_Type

PyTypeObject BPy_IDGroup_IterItems_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_IterKeys_Type

PyTypeObject BPy_IDGroup_IterKeys_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_IterValues_Type

PyTypeObject BPy_IDGroup_IterValues_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_Mapping

PyMappingMethods BPy_IDGroup_Mapping
static
Initial value:
= {
(objobjargproc)BPy_IDGroup_Map_SetItem,
}
static PyObject * BPy_IDGroup_Map_GetItem(BPy_IDProperty *self, PyObject *item)
static Py_ssize_t BPy_IDGroup_Map_Len(BPy_IDProperty *self)
static int BPy_IDGroup_Map_SetItem(BPy_IDProperty *self, PyObject *key, PyObject *val)

Definition at line 2013 of file idprop_py_api.cc.

◆ BPy_IDGroup_methods

PyMethodDef BPy_IDGroup_methods[]
static
Initial value:
= {
{"pop", (PyCFunction)BPy_IDGroup_pop, METH_VARARGS, BPy_IDGroup_pop_doc},
{"keys", (PyCFunction)BPy_IDGroup_keys, METH_NOARGS, BPy_IDGroup_keys_doc},
{"values", (PyCFunction)BPy_IDGroup_values, METH_NOARGS, BPy_IDGroup_values_doc},
{"items", (PyCFunction)BPy_IDGroup_items, METH_NOARGS, BPy_IDGroup_items_doc},
{"update", (PyCFunction)BPy_IDGroup_update, METH_O, BPy_IDGroup_update_doc},
{"get", (PyCFunction)BPy_IDGroup_get, METH_VARARGS, BPy_IDGroup_get_doc},
{"to_dict", (PyCFunction)BPy_IDGroup_to_dict, METH_NOARGS, BPy_IDGroup_to_dict_doc},
{"clear", (PyCFunction)BPy_IDGroup_clear, METH_NOARGS, BPy_IDGroup_clear_doc},
{nullptr, nullptr, 0, nullptr},
}
static PyObject * BPy_IDGroup_clear(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_keys(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_to_dict(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_pop(BPy_IDProperty *self, PyObject *args)
static PyObject * BPy_IDGroup_update(BPy_IDProperty *self, PyObject *value)
static PyObject * BPy_IDGroup_get(BPy_IDProperty *self, PyObject *args)
static PyObject * BPy_IDGroup_items(BPy_IDProperty *self)
static PyObject * BPy_IDGroup_values(BPy_IDProperty *self)

Definition at line 1977 of file idprop_py_api.cc.

◆ BPy_IDGroup_Seq

PySequenceMethods BPy_IDGroup_Seq
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
(objobjproc)BPy_IDGroup_Contains,
nullptr,
nullptr,
}
static int BPy_IDGroup_Contains(BPy_IDProperty *self, PyObject *value)

Definition at line 1999 of file idprop_py_api.cc.

◆ BPy_IDGroup_Type

PyTypeObject BPy_IDGroup_Type

◆ BPy_IDGroup_View_methods

PyMethodDef BPy_IDGroup_View_methods[]
static
Initial value:
= {
{"__reversed__",
(PyCFunction)(void (*)(void))BPy_IDGroup_View_reversed,
METH_NOARGS,
BPy_IDGroup_View_reversed_doc},
{nullptr, nullptr},
}
static PyObject * BPy_IDGroup_View_reversed(BPy_IDGroup_View *self, PyObject *)

Definition at line 1618 of file idprop_py_api.cc.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewItems_as_sequence

PySequenceMethods BPy_IDGroup_ViewItems_as_sequence
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int BPy_Group_ViewItems_Contains(BPy_IDGroup_View *self, PyObject *value)
static Py_ssize_t BPy_Group_View_len(BPy_IDGroup_View *self)

Definition at line 1593 of file idprop_py_api.cc.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewItems_Type

PyTypeObject BPy_IDGroup_ViewItems_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_ViewKeys_as_sequence

PySequenceMethods BPy_IDGroup_ViewKeys_as_sequence
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int BPy_Group_ViewKeys_Contains(BPy_IDGroup_View *self, PyObject *value)

Definition at line 1571 of file idprop_py_api.cc.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewKeys_Type

PyTypeObject BPy_IDGroup_ViewKeys_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ BPy_IDGroup_ViewValues_as_sequence

PySequenceMethods BPy_IDGroup_ViewValues_as_sequence
static
Initial value:
= {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
static int BPy_Group_ViewValues_Contains(BPy_IDGroup_View *self, PyObject *value)

Definition at line 1582 of file idprop_py_api.cc.

Referenced by IDGroup_View_init_type().

◆ BPy_IDGroup_ViewValues_Type

PyTypeObject BPy_IDGroup_ViewValues_Type = {PyVarObject_HEAD_INIT(nullptr, 0)}

◆ IDProp_methods

PyMethodDef IDProp_methods[]
static
Initial value:
= {
{nullptr, nullptr, 0, nullptr},
}

Definition at line 2629 of file idprop_py_api.cc.

◆ IDProp_module_def

PyModuleDef IDProp_module_def
static
Initial value:
= {
PyModuleDef_HEAD_INIT,
"idprop",
IDProp_module_doc,
0,
nullptr,
nullptr,
nullptr,
nullptr,
}
static PyMethodDef IDProp_methods[]

Definition at line 2637 of file idprop_py_api.cc.

Referenced by BPyInit_idprop().

◆ IDProp_types_module_def

PyModuleDef IDProp_types_module_def
static
Initial value:
= {
PyModuleDef_HEAD_INIT,
"idprop.types",
nullptr,
0,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}

Definition at line 2586 of file idprop_py_api.cc.

Referenced by BPyInit_idprop_types().