Revision: 22484
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22484
Author:   dingto
Date:     2009-08-16 00:28:48 +0200 (Sun, 16 Aug 2009)

Log Message:
-----------
2.5 3DView Header:

* "Object" Menu is now written in python. 

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/space_view3d.py
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c

Modified: branches/blender2.5/blender/release/ui/space_view3d.py
===================================================================
--- branches/blender2.5/blender/release/ui/space_view3d.py      2009-08-15 
21:46:25 UTC (rev 22483)
+++ branches/blender2.5/blender/release/ui/space_view3d.py      2009-08-15 
22:28:48 UTC (rev 22484)
@@ -23,7 +23,10 @@
                        # Select Menu
                        selectmenu = "VIEW3D_MT_select_%s" % mode_string
                        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()
 
@@ -334,7 +337,131 @@
 
                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 **********
 
 class VIEW3D_PT_3dview_properties(bpy.types.Panel):
@@ -454,6 +581,15 @@
 bpy.types.register(VIEW3D_MT_select_armature_edit)
 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_display)
 bpy.types.register(VIEW3D_PT_background_image)

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c 
    2009-08-15 21:46:25 UTC (rev 22483)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c 
    2009-08-15 22:28:48 UTC (rev 22484)
@@ -1834,42 +1834,6 @@
 }
 #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
 #ifndef DISABLE_PYTHON
 static void do_view3d_edit_object_scriptsmenu(bContext *C, void *arg, int 
event)
@@ -1943,74 +1907,6 @@
 }
 #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)
 {
        uiItemO(layout, "Merge...", 0, "MESH_OT_merge");
@@ -3738,11 +3634,6 @@
                        uiDefMenuBut(block, view3d_pose_armaturemenu, NULL, 
"Pose",     xco,yco, xmax-3, 20, "");
                        xco+= xmax;
                }
-               else {
-                       xmax= GetButStringLength("Object");
-                       uiDefMenuBut(block, view3d_edit_objectmenu, NULL, 
"Object",     xco,yco, xmax-3, 20, "");
-                       xco+= xmax;
-               }
        }
 
        *xcoord= xco;


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to