forked from bartvdbraak/blender
2.5 3DView Header:
* "Object" Menu is now written in python.
This commit is contained in:
parent
b8aff06466
commit
9bd5b486fb
@ -23,7 +23,10 @@ class VIEW3D_HT_header(bpy.types.Header):
|
|||||||
# Select Menu
|
# Select Menu
|
||||||
selectmenu = "VIEW3D_MT_select_%s" % mode_string
|
selectmenu = "VIEW3D_MT_select_%s" % mode_string
|
||||||
if selectmenu in dir(bpy.types):
|
if selectmenu in dir(bpy.types):
|
||||||
layout.itemM(selectmenu)
|
row.itemM(selectmenu)
|
||||||
|
|
||||||
|
if mode_string == 'objectmode':
|
||||||
|
row.itemM("VIEW3D_MT_object")
|
||||||
|
|
||||||
layout.template_header_3D()
|
layout.template_header_3D()
|
||||||
|
|
||||||
@ -334,6 +337,130 @@ class VIEW3D_MT_select_facesel(bpy.types.Menu):
|
|||||||
|
|
||||||
layout.view3d_select_faceselmenu()
|
layout.view3d_select_faceselmenu()
|
||||||
|
|
||||||
|
# ********** Object menu **********
|
||||||
|
|
||||||
|
class VIEW3D_MT_object(bpy.types.Menu):
|
||||||
|
__space_type__ = "VIEW_3D"
|
||||||
|
__context__ = "objectmode"
|
||||||
|
__label__ = "Object"
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
|
||||||
|
layout.itemM("VIEW3D_MT_object_clear")
|
||||||
|
layout.itemM("VIEW3D_MT_object_snap")
|
||||||
|
|
||||||
|
layout.itemS()
|
||||||
|
|
||||||
|
layout.itemO("anim.insert_keyframe_menu")
|
||||||
|
layout.itemO("anim.delete_keyframe_v3d")
|
||||||
|
|
||||||
|
layout.itemS()
|
||||||
|
|
||||||
|
layout.itemO("object.duplicate")
|
||||||
|
layout.item_booleanO("object.duplicate", "linked", True, text="Duplicate Linked")
|
||||||
|
layout.itemO("object.delete")
|
||||||
|
layout.itemO("object.proxy_make")
|
||||||
|
|
||||||
|
layout.itemS()
|
||||||
|
|
||||||
|
layout.itemM("VIEW3D_MT_object_parent")
|
||||||
|
layout.itemM("VIEW3D_MT_object_track")
|
||||||
|
layout.itemM("VIEW3D_MT_object_group")
|
||||||
|
layout.itemM("VIEW3D_MT_object_constraints")
|
||||||
|
|
||||||
|
layout.itemS()
|
||||||
|
|
||||||
|
layout.itemO("object.join")
|
||||||
|
|
||||||
|
layout.itemS()
|
||||||
|
|
||||||
|
layout.itemM("VIEW3D_MT_object_show")
|
||||||
|
|
||||||
|
class VIEW3D_MT_object_clear(bpy.types.Menu):
|
||||||
|
__space_type__ = "VIEW_3D"
|
||||||
|
__label__ = "Clear"
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
|
||||||
|
layout.itemO("object.location_clear")
|
||||||
|
layout.itemO("object.rotation_clear")
|
||||||
|
layout.itemO("object.scale_clear")
|
||||||
|
layout.itemO("object.origin_clear")
|
||||||
|
|
||||||
|
class VIEW3D_MT_object_snap(bpy.types.Menu):
|
||||||
|
__space_type__ = "VIEW_3D"
|
||||||
|
__label__ = "Snap"
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
|
||||||
|
layout.itemO("view3d.snap_selected_to_grid")
|
||||||
|
layout.itemO("view3d.snap_selected_to_cursor")
|
||||||
|
layout.itemO("view3d.snap_selected_to_center")
|
||||||
|
|
||||||
|
layout.itemS()
|
||||||
|
|
||||||
|
layout.itemO("view3d.snap_cursor_to_selected")
|
||||||
|
layout.itemO("view3d.snap_cursor_to_grid")
|
||||||
|
layout.itemO("view3d.snap_cursor_to_active")
|
||||||
|
|
||||||
|
class VIEW3D_MT_object_parent(bpy.types.Menu):
|
||||||
|
__space_type__ = "VIEW_3D"
|
||||||
|
__label__ = "Parent"
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
|
||||||
|
layout.itemO("object.parent_set")
|
||||||
|
layout.itemO("object.parent_clear")
|
||||||
|
|
||||||
|
class VIEW3D_MT_object_track(bpy.types.Menu):
|
||||||
|
__space_type__ = "VIEW_3D"
|
||||||
|
__label__ = "Track"
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
|
||||||
|
layout.itemO("object.track_set")
|
||||||
|
layout.itemO("object.track_clear")
|
||||||
|
|
||||||
|
class VIEW3D_MT_object_group(bpy.types.Menu):
|
||||||
|
__space_type__ = "VIEW_3D"
|
||||||
|
__label__ = "Group"
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
|
||||||
|
layout.itemO("group.group_create")
|
||||||
|
layout.itemO("group.objects_remove")
|
||||||
|
|
||||||
|
layout.itemS()
|
||||||
|
|
||||||
|
layout.itemO("group.objects_add_active")
|
||||||
|
layout.itemO("group.objects_remove_active")
|
||||||
|
|
||||||
|
class VIEW3D_MT_object_constraints(bpy.types.Menu):
|
||||||
|
__space_type__ = "VIEW_3D"
|
||||||
|
__label__ = "Constraints"
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
|
||||||
|
layout.itemO("object.constraint_add_with_targets")
|
||||||
|
layout.itemO("object.constraints_clear")
|
||||||
|
|
||||||
|
class VIEW3D_MT_object_show(bpy.types.Menu):
|
||||||
|
__space_type__ = "VIEW_3D"
|
||||||
|
__label__ = "Show/Hide"
|
||||||
|
|
||||||
|
def draw(self, context):
|
||||||
|
layout = self.layout
|
||||||
|
|
||||||
|
layout.itemO("object.restrictview_clear")
|
||||||
|
layout.itemO("object.restrictview_set")
|
||||||
|
layout.item_booleanO("object.restrictview_set", "unselected", True, text="Hide Unselected")
|
||||||
|
|
||||||
# ********** Panel **********
|
# ********** Panel **********
|
||||||
|
|
||||||
@ -454,6 +581,15 @@ bpy.types.register(VIEW3D_MT_select_lattice_edit)
|
|||||||
bpy.types.register(VIEW3D_MT_select_armature_edit)
|
bpy.types.register(VIEW3D_MT_select_armature_edit)
|
||||||
bpy.types.register(VIEW3D_MT_select_facesel)
|
bpy.types.register(VIEW3D_MT_select_facesel)
|
||||||
|
|
||||||
|
bpy.types.register(VIEW3D_MT_object) # Object Menu
|
||||||
|
bpy.types.register(VIEW3D_MT_object_clear)
|
||||||
|
bpy.types.register(VIEW3D_MT_object_snap)
|
||||||
|
bpy.types.register(VIEW3D_MT_object_parent)
|
||||||
|
bpy.types.register(VIEW3D_MT_object_track)
|
||||||
|
bpy.types.register(VIEW3D_MT_object_group)
|
||||||
|
bpy.types.register(VIEW3D_MT_object_constraints)
|
||||||
|
bpy.types.register(VIEW3D_MT_object_show)
|
||||||
|
|
||||||
bpy.types.register(VIEW3D_PT_3dview_properties) # Panels
|
bpy.types.register(VIEW3D_PT_3dview_properties) # Panels
|
||||||
bpy.types.register(VIEW3D_PT_3dview_display)
|
bpy.types.register(VIEW3D_PT_3dview_display)
|
||||||
bpy.types.register(VIEW3D_PT_background_image)
|
bpy.types.register(VIEW3D_PT_background_image)
|
||||||
|
@ -1834,42 +1834,6 @@ static uiBlock *view3d_edit_object_copyattrmenu(bContext *C, ARegion *ar, void *
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void view3d_edit_object_parentmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
|
||||||
{
|
|
||||||
uiItemO(layout, "Make Parent...", 0, "OBJECT_OT_parent_set");
|
|
||||||
uiItemO(layout, "Clear Parent...", 0, "OBJECT_OT_parent_clear");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void view3d_edit_object_groupmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
|
||||||
{
|
|
||||||
uiItemO(layout, NULL, 0, "GROUP_OT_group_create");
|
|
||||||
uiItemO(layout, NULL, 0, "GROUP_OT_objects_remove");
|
|
||||||
|
|
||||||
uiItemS(layout);
|
|
||||||
|
|
||||||
uiItemO(layout, NULL, 0, "GROUP_OT_objects_add_active");
|
|
||||||
uiItemO(layout, NULL, 0, "GROUP_OT_objects_remove_active");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void view3d_edit_object_trackmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
|
||||||
{
|
|
||||||
uiItemO(layout, "Make Track...", 0, "OBJECT_OT_track_set");
|
|
||||||
uiItemO(layout, "Clear Track...", 0, "OBJECT_OT_track_clear");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void view3d_edit_object_constraintsmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
|
||||||
{
|
|
||||||
uiItemO(layout, NULL, 0, "OBJECT_OT_constraint_add_with_targets");
|
|
||||||
uiItemO(layout, NULL, 0, "OBJECT_OT_constraints_clear");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void view3d_edit_object_showhidemenu(bContext *C, uiLayout *layout, void *arg_unused)
|
|
||||||
{
|
|
||||||
uiItemO(layout, "Show Hidden", 0, "OBJECT_OT_restrictview_clear");
|
|
||||||
uiItemO(layout, "Hide Selected", 0, "OBJECT_OT_restrictview_set");
|
|
||||||
uiItemBooleanO(layout, "Hide Unselected", 0, "OBJECT_OT_restrictview_set", "unselected", 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
#ifndef DISABLE_PYTHON
|
#ifndef DISABLE_PYTHON
|
||||||
static void do_view3d_edit_object_scriptsmenu(bContext *C, void *arg, int event)
|
static void do_view3d_edit_object_scriptsmenu(bContext *C, void *arg, int event)
|
||||||
@ -1943,74 +1907,6 @@ static void do_view3d_edit_objectmenu(bContext *C, void *arg, int event)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void view3d_edit_objectmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
|
||||||
{
|
|
||||||
#if 0
|
|
||||||
Object *ob= CTX_data_active_object(C);
|
|
||||||
|
|
||||||
uiDefIconTextBlockBut(block, view3d_transformmenu, NULL, ICON_RIGHTARROW_THIN, "Transform", 0, yco-=20, 120, 19, "");
|
|
||||||
uiDefIconTextBlockBut(block, view3d_object_mirrormenu, NULL, ICON_RIGHTARROW_THIN, "Mirror", 0, yco-=20, menuwidth, 19, "");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uiItemMenuF(layout, "Clear/Apply", 0, view3d_edit_object_transformmenu);
|
|
||||||
uiItemMenuF(layout, "Snap", 0, view3d_edit_snapmenu);
|
|
||||||
|
|
||||||
uiItemS(layout);
|
|
||||||
|
|
||||||
// TODO: these operators may get renamed
|
|
||||||
uiItemO(layout, NULL, 0, "ANIM_OT_insert_keyframe_menu");
|
|
||||||
uiItemO(layout, NULL, 0, "ANIM_OT_delete_keyframe_v3d");
|
|
||||||
|
|
||||||
uiItemS(layout);
|
|
||||||
|
|
||||||
uiItemO(layout, NULL, 0, "OBJECT_OT_duplicate");
|
|
||||||
uiItemBooleanO(layout, "Duplicate Linked", 0, "OBJECT_OT_duplicate", "linked", 1);
|
|
||||||
uiItemO(layout, NULL, 0, "OBJECT_OT_delete");
|
|
||||||
|
|
||||||
uiItemO(layout, NULL, 0, "OBJECT_OT_proxy_make");
|
|
||||||
#if 0
|
|
||||||
uiDefIconTextBlockBut(block, view3d_edit_object_makelinksmenu, NULL, ICON_RIGHTARROW_THIN, "Make Links", 0, yco-=20, 120, 19, "");
|
|
||||||
uiDefIconTextBlockBut(block, view3d_edit_object_singleusermenu, NULL, ICON_RIGHTARROW_THIN, "Make Single User", 0, yco-=20, 120, 19, "");
|
|
||||||
uiDefIconTextBlockBut(block, view3d_edit_object_makelocalmenu, NULL, ICON_RIGHTARROW_THIN, "Make Local", 0, yco-=20, 120, 19, "");
|
|
||||||
uiDefIconTextBlockBut(block, view3d_edit_object_copyattrmenu, NULL, ICON_RIGHTARROW_THIN, "Copy Attributes", 0, yco-=20, 120, 19, "");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uiItemS(layout);
|
|
||||||
|
|
||||||
uiItemMenuF(layout, "Parent", 0, view3d_edit_object_parentmenu);
|
|
||||||
uiItemMenuF(layout, "Track", 0, view3d_edit_object_trackmenu);
|
|
||||||
uiItemMenuF(layout, "Group", 0, view3d_edit_object_groupmenu);
|
|
||||||
uiItemMenuF(layout, "Constraints", 0, view3d_edit_object_constraintsmenu);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
if(ob && ob->type == OB_MESH) {
|
|
||||||
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Boolean Operation...|W", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
// join... (added already)
|
|
||||||
|
|
||||||
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Convert Object Type...|Alt C", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
|
|
||||||
#endif
|
|
||||||
uiItemS(layout);
|
|
||||||
|
|
||||||
uiItemO(layout, NULL, 0, "OBJECT_OT_join");
|
|
||||||
|
|
||||||
uiItemS(layout);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Move to Layer...|M", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 10, "");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
uiItemMenuF(layout, "Show/Hide", 0, view3d_edit_object_showhidemenu);
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
#ifndef DISABLE_PYTHON
|
|
||||||
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
|
|
||||||
uiDefIconTextBlockBut(block, view3d_edit_object_scriptsmenu, NULL, ICON_RIGHTARROW_THIN, "Scripts", 0, yco-=20, 120, 19, "");
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void view3d_edit_mesh_verticesmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
static void view3d_edit_mesh_verticesmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
||||||
{
|
{
|
||||||
uiItemO(layout, "Merge...", 0, "MESH_OT_merge");
|
uiItemO(layout, "Merge...", 0, "MESH_OT_merge");
|
||||||
@ -3738,11 +3634,6 @@ static void view3d_header_pulldowns(const bContext *C, uiBlock *block, Object *o
|
|||||||
uiDefMenuBut(block, view3d_pose_armaturemenu, NULL, "Pose", xco,yco, xmax-3, 20, "");
|
uiDefMenuBut(block, view3d_pose_armaturemenu, NULL, "Pose", xco,yco, xmax-3, 20, "");
|
||||||
xco+= xmax;
|
xco+= xmax;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
xmax= GetButStringLength("Object");
|
|
||||||
uiDefMenuBut(block, view3d_edit_objectmenu, NULL, "Object", xco,yco, xmax-3, 20, "");
|
|
||||||
xco+= xmax;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
*xcoord= xco;
|
*xcoord= xco;
|
||||||
|
Loading…
Reference in New Issue
Block a user