There’s nothing blender specific about using multiple inheritance.
That’s how class inheritance work. You should look at the Python documentation, there’s nothing special in how the Blender api uses inheritance.
each of the class has a lot of buttons and i tested an independat class called form this class and it works but i had to intantiate it and pass all the vars back but still taking a lot less a space then before !
Yes, like I said, use the [ code ] [ /code ] tags around your code (without the spaces around the brackets), like this:
[ code ]<some complex code here>[ /code ]
Will be formated like this:
class DataButtonsPanel():
bl_space_type = 'PROPERTIES'
bl_region_type = 'WINDOW'
bl_context = "data"
def poll(self, context):
return context.armature
class DATA_PT_context_arm(DataButtonsPanel, bpy.types.Panel):
bl_label = ""
bl_show_header = False
def draw(self, context):
layout = self.layout
ob = context.object
arm = context.armature
space = context.space_data
wide_ui = context.region.width > narrowui
if wide_ui:
split = layout.split(percentage=0.65)
if ob:
split.template_ID(ob, "data")
split.separator()
elif arm:
split.template_ID(space, "pin_id")
split.separator()
else:
layout.template_ID(ob, "data")
Martin