How to check the list of operators added to the area header
To add an operator to the area header, we can use the “append” and “prepend” functions specifying in its parameters the drawing function of the operator call button.
For example, to add an operator of adding the default cube to the header of the viewport (3D View) area, we need to define the operator drawing function:
1 2 |
def cube_add_fnc(self, context): self.layout.operator('mesh.primitive_cube_add', text='', icon='MESH_CUBE') |
and add it to the window header:
1 |
bpy.types.VIEW3D_HT_header.prepend(cube_add_fnc) |
The operator button will appear in the header of the viewport window.
Now we can view a list of all the functions that add operators to the area header by the “_draw_funcs” property of the “draw” method.
1 2 |
bpy.types.VIEW3D_HT_header.draw._draw_funcs # [<function cube_add_fnc at 0x000000000FC8B8B8>, <function VIEW3D_HT_header.draw at 0x000000000F9C0678>, <function draw_pause at 0x0000000011633A68>] |
Note that the “_draw_funcs” property would be defined only if custom operators have been added to the area header. If custom operators were not added to the header, an error will be thrown:
AttributeError: ‘function’ object has no attribute ‘_draw_funcs’