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. @@

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

Reply via email to