Cleanup: use doxygen sections in py_capi_rna.c
This commit is contained in:
parent
0c5f6f9fa7
commit
93c6b12df5
|
@ -37,6 +37,10 @@
|
|||
|
||||
#include "MEM_guardedalloc.h"
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/** \name Enum Utilities
|
||||
* \{ */
|
||||
|
||||
/**
|
||||
* Convert all items into a single comma separated string.
|
||||
* Use for creating useful error messages.
|
||||
|
@ -59,6 +63,12 @@ char *pyrna_enum_repr(const EnumPropertyItem *item)
|
|||
return cstring;
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/** \name Enum Conversion Utilities
|
||||
* \{ */
|
||||
|
||||
/**
|
||||
* Same as #RNA_enum_value_from_id, but raises an exception.
|
||||
*/
|
||||
|
@ -78,47 +88,6 @@ int pyrna_enum_value_from_id(const EnumPropertyItem *item,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use with #PyArg_ParseTuple's `O&` formatting.
|
||||
*/
|
||||
int pyrna_enum_value_parse_string(PyObject *o, void *p)
|
||||
{
|
||||
const char *identifier = PyUnicode_AsUTF8(o);
|
||||
if (identifier == NULL) {
|
||||
PyErr_Format(PyExc_TypeError, "expected a string enum, not %.200s", Py_TYPE(o)->tp_name);
|
||||
return 0;
|
||||
}
|
||||
struct BPy_EnumProperty_Parse *parse_data = p;
|
||||
if (pyrna_enum_value_from_id(
|
||||
parse_data->items, identifier, &parse_data->value, "enum identifier") == -1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
parse_data->value_orig = o;
|
||||
parse_data->is_set = true;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use with #PyArg_ParseTuple's `O&` formatting.
|
||||
*/
|
||||
int pyrna_enum_bitfield_parse_set(PyObject *o, void *p)
|
||||
{
|
||||
if (!PySet_Check(o)) {
|
||||
PyErr_Format(PyExc_TypeError, "expected a set, not %.200s", Py_TYPE(o)->tp_name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct BPy_EnumProperty_Parse *parse_data = p;
|
||||
if (pyrna_enum_bitfield_from_set(
|
||||
parse_data->items, o, &parse_data->value, "enum identifier set") == -1) {
|
||||
return 0;
|
||||
}
|
||||
parse_data->value_orig = o;
|
||||
parse_data->is_set = true;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Takes a set of strings and map it to and array of booleans.
|
||||
*
|
||||
|
@ -247,3 +216,52 @@ PyObject *pyrna_enum_bitfield_as_set(const EnumPropertyItem *items, int value)
|
|||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
/** \name Argument Parsing Helpers
|
||||
* \{ */
|
||||
|
||||
/**
|
||||
* Use with #PyArg_ParseTuple's `O&` formatting.
|
||||
*/
|
||||
int pyrna_enum_value_parse_string(PyObject *o, void *p)
|
||||
{
|
||||
const char *identifier = PyUnicode_AsUTF8(o);
|
||||
if (identifier == NULL) {
|
||||
PyErr_Format(PyExc_TypeError, "expected a string enum, not %.200s", Py_TYPE(o)->tp_name);
|
||||
return 0;
|
||||
}
|
||||
struct BPy_EnumProperty_Parse *parse_data = p;
|
||||
if (pyrna_enum_value_from_id(
|
||||
parse_data->items, identifier, &parse_data->value, "enum identifier") == -1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
parse_data->value_orig = o;
|
||||
parse_data->is_set = true;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Use with #PyArg_ParseTuple's `O&` formatting.
|
||||
*/
|
||||
int pyrna_enum_bitfield_parse_set(PyObject *o, void *p)
|
||||
{
|
||||
if (!PySet_Check(o)) {
|
||||
PyErr_Format(PyExc_TypeError, "expected a set, not %.200s", Py_TYPE(o)->tp_name);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct BPy_EnumProperty_Parse *parse_data = p;
|
||||
if (pyrna_enum_bitfield_from_set(
|
||||
parse_data->items, o, &parse_data->value, "enum identifier set") == -1) {
|
||||
return 0;
|
||||
}
|
||||
parse_data->value_orig = o;
|
||||
parse_data->is_set = true;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
|
|
@ -32,6 +32,20 @@ int pyrna_enum_value_from_id(const struct EnumPropertyItem *item,
|
|||
int *value,
|
||||
const char *error_prefix);
|
||||
|
||||
unsigned int *pyrna_enum_bitmap_from_set(const struct EnumPropertyItem *items,
|
||||
PyObject *value,
|
||||
int type_size,
|
||||
bool type_convert_sign,
|
||||
int bitmap_size,
|
||||
const char *error_prefix);
|
||||
|
||||
int pyrna_enum_bitfield_from_set(const struct EnumPropertyItem *items,
|
||||
PyObject *value,
|
||||
int *r_value,
|
||||
const char *error_prefix);
|
||||
|
||||
PyObject *pyrna_enum_bitfield_as_set(const struct EnumPropertyItem *items, int value);
|
||||
|
||||
/**
|
||||
* Data for #pyrna_enum_value_parse_string & #pyrna_enum_bitfield_parse_set parsing utilities.
|
||||
* Use with #PyArg_ParseTuple's `O&` formatting.
|
||||
|
@ -50,17 +64,3 @@ struct BPy_EnumProperty_Parse {
|
|||
};
|
||||
int pyrna_enum_value_parse_string(PyObject *o, void *p);
|
||||
int pyrna_enum_bitfield_parse_set(PyObject *o, void *p);
|
||||
|
||||
unsigned int *pyrna_enum_bitmap_from_set(const struct EnumPropertyItem *items,
|
||||
PyObject *value,
|
||||
int type_size,
|
||||
bool type_convert_sign,
|
||||
int bitmap_size,
|
||||
const char *error_prefix);
|
||||
|
||||
int pyrna_enum_bitfield_from_set(const struct EnumPropertyItem *items,
|
||||
PyObject *value,
|
||||
int *r_value,
|
||||
const char *error_prefix);
|
||||
|
||||
PyObject *pyrna_enum_bitfield_as_set(const struct EnumPropertyItem *items, int value);
|
||||
|
|
Loading…
Reference in New Issue