diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-02-12 00:17:05 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-02-12 00:17:05 +0300 |
commit | 157a694607a4730fba82b008ea02668027041ba4 (patch) | |
tree | 458e435a190a237a2d04a54829b62f2876dadbd5 | |
parent | ac8b22ab2dbf98a90628862b4bef7a7ec6f3aaad (diff) |
- select active camera operator
- calling menu use exec rather then invoke
-rw-r--r-- | release/scripts/op/object.py | 22 | ||||
-rw-r--r-- | release/scripts/ui/space_view3d.py | 1 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_operators.c | 4 |
3 files changed, 25 insertions, 2 deletions
diff --git a/release/scripts/op/object.py b/release/scripts/op/object.py index e22c6587d2d..18d077dd6c2 100644 --- a/release/scripts/op/object.py +++ b/release/scripts/op/object.py @@ -75,6 +75,27 @@ class SelectPattern(bpy.types.Operator): row.prop(props, "extend") +class SelectCamera(bpy.types.Operator): + '''Select object matching a naming pattern.''' + bl_idname = "object.select_camera" + bl_label = "Select Camera" + bl_register = True + bl_undo = True + + def poll(self, context): + return context.scene.camera is not None + + def execute(self, context): + scene = context.scene + camera = scene.camera + if camera.name not in scene.objects: + self.report({'WARNING'}, "Active camera is not in this scene") + + context.scene.objects.active = camera + camera.selected = True + return {'FINISHED'} + + class SubdivisionSet(bpy.types.Operator): '''Sets a Subdivision Surface Level (1-5)''' @@ -450,6 +471,7 @@ class MakeDupliFace(bpy.types.Operator): bpy.types.register(SelectPattern) +bpy.types.register(SelectCamera) bpy.types.register(SubdivisionSet) bpy.types.register(ShapeTransfer) bpy.types.register(JoinUVs) diff --git a/release/scripts/ui/space_view3d.py b/release/scripts/ui/space_view3d.py index b6a8af8debe..e33234a153c 100644 --- a/release/scripts/ui/space_view3d.py +++ b/release/scripts/ui/space_view3d.py @@ -385,6 +385,7 @@ class VIEW3D_MT_select_object(bpy.types.Menu): layout.operator("object.select_mirror", text="Mirror") layout.operator("object.select_by_layer", text="Select All by Layer") layout.operator_menu_enum("object.select_by_type", "type", "", text="Select All by Type...") + layout.operator("object.select_camera", text="Select Camera") layout.separator() diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index ff41f791e8e..c7e6f883e5a 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -1247,7 +1247,7 @@ static void WM_OT_search_menu(wmOperatorType *ot) ot->poll= wm_search_menu_poll; } -static int wm_call_menu_invoke(bContext *C, wmOperator *op, wmEvent *event) +static int wm_call_menu_exec(bContext *C, wmOperator *op) { char idname[BKE_ST_MAXNAME]; RNA_string_get(op->ptr, "name", idname); @@ -1262,7 +1262,7 @@ static void WM_OT_call_menu(wmOperatorType *ot) ot->name= "Call Menu"; ot->idname= "WM_OT_call_menu"; - ot->invoke= wm_call_menu_invoke; + ot->exec= wm_call_menu_exec; RNA_def_string(ot->srna, "name", "", BKE_ST_MAXNAME, "Name", "Name of the menu"); } |