[Bf-blender-cvs] [e81b1c5] master: Cleanup: get rid of magic numbers.

Bastien Montagne noreply at git.blender.org
Wed Jul 9 15:12:57 CEST 2014


Commit: e81b1c54d2a22790319b2cceef8a14135e2f5616
Author: Bastien Montagne
Date:   Wed Jul 9 15:05:06 2014 +0200
https://developer.blender.org/rBe81b1c54d2a22790319b2cceef8a14135e2f5616

Cleanup: get rid of magic numbers.

===================================================================

M	source/blender/editors/object/object_select.c

===================================================================

diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c
index 847f2e4..9b1aa05 100644
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@ -510,20 +510,36 @@ void OBJECT_OT_select_linked(wmOperatorType *ot)
 
 /*********************** Selected Grouped ********************/
 
+enum {
+	OBJECT_GRPSEL_CHILDREN_RECURSIVE =  0,
+	OBJECT_GRPSEL_CHILDREN           =  1,
+	OBJECT_GRPSEL_PARENT             =  2,
+	OBJECT_GRPSEL_SIBLINGS           =  3,
+	OBJECT_GRPSEL_TYPE               =  4,
+	OBJECT_GRPSEL_LAYER              =  5,
+	OBJECT_GRPSEL_GROUP              =  6,
+	OBJECT_GRPSEL_HOOK               =  7,
+	OBJECT_GRPSEL_PASS               =  8,
+	OBJECT_GRPSEL_COLOR              =  9,
+	OBJECT_GRPSEL_PROPERTIES         = 10,
+	OBJECT_GRPSEL_KEYINGSET          = 11,
+	OBJECT_GRPSEL_LAMP_TYPE          = 12,
+};
+
 static EnumPropertyItem prop_select_grouped_types[] = {
-	{1, "CHILDREN_RECURSIVE", 0, "Children", ""},
-	{2, "CHILDREN", 0, "Immediate Children", ""},
-	{3, "PARENT", 0, "Parent", ""},
-	{4, "SIBLINGS", 0, "Siblings", "Shared Parent"},
-	{5, "TYPE", 0, "Type", "Shared object type"},
-	{6, "LAYER", 0, "Layer", "Shared layers"},
-	{7, "GROUP", 0, "Group", "Shared group"},
-	{8, "HOOK", 0, "Hook", ""},
-	{9, "PASS", 0, "Pass", "Render pass Index"},
-	{10, "COLOR", 0, "Color", "Object Color"},
-	{11, "PROPERTIES", 0, "Properties", "Game Properties"},
-	{12, "KEYINGSET", 0, "Keying Set", "Objects included in active Keying Set"},
-	{13, "LAMP_TYPE", 0, "Lamp Type", "Matching lamp types"},
+	{OBJECT_GRPSEL_CHILDREN_RECURSIVE, "CHILDREN_RECURSIVE", 0, "Children", ""},
+	{OBJECT_GRPSEL_CHILDREN, "CHILDREN", 0, "Immediate Children", ""},
+	{OBJECT_GRPSEL_PARENT, "PARENT", 0, "Parent", ""},
+	{OBJECT_GRPSEL_SIBLINGS, "SIBLINGS", 0, "Siblings", "Shared Parent"},
+	{OBJECT_GRPSEL_TYPE, "TYPE", 0, "Type", "Shared object type"},
+	{OBJECT_GRPSEL_LAYER, "LAYER", 0, "Layer", "Shared layers"},
+	{OBJECT_GRPSEL_GROUP, "GROUP", 0, "Group", "Shared group"},
+	{OBJECT_GRPSEL_HOOK, "HOOK", 0, "Hook", ""},
+	{OBJECT_GRPSEL_PASS, "PASS", 0, "Pass", "Render pass Index"},
+	{OBJECT_GRPSEL_COLOR, "COLOR", 0, "Color", "Object Color"},
+	{OBJECT_GRPSEL_PROPERTIES, "PROPERTIES", 0, "Properties", "Game Properties"},
+	{OBJECT_GRPSEL_KEYINGSET, "KEYINGSET", 0, "Keying Set", "Objects included in active Keying Set"},
+	{OBJECT_GRPSEL_LAMP_TYPE, "LAMP_TYPE", 0, "Lamp Type", "Matching lamp types"},
 	{0, NULL, 0, NULL, NULL}
 };
 
@@ -655,7 +671,7 @@ static bool select_grouped_siblings(bContext *C, Object *ob)
 	CTX_DATA_END;
 	return changed;
 }
