[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21430] branches/blender2.5/blender: 2.5: Various Fixes

Brecht Van Lommel brecht at blender.org
Wed Jul 8 17:34:41 CEST 2009


Revision: 21430
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21430
Author:   blendix
Date:     2009-07-08 17:34:41 +0200 (Wed, 08 Jul 2009)

Log Message:
-----------
2.5: Various Fixes

* Context panel now draws without header, with arrows, no scene name.
* Softbody vertex group search popup.
* Improve names for autogenerated shortcut keys in menus.
* Make most Select menus in the 3D view header work.
* Fix armature border select selection syncing.
* Add POSE_OT_select_constraint_target,
  MESH_OT_select_by_number_vertices, MESH_OT_select_vertex_path.
* Merge mesh select similar into one operator.
* Don't give MESH_OT_select_random Space hotkey.
* Add DAG_object_flush_update to many mesh edit tools, not calling this
  will crash with modifiers.
* RNA_def_enum_funcs for dynamic enums in operators, but not very useful
  without context yet.
* Fix refresh issue with image window header + editmode.
* Fix drawing of shadow mesh for image painting.
* Remove deprecated uiDefMenuButO and uiDefMenuSep functions.
* Remove keyval.c, code is in wm_keymap.c already.
* Rename WM_operator_redo to WM_operator_props_popup.

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/buttons_physics_softbody.py
    branches/blender2.5/blender/release/ui/buttons_scene.py
    branches/blender2.5/blender/release/ui/space_image.py
    branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h
    branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c
    branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
    branches/blender2.5/blender/source/blender/editors/armature/poseobject.c
    branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
    branches/blender2.5/blender/source/blender/editors/include/ED_armature.h
    branches/blender2.5/blender/source/blender/editors/include/UI_icons.h
    branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
    branches/blender2.5/blender/source/blender/editors/interface/interface.c
    branches/blender2.5/blender/source/blender/editors/interface/interface_icons.c
    branches/blender2.5/blender/source/blender/editors/interface/interface_panel.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_loop.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
    branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
    branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c
    branches/blender2.5/blender/source/blender/editors/physics/editparticle.c
    branches/blender2.5/blender/source/blender/editors/screen/area.c
    branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_context.c
    branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c
    branches/blender2.5/blender/source/blender/editors/space_image/space_image.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
    branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c
    branches/blender2.5/blender/source/blender/editors/util/undo.c
    branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_draw.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_screen_types.h
    branches/blender2.5/blender/source/blender/makesrna/RNA_define.h
    branches/blender2.5/blender/source/blender/makesrna/RNA_types.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_define.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_rna.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_wm.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_world.c
    branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
    branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c

Removed Paths:
-------------
    branches/blender2.5/blender/source/blender/editors/interface/keyval.c

Modified: branches/blender2.5/blender/release/ui/buttons_physics_softbody.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_physics_softbody.py	2009-07-08 15:01:28 UTC (rev 21429)
+++ branches/blender2.5/blender/release/ui/buttons_physics_softbody.py	2009-07-08 15:34:41 UTC (rev 21430)
@@ -90,7 +90,7 @@
 			col.itemL(text="Goal Settings:")
 			col.itemR(softbody, "goal_spring", text="Stiffness")
 			col.itemR(softbody, "goal_friction", text="Damping")
-			layout.itemR(softbody, "goal_vertex_group", text="Vertex Group")
+			layout.item_pointerR(softbody, "goal_vertex_group", ob, "vertex_groups", text="Vertex Group")
 
 class PHYSICS_PT_softbody_edge(PhysicButtonsPanel):
 	__idname__ = "PHYSICS_PT_softbody_edge"

Modified: branches/blender2.5/blender/release/ui/buttons_scene.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_scene.py	2009-07-08 15:01:28 UTC (rev 21429)
+++ branches/blender2.5/blender/release/ui/buttons_scene.py	2009-07-08 15:34:41 UTC (rev 21430)
@@ -274,4 +274,4 @@
 bpy.types.register(RENDER_PT_antialiasing)
 bpy.types.register(RENDER_PT_shading)
 bpy.types.register(RENDER_PT_output)
-bpy.types.register(RENDER_PT_stamp)
\ No newline at end of file
+bpy.types.register(RENDER_PT_stamp)

Modified: branches/blender2.5/blender/release/ui/space_image.py
===================================================================
--- branches/blender2.5/blender/release/ui/space_image.py	2009-07-08 15:01:28 UTC (rev 21429)
+++ branches/blender2.5/blender/release/ui/space_image.py	2009-07-08 15:34:41 UTC (rev 21430)
@@ -257,8 +257,6 @@
 		if show_uvedit:
 			uvedit = sima.uv_editor
 
-			layout.itemS()
-
 			layout.itemR(uvedit, "pivot", text="")
 			layout.itemR(settings, "uv_sync_selection", text="")
 

Modified: branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h	2009-07-08 15:01:28 UTC (rev 21429)
+++ branches/blender2.5/blender/source/blender/editors/armature/armature_intern.h	2009-07-08 15:34:41 UTC (rev 21430)
@@ -60,6 +60,7 @@
 void POSE_OT_select_parent(struct wmOperatorType *ot);
 void POSE_OT_select_hierarchy(struct wmOperatorType *ot);
 void POSE_OT_select_linked(struct wmOperatorType *ot);
+void POSE_OT_select_constraint_target(struct wmOperatorType *ot);
 
 void SKETCH_OT_gesture(struct wmOperatorType *ot);
 void SKETCH_OT_delete(struct wmOperatorType *ot);

Modified: branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c	2009-07-08 15:01:28 UTC (rev 21429)
+++ branches/blender2.5/blender/source/blender/editors/armature/armature_ops.c	2009-07-08 15:34:41 UTC (rev 21430)
@@ -153,6 +153,7 @@
 	WM_operatortype_append(POSE_OT_select_parent);
 	WM_operatortype_append(POSE_OT_select_hierarchy);
 	WM_operatortype_append(POSE_OT_select_linked);
+	WM_operatortype_append(POSE_OT_select_constraint_target);
 	
 	/* POSELIB */
 	WM_operatortype_append(POSELIB_OT_browse_interactive);
@@ -194,14 +195,12 @@
 
 	kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_select_hierarchy", LEFTBRACKETKEY, KM_PRESS, 0, 0);
 		RNA_enum_set(kmi->ptr, "direction", BONE_SELECT_PARENT);
-		RNA_boolean_set(kmi->ptr, "extend", 0);
 	kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_select_hierarchy", LEFTBRACKETKEY, KM_PRESS, KM_SHIFT, 0);
 		RNA_enum_set(kmi->ptr, "direction", BONE_SELECT_PARENT);
 		RNA_boolean_set(kmi->ptr, "extend", 1);
 	
 	kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_select_hierarchy", RIGHTBRACKETKEY, KM_PRESS, 0, 0);
 		RNA_enum_set(kmi->ptr, "direction", BONE_SELECT_CHILD);
-		RNA_boolean_set(kmi->ptr, "extend", 0);
 	kmi= WM_keymap_add_item(keymap, "ARMATURE_OT_select_hierarchy", RIGHTBRACKETKEY, KM_PRESS, KM_SHIFT, 0);
 		RNA_enum_set(kmi->ptr, "direction", BONE_SELECT_CHILD);
 		RNA_boolean_set(kmi->ptr, "extend", 1);
@@ -240,14 +239,12 @@
 
 	kmi= WM_keymap_add_item(keymap, "POSE_OT_select_hierarchy", LEFTBRACKETKEY, KM_PRESS, 0, 0);
 		RNA_enum_set(kmi->ptr, "direction", BONE_SELECT_PARENT);
-		RNA_boolean_set(kmi->ptr, "extend", 0);
 	kmi= WM_keymap_add_item(keymap, "POSE_OT_select_hierarchy", LEFTBRACKETKEY, KM_PRESS, KM_SHIFT, 0);
 		RNA_enum_set(kmi->ptr, "direction", BONE_SELECT_PARENT);
 		RNA_boolean_set(kmi->ptr, "extend", 1);
 	
 	kmi= WM_keymap_add_item(keymap, "POSE_OT_select_hierarchy", RIGHTBRACKETKEY, KM_PRESS, 0, 0);
 		RNA_enum_set(kmi->ptr, "direction", BONE_SELECT_CHILD);
-		RNA_boolean_set(kmi->ptr, "extend", 0);
 	kmi= WM_keymap_add_item(keymap, "POSE_OT_select_hierarchy", RIGHTBRACKETKEY, KM_PRESS, KM_SHIFT, 0);
 		RNA_enum_set(kmi->ptr, "direction", BONE_SELECT_CHILD);
 		RNA_boolean_set(kmi->ptr, "extend", 1);

Modified: branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c	2009-07-08 15:01:28 UTC (rev 21429)
+++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c	2009-07-08 15:34:41 UTC (rev 21430)
@@ -110,7 +110,7 @@
 /* **************** tools on Editmode Armature **************** */
 
 /* Sync selection to parent for connected children */
-static void armature_sync_selection(ListBase *edbo)
+void ED_armature_sync_selection(ListBase *edbo)
 {
 	EditBone *ebo;
 	
@@ -1435,7 +1435,7 @@
 
 	}
 
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 
 	/* BIF_undo_push("Select connected"); */
 
@@ -1668,7 +1668,7 @@
 	}
 	
 	
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 
 	WM_event_add_notifier(C, NC_OBJECT, obedit);
 
@@ -1742,7 +1742,7 @@
 		}
 	}
 	
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 	if (doundo) {
 		if (sel==1) BIF_undo_push("Select All");
 		else BIF_undo_push("Deselect All");
@@ -1814,7 +1814,7 @@
 				nearBone->flag |= selmask;
 		}
 		
-		armature_sync_selection(arm->edbo);
+		ED_armature_sync_selection(arm->edbo);
 		
 		if(nearBone) {
 			/* then now check for active status */
@@ -2246,7 +2246,7 @@
 		
 	}
 	
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 
 	WM_event_add_notifier(C, NC_OBJECT|ND_BONE_SELECT, obedit);
 	
@@ -2508,7 +2508,7 @@
 	if (CTX_DATA_COUNT(C, selected_bones) == 0)
 	  return OPERATOR_CANCELLED;
 	
-	armature_sync_selection(arm->edbo); // XXX why is this needed?
+	ED_armature_sync_selection(arm->edbo); // XXX why is this needed?
 
 	preEditBoneDuplicate(arm->edbo);
 
@@ -3058,7 +3058,7 @@
 	}
 	
 	/* undo + updates */
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 	BIF_undo_push("Merge Bones");
 }
 
@@ -3080,7 +3080,7 @@
 			}
 		}
 	}
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 	BIF_undo_push("Hide Bones");
 }
 
@@ -3100,7 +3100,7 @@
 			}
 		}
 	}
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 	BIF_undo_push("Hide Unselected Bones");
 }
 
@@ -3118,7 +3118,7 @@
 			}
 		}
 	}
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 	BIF_undo_push("Reveal Bones");
 }
 
@@ -3251,7 +3251,7 @@
 	if (totbone==0) return OPERATOR_CANCELLED;
 	
 	/* Transform the endpoints */
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 
 	return OPERATOR_FINISHED;
 }
@@ -3812,7 +3812,7 @@
 	}
 	CTX_DATA_END;
 	
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 
 	/* note, notifier might evolve */
 	WM_event_add_notifier(C, NC_OBJECT, ob);
@@ -3963,7 +3963,7 @@
 		}
 	}
 	
-	armature_sync_selection(arm->edbo);
+	ED_armature_sync_selection(arm->edbo);
 	
 	WM_event_add_notifier(C, NC_OBJECT|ND_BONE_SELECT, ob);
 	

Modified: branches/blender2.5/blender/source/blender/editors/armature/poseobject.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/poseobject.c	2009-07-08 15:01:28 UTC (rev 21429)
+++ branches/blender2.5/blender/source/blender/editors/armature/poseobject.c	2009-07-08 15:34:41 UTC (rev 21430)
@@ -443,6 +443,65 @@
 
 }
 
+static int pose_select_constraint_target_exec(bContext *C, wmOperator *op)
+{
+	Object *ob= CTX_data_active_object(C);
+	bArmature *arm= ob->data;
+	bPoseChannel *pchan;
+	bConstraint *con;
+	int found= 0;
+	
+	for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+		if (arm->layer & pchan->bone->layer) {
+			if (pchan->bone->flag & (BONE_ACTIVE|BONE_SELECTED)) {
+				for (con= pchan->constraints.first; con; con= con->next) {
+					bConstraintTypeInfo *cti= constraint_get_typeinfo(con);
+					ListBase targets = {NULL, NULL};
+					bConstraintTarget *ct;
+					
+					if (cti && cti->get_constraint_targets) {
+						cti->get_constraint_targets(con, &targets);
+						
+						for (ct= targets.first; ct; ct= ct->next) {
+							if ((ct->tar == ob) && (ct->subtarget[0])) {
+								bPoseChannel *pchanc= get_pose_channel(ob->pose, ct->subtarget);
+								if(pchanc) {
+									pchanc->bone->flag |= BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL;
+									found= 1;
+								}
+							}
+						}
+						
+						if (cti->flush_constraint_targets)
+							cti->flush_constraint_targets(con, &targets, 1);
+					}
+				}
+			}
+		}
+	}
+
+	if(!found)
+		return OPERATOR_CANCELLED;
+
+	WM_event_add_notifier(C, NC_OBJECT|ND_BONE_SELECT, ob);
+
+	return OPERATOR_FINISHED;
+}
+
+void POSE_OT_select_constraint_target(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Select Constraint Target";
+	ot->idname= "POSE_OT_select_constraint_target";
+	
+	/* api callbacks */
+	ot->exec= pose_select_constraint_target_exec;
+	ot->poll= ED_operator_posemode;
+	
+	/* flags */
+	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
 /* ******************* select hierarchy operator ************* */
 
 static int pose_select_hierarchy_exec(bContext *C, wmOperator *op)
@@ -453,6 +512,7 @@
 	Bone *curbone, *pabone, *chbone;
 	int direction = RNA_enum_get(op->ptr, "direction");
 	int add_to_sel = RNA_boolean_get(op->ptr, "extend");
+	int found= 0;
 	
 	for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
 		curbone= pchan->bone;

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list