class inheritance and bpy

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 &gt; 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