-static bool select_similar_lamps(bContext *C, Object *ob)
+static bool select_grouped_lamptype(bContext *C, Object *ob)
 {
 	Lamp *la = ob->data;
 
@@ -816,11 +832,11 @@ static int object_select_grouped_exec(bContext *C, wmOperator *op)
 {
 	Scene *scene = CTX_data_scene(C);
 	Object *ob;
-	int nr = RNA_enum_get(op->ptr, "type");
+	const int type = RNA_enum_get(op->ptr, "type");
 	bool changed = false, extend;
 
 	extend = RNA_boolean_get(op->ptr, "extend");
-	
+
 	if (extend == 0) {
 		CTX_DATA_BEGIN (C, Base *, base, visible_bases)
 		{
@@ -829,37 +845,66 @@ static int object_select_grouped_exec(bContext *C, wmOperator *op)
 		}
 		CTX_DATA_END;
 	}
-	
+
 	ob = OBACT;
 	if (ob == NULL) {
 		BKE_report(op->reports, RPT_ERROR, "No active object");
 		return OPERATOR_CANCELLED;
 	}
 
-	if (nr == 13 && ob->type != OB_LAMP) {
-		BKE_report(op->reports, RPT_ERROR, "Active object must be a lamp");
-		return OPERATOR_CANCELLED;
+	switch (type) {
+		case OBJECT_GRPSEL_CHILDREN_RECURSIVE:
+			changed = select_grouped_children(C, ob, true);
+			break;
+		case OBJECT_GRPSEL_CHILDREN:
+			changed = select_grouped_children(C, ob, false);
+			break;
+		case OBJECT_GRPSEL_PARENT:
+			changed = select_grouped_parent(C);
+			break;
+		case OBJECT_GRPSEL_SIBLINGS:
+			changed = select_grouped_siblings(C, ob);
+			break;
+		case OBJECT_GRPSEL_TYPE:
+			changed = select_grouped_type(C, ob);
+			break;
+		case OBJECT_GRPSEL_LAYER:
+			changed = select_grouped_layer(C, ob);
+			break;
+		case OBJECT_GRPSEL_GROUP:
+			changed = select_grouped_group(C, ob);
+			break;
+		case OBJECT_GRPSEL_HOOK:
+			changed = select_grouped_object_hooks(C, ob);
+			break;
+		case OBJECT_GRPSEL_PASS:
+			changed = select_grouped_index_object(C, ob);
+			break;
+		case OBJECT_GRPSEL_COLOR:
+			changed = select_grouped_color(C, ob);
+			break;
+		case OBJECT_GRPSEL_PROPERTIES:
+			changed = select_grouped_gameprops(C, ob);
+			break;
+		case OBJECT_GRPSEL_KEYINGSET:
+			changed = select_grouped_keyingset(C, ob, op->reports);
+			break;
+		case OBJECT_GRPSEL_LAMP_TYPE:
+			if (ob->type != OB_LAMP) {
+				BKE_report(op->reports, RPT_ERROR, "Active object must be a lamp");
+				break;
+			}
+			changed = select_grouped_lamptype(C, ob);
+			break;
+		default:
+			break;
 	}
 
-	if      (nr == 1) changed |= select_grouped_children(C, ob, 1);
-	else if (nr == 2) changed |= select_grouped_children(C, ob, 0);
-	else if (nr == 3) changed |= select_grouped_parent(C);
-	else if (nr == 4) changed |= select_grouped_siblings(C, ob);
-	else if (nr == 5) changed |= select_grouped_type(C, ob);
-	else if (nr == 6) changed |= select_grouped_layer(C, ob);
-	else if (nr == 7) changed |= select_grouped_group(C, ob);
-	else if (nr == 8) changed |= select_grouped_object_hooks(C, ob);
-	else if (nr == 9) changed |= select_grouped_index_object(C, ob);
-	else if (nr == 10) changed |= select_grouped_color(C, ob);
-	else if (nr == 11) changed |= select_grouped_gameprops(C, ob);
-	else if (nr == 12) changed |= select_grouped_keyingset(C, ob, op->reports);
-	else if (nr == 13) changed |= select_similar_lamps(C, ob);
-	
 	if (changed) {
 		WM_event_add_notifier(C, NC_SCENE | ND_OB_SELECT, scene);
 		return OPERATOR_FINISHED;
 	}
-	
+
 	return OPERATOR_CANCELLED;
 }




More information about the Bf-blender-cvs mailing list