Blender viewport sidebar Panel to header Popover

Created Diff never expires
8 removals
Lines
Total
Removed
Words
Total
Removed
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
34 lines
25 additions
Lines
Total
Added
Words
Total
Added
To continue using this feature, upgrade to
Diffchecker logo
Diffchecker Pro
49 lines
import bpy
import bpy


class VIEW3D_PT_hello_world_popover(bpy.types.Panel):
class VIEW3D_PT_hello_world_popover(bpy.types.Panel):
"""Creates a Panel in the Viewport Sidebar > Item tab"""
"""Creates a Popover in the Viewport Header"""
bl_label = "Hello World Panel"
bl_label = "Hello World Panel"
bl_idname = "VIEW3D_PT_hello"
bl_idname = "VIEW3D_PT_hello_world_popover"
bl_space_type = 'VIEW_3D'
bl_space_type = 'VIEW_3D'
bl_region_type = 'UI'
bl_region_type = 'HEADER'
bl_category = "Item"


def draw(self, context):
def draw(self, context):
layout = self.layout
layout = self.layout


obj = context.object
obj = context.object


row = layout.row()
row = layout.row()
row.label(text="Hello world!", icon='WORLD_DATA')
row.label(text="Hello world!", icon='WORLD_DATA')


row = layout.row()
if obj:
row.label(text="Active object is: " + obj.name)
row = layout.row()
row = layout.row()
row.label(text=f"Active object is: {obj.name}")
row.prop(obj, "name")
row = layout.row()
row.prop(obj, "name")
else:
row = layout.row()
row.label(text="No active object")


row = layout.row()
row = layout.row()
row.operator("mesh.primitive_cube_add")
row.operator("mesh.primitive_cube_add")



def define_hello_world_popover(self, context):
"""Defines the Hello World popover button's appearance in the header."""
layout = self.layout
layout.popover(
panel="VIEW3D_PT_hello_world_popover",
text="Hello",
icon='WORLD_DATA'
)

def register():
def register():
bpy.utils.register_class(VIEW3D_PT_hello_world_popover)
bpy.utils.register_class(VIEW3D_PT_hello_world_popover)
bpy.types.VIEW3D_HT_header.append(define_hello_world_popover)


def unregister():
def unregister():
bpy.utils.unregister_class(VIEW3D_PT_hello_world_popover)
bpy.utils.unregister_class(VIEW3D_PT_hello_world_popover)
bpy.types.VIEW3D_HT_header.remove(define_hello_world_popover)


if __name__ == "__main__":
if __name__ == "__main__":
register()
register()