Revision: 24899
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24899
Author:   vekoon
Date:     2009-11-26 00:13:47 +0100 (Thu, 26 Nov 2009)

Log Message:
-----------
After talking with Matt about this, added notifier NC_ID to handle ID changes, 
specifically ND_ID_RENAME for ID renaming. Done for outliner, 3d view and 
properties editor.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_buttons/space_buttons.c
    trunk/blender/source/blender/editors/space_outliner/outliner.c
    trunk/blender/source/blender/editors/space_outliner/space_outliner.c
    trunk/blender/source/blender/editors/space_view3d/space_view3d.c
    trunk/blender/source/blender/makesrna/intern/rna_ID.c
    trunk/blender/source/blender/windowmanager/WM_types.h

Modified: trunk/blender/source/blender/editors/space_buttons/space_buttons.c
===================================================================
--- trunk/blender/source/blender/editors/space_buttons/space_buttons.c  
2009-11-25 22:58:54 UTC (rev 24898)
+++ trunk/blender/source/blender/editors/space_buttons/space_buttons.c  
2009-11-25 23:13:47 UTC (rev 24899)
@@ -308,6 +308,10 @@
                        if(wmn->data == ND_SPACE_PROPERTIES)
                                ED_area_tag_redraw(sa);
                        break;
+               case NC_ID:
+                       if(wmn->data == ND_ID_RENAME)
+                               ED_area_tag_redraw(sa);
+                       break;
        }
 
        if(wmn->data == ND_KEYS)

Modified: trunk/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner.c      
2009-11-25 22:58:54 UTC (rev 24898)
+++ trunk/blender/source/blender/editors/space_outliner/outliner.c      
2009-11-25 23:13:47 UTC (rev 24899)
@@ -4747,7 +4747,7 @@
                                case ID_SCE:
                                        WM_event_add_notifier(C, NC_SCENE, 
NULL); break;
                                default:
-                                       WM_event_add_notifier(C, NC_MATERIAL, 
NULL); break;
+                                       WM_event_add_notifier(C, 
NC_ID|ND_ID_RENAME, NULL); break;
                        }                                       
                        /* Check the library target exists */
                        if (te->idcode == ID_LI) {

Modified: trunk/blender/source/blender/editors/space_outliner/space_outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/space_outliner.c        
2009-11-25 22:58:54 UTC (rev 24898)
+++ trunk/blender/source/blender/editors/space_outliner/space_outliner.c        
2009-11-25 23:13:47 UTC (rev 24899)
@@ -147,6 +147,10 @@
                        if(wmn->data == ND_SPACE_OUTLINER)
                                ED_region_tag_redraw(ar);
                                break;
+               case NC_ID:
+                       if(wmn->data == ND_ID_RENAME)
+                               ED_region_tag_redraw(ar);
+                               break;
        }
        
 }

Modified: trunk/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/space_view3d.c    
2009-11-25 22:58:54 UTC (rev 24898)
+++ trunk/blender/source/blender/editors/space_view3d/space_view3d.c    
2009-11-25 23:13:47 UTC (rev 24899)
@@ -517,6 +517,10 @@
                        if(wmn->data == ND_SPACE_VIEW3D)
                                ED_region_tag_redraw(ar);
                        break;
+               case NC_ID:
+                       if(wmn->data == ND_ID_RENAME)
+                               ED_region_tag_redraw(ar);
+                       break;
        }
 }
 
@@ -639,6 +643,10 @@
                        if(wmn->data == ND_SPACE_VIEW3D)
                                ED_region_tag_redraw(ar);
                        break;
+               case NC_ID:
+                       if(wmn->data == ND_ID_RENAME)
+                               ED_region_tag_redraw(ar);
+                       break;
        }
 }
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_ID.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_ID.c       2009-11-25 
22:58:54 UTC (rev 24898)
+++ trunk/blender/source/blender/makesrna/intern/rna_ID.c       2009-11-25 
23:13:47 UTC (rev 24899)
@@ -31,6 +31,8 @@
 
 #include "DNA_ID.h"
 
+#include "WM_types.h"
+
 #include "rna_internal.h"
 
 /* enum of ID-block types 
@@ -301,6 +303,7 @@
        RNA_def_property_ui_text(prop, "Name", "Unique datablock ID name.");
        RNA_def_property_string_funcs(prop, "rna_ID_name_get", 
"rna_ID_name_length", "rna_ID_name_set");
        RNA_def_property_string_maxlength(prop, sizeof(((ID*)NULL)->name)-2);
+       RNA_def_property_update(prop, NC_ID|ND_ID_RENAME, NULL);
        RNA_def_struct_name_property(srna, prop);
 
        prop= RNA_def_property(srna, "users", PROP_INT, PROP_UNSIGNED);

Modified: trunk/blender/source/blender/windowmanager/WM_types.h
===================================================================
--- trunk/blender/source/blender/windowmanager/WM_types.h       2009-11-25 
22:58:54 UTC (rev 24898)
+++ trunk/blender/source/blender/windowmanager/WM_types.h       2009-11-25 
23:13:47 UTC (rev 24899)
@@ -136,6 +136,7 @@
 #define NC_SPACE                       (15<<24)
 #define        NC_GEOM                         (16<<24)
 #define NC_NODE                                (17<<24)
+#define NC_ID                          (18<<24)
 
 /* data type, 256 entries is enough, it can overlap */
 #define NOTE_DATA                      0x00FF0000
@@ -215,7 +216,10 @@
        /* NC_NODE Nodes */
 #define ND_NODE_SELECT                 (1<<16)
 
+       /* NC_ID IDs */
+#define ND_ID_RENAME                   (1<<16)
 
+
        /* NC_SPACE */
 #define ND_SPACE_CONSOLE               (1<<16) /* general redraw */
 #define ND_SPACE_CONSOLE_REPORT        (2<<16) /* update for reports, could 
specify type */


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

Reply via email to