Blender V4.3
bpy_operator_wrap.cc File Reference
#include <Python.h>
#include "BLI_utildefines.h"
#include "WM_api.hh"
#include "WM_types.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "RNA_prototypes.hh"
#include "bpy_intern_string.hh"
#include "bpy_operator_wrap.hh"
#include "bpy_rna.hh"

Go to the source code of this file.

Functions

static void operator_properties_init (wmOperatorType *ot)
 
void BPY_RNA_operator_wrapper (wmOperatorType *ot, void *userdata)
 
void BPY_RNA_operator_macro_wrapper (wmOperatorType *ot, void *userdata)
 
PyObject * PYOP_wrap_macro_define (PyObject *, PyObject *args)
 

Detailed Description

This file exposes functionality for defining to define operators that C can call into. The generic callback functions for python operators are defines in 'rna_wm.cc', some calling into functions here to do python specific functionality.

Definition in file bpy_operator_wrap.cc.

Function Documentation

◆ BPY_RNA_operator_macro_wrapper()

void BPY_RNA_operator_macro_wrapper ( wmOperatorType * ot,
void * userdata )

◆ BPY_RNA_operator_wrapper()

void BPY_RNA_operator_wrapper ( wmOperatorType * ot,
void * userdata )

Generic function used by all Python defined operators it's passed as an argument to WM_operatortype_append_ptr in for operator registration.

Definition at line 88 of file bpy_operator_wrap.cc.

References operator_properties_init(), ot, RNA_def_struct_translation_context(), wmOperatorType::rna_ext, RNA_struct_translation_context(), ExtensionRNA::srna, and wmOperatorType::srna.

◆ operator_properties_init()

◆ PYOP_wrap_macro_define()

PyObject * PYOP_wrap_macro_define ( PyObject * self,
PyObject * args )

These are used for operator methods, used by bpy_operator.cc.

Accessed via sub-classes of bpy.types.Macro using the define method.

Definition at line 125 of file bpy_operator_wrap.cc.

References OP_MAX_TYPENAME, ot, pyrna_struct_as_srna(), pyrna_struct_CreatePyObject(), RNA_pointer_create(), RNA_struct_identifier(), WM_operator_bl_idname(), WM_operator_bl_idname_is_valid(), WM_operatortype_find(), and WM_operatortype_macro_define().