[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28504] trunk/blender/source/blender/ editors/object/object_select.c: select linked options, Library and Library ObData

Campbell Barton ideasman42 at gmail.com
Thu Apr 29 16:44:39 CEST 2010


Revision: 28504
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28504
Author:   campbellbarton
Date:     2010-04-29 16:44:39 +0200 (Thu, 29 Apr 2010)

Log Message:
-----------
select linked options, Library and Library ObData

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_select.c

Modified: trunk/blender/source/blender/editors/object/object_select.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_select.c	2010-04-29 07:06:00 UTC (rev 28503)
+++ trunk/blender/source/blender/editors/object/object_select.c	2010-04-29 14:44:39 UTC (rev 28504)
@@ -161,11 +161,13 @@
 
 static EnumPropertyItem prop_select_linked_types[] = {
 	//{1, "IPO", 0, "Object IPO", ""}, // XXX depreceated animation system stuff...
-	{2, "OBDATA", 0, "Ob Data", ""},
+	{2, "OBDATA", 0, "Object Data", ""},
 	{3, "MATERIAL", 0, "Material", ""},
 	{4, "TEXTURE", 0, "Texture", ""},
 	{5, "DUPGROUP", 0, "Dupligroup", ""},
 	{6, "PARTICLE", 0, "Particle System", ""},
+	{7, "LIBRARY", 0, "Library", ""},
+	{8, "LIBRARY_OBDATA", 0, "Library (Object Data)", ""},
 	{0, NULL, 0, NULL, NULL}
 };
 
@@ -198,7 +200,7 @@
 	}
 	
 	ob= OBACT;
-	if(ob==0){ 
+	if(ob==NULL){ 
 		BKE_report(op->reports, RPT_ERROR, "No Active Object");
 		return OPERATOR_CANCELLED;
 	}
@@ -227,7 +229,14 @@
 	else if(nr==6) {
 		if(ob->particlesystem.first==NULL) return OPERATOR_CANCELLED;
 	}
-	else return OPERATOR_CANCELLED;
+	else if(nr==7) {
+		/* do nothing */
+	}
+	else if(nr==8) {
+		if(ob->data==NULL) return OPERATOR_CANCELLED;
+	}
+	else
+		return OPERATOR_CANCELLED;
 	
 	CTX_DATA_BEGIN(C, Base*, base, visible_bases) {
 		if(nr==1) {
@@ -286,6 +295,18 @@
 				}
 			}
 		}
+		else if(nr==7) {
+			if(ob->id.lib == base->object->id.lib) {
+				base->flag |= SELECT;
+				changed= 1;
+			}
+		}
+		else if(nr==8) {
+			if(base->object->data && ((ID *)ob->data)->lib == ((ID *)base->object->data)->lib) {
+				base->flag |= SELECT;
+				changed= 1;
+			}
+		}
 		base->object->flag= base->flag;
 	}
 	CTX_DATA_END;





More information about the Bf-blender-cvs mailing list