Revision: 14534
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14534
Author:   campbellbarton
Date:     2008-04-23 23:17:47 +0200 (Wed, 23 Apr 2008)

Log Message:
-----------
disallow changes to linked groups

Modified Paths:
--------------
    trunk/blender/source/blender/src/buttons_object.c

Modified: trunk/blender/source/blender/src/buttons_object.c
===================================================================
--- trunk/blender/source/blender/src/buttons_object.c   2008-04-23 21:11:02 UTC 
(rev 14533)
+++ trunk/blender/source/blender/src/buttons_object.c   2008-04-23 21:17:47 UTC 
(rev 14534)
@@ -2130,7 +2130,6 @@
                        BKE_ptcache_id_time(pid, 0.0f, &cstart, &cend, NULL);
 
                        cache->flag &= ~PTCACHE_BAKING;
-
                        BKE_ptcache_id_reset(pid, PTCACHE_RESET_OUTDATED);
                }
                else {
@@ -2529,15 +2528,18 @@
 
        uiDefBut(block, BUTM, B_NOP, "ADD NEW",         0, 20, 160, 19, NULL, 
0.0, 0.0, 1, -1, "");
        for(group= G.main->group.first; group; group= group->id.next, index++) {
-               if(group->id.lib) strcpy(str, "L  ");
-               else strcpy(str, "   ");
-               strcat(str, group->id.name+2);
-               uiDefBut(block, BUTM, B_NOP, str,       xco*160, -20*yco, 160, 
19, NULL, 0.0, 0.0, 1, index, "");
                
-               yco++;
-               if(yco>24) {
-                       yco= 0;
-                       xco++;
+               /*if(group->id.lib) strcpy(str, "L  ");*/ /* we cant allow 
adding objects inside linked groups, it wont be saved anyway */
+               if(group->id.lib==0) {
+                       strcpy(str, "   ");
+                       strcat(str, group->id.name+2);
+                       uiDefBut(block, BUTM, B_NOP, str,       xco*160, 
-20*yco, 160, 19, NULL, 0.0, 0.0, 1, index, "");
+                       
+                       yco++;
+                       if(yco>24) {
+                               yco= 0;
+                               xco++;
+                       }
                }
        }
        
@@ -2606,21 +2608,25 @@
                        xco= 160;
                        
                        uiBlockBeginAlign(block);
+                       uiSetButLock(GET_INT_FROM_POINTER(group->id.lib), 
ERROR_LIBDATA_MESSAGE); /* We cant actually use this button */
                        but = uiDefBut(block, TEX, B_IDNAME, "GR:",     10, 
120-yco, 150, 20, group->id.name+2, 0.0, 21.0, 0, 0, "Displays Group name. 
Click to change.");
                        uiButSetFunc(but, test_idbutton_cb, group->id.name, 
NULL);
+                       uiClearButLock();
                        
                        if(group->id.lib) {
                                but= uiDefIconBut(block, BUT, B_NOP, 
ICON_PARLIB, 160, 120-yco, 20, 20, NULL, 0.0, 0.0, 0.0, 0.0, "Make Group 
local");
                                uiButSetFunc(but, group_local, group, NULL);
                                xco= 180;
+                       } else { /* cant remove objects from linked groups */
+                               but = uiDefIconBut(block, BUT, B_NOP, VICON_X, 
xco, 120-yco, 20, 20, NULL, 0.0, 0.0, 0.0, 0.0, "Remove Group membership");
+                               uiButSetFunc(but, group_ob_rem, group, ob);
                        }
-                       but = uiDefIconBut(block, BUT, B_NOP, VICON_X, xco, 
120-yco, 20, 20, NULL, 0.0, 0.0, 0.0, 0.0, "Remove Group membership");
-                       uiButSetFunc(but, group_ob_rem, group, ob);
                        
                        yco+= 20;
                        xco= 10;
                        
                        /* layers */
+                       uiSetButLock(GET_INT_FROM_POINTER(group->id.lib), 
ERROR_LIBDATA_MESSAGE);
                        uiBlockBeginAlign(block);
                        for(a=0; a<5; a++)
                                uiDefButBitI(block, TOG, 1<<a, REDRAWVIEW3D, 
"",        (short)(xco+a*(dx/2)), 120-yco, (short)(dx/2), (short)(dy/2), (int 
*)&(group->layer), 0, 0, 0, 0, "");
@@ -2635,7 +2641,8 @@
                                uiDefButBitI(block, TOG, 1<<(a+10), 
REDRAWVIEW3D, "",   (short)(xco+a*(dx/2)), 105-yco, (short)(dx/2), 
(short)(dy/2), (int *)&(group->layer), 0, 0, 0, 0, "");
                        
                        uiBlockEndAlign(block);
-                       
+                       uiClearButLock();
+
                        yco+= 40;
                }
        }


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

Reply via email to