[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18803] branches/etch-a-ton/source/blender /src/drawview.c: dropdown for bone creation method and swap params in panel instead of having all of them visible all the time .

Martin Poirier theeth at yahoo.com
Wed Feb 4 03:55:56 CET 2009


Revision: 18803
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18803
Author:   theeth
Date:     2009-02-04 03:55:24 +0100 (Wed, 04 Feb 2009)

Log Message:
-----------
dropdown for bone creation method and swap params in panel instead of having all of them visible all the time.

Modified Paths:
--------------
    branches/etch-a-ton/source/blender/src/drawview.c

Modified: branches/etch-a-ton/source/blender/src/drawview.c
===================================================================
--- branches/etch-a-ton/source/blender/src/drawview.c	2009-02-03 12:31:40 UTC (rev 18802)
+++ branches/etch-a-ton/source/blender/src/drawview.c	2009-02-04 02:55:24 UTC (rev 18803)
@@ -2301,6 +2301,14 @@
 	/* replace with check call to sketching lib */
 	if (G.obedit && G.obedit->type == OB_ARMATURE)
 	{
+		static char subdiv_tooltip[4][64] = {
+			"Subdivide arcs based on a fixed number of bones",
+			"Subdivide arcs in bones of equal length",
+			"Subdivide arcs based on correlation",
+			"Retarget template to stroke"
+			};
+
+		
 		block= uiNewBlock(&curarea->uiblocks, "view3d_panel_bonesketch_spaces", UI_EMBOSS, UI_HELV, curarea->win);
 		uiPanelControl(UI_PNL_SOLID | UI_PNL_CLOSE  | cntrl);
 		uiSetPanelHandler(VIEW3D_HANDLER_BONESKETCH);  // for close and esc
@@ -2327,67 +2335,74 @@
 		uiBlockEndAlign(block);
 
 		uiBlockBeginAlign(block);
+		
+		uiDefButC(block, MENU, B_REDR, "Subdivision Method%t|Length%x2|Correlation%x3|Fixed%x1|Template%x4", 10,yco,60,19, &G.scene->toolsettings->bone_sketching_convert, 0, 0, 0, 0, subdiv_tooltip[(unsigned char)G.scene->toolsettings->bone_sketching_convert]);
 
-		uiDefButC(block, ROW, B_REDR, "Length",	10, yco, 60, 19, &G.scene->toolsettings->bone_sketching_convert, 0, SK_CONVERT_CUT_LENGTH, 0, 0,				"Subdivide arcs in bones of equal length");
-		uiDefButF(block, NUM, B_REDR, 					"Lim:",		70, yco, 140, 19, &G.scene->toolsettings->skgen_length_limit,0.1,50.0, 10, 0,		"Maximum length of the subdivided bones");
-		yco -= 20;
+		switch(G.scene->toolsettings->bone_sketching_convert)
+		{
+		case SK_CONVERT_CUT_LENGTH:
+			uiDefButF(block, NUM, B_REDR, 					"Lim:",		70, yco, 140, 19, &G.scene->toolsettings->skgen_length_limit,0.1,50.0, 10, 0,		"Maximum length of the subdivided bones");
+			yco -= 20;
+			break;
+		case SK_CONVERT_CUT_CORRELATION:
+			uiDefButF(block, NUM, B_REDR, 					"Thres:",			70, yco, 140, 19, &G.scene->toolsettings->skgen_correlation_limit,0.0, 1.0, 0.01, 0,	"Correlation threshold for subdivision");
+			yco -= 20;
+			break;
+		default:
+		case SK_CONVERT_CUT_FIXED:
+			uiDefButC(block, NUM, B_REDR, 					"Num:",		70, yco, 140, 19, &G.scene->toolsettings->skgen_subdivision_number,1, 100, 1, 5,	"Number of subdivided bones");
+			yco -= 20;
+			break;
+		case SK_CONVERT_RETARGET:
+			uiDefButC(block, ROW, B_DIFF, "No",			70,  yco, 40,19, &G.scene->toolsettings->skgen_retarget_roll, 0, 0, 0, 0,									"No special roll treatment");
+			uiDefButC(block, ROW, B_DIFF, "View",		110,  yco, 50,19, &G.scene->toolsettings->skgen_retarget_roll, 0, SK_RETARGET_ROLL_VIEW, 0, 0,				"Roll bones perpendicular to view");
+			uiDefButC(block, ROW, B_DIFF, "Joint",		160, yco, 50,19, &G.scene->toolsettings->skgen_retarget_roll, 0, SK_RETARGET_ROLL_JOINT, 0, 0,				"Roll bones relative to joint bend");
+			yco -= 30;
 
-		uiDefButC(block, ROW, B_REDR, "Correlation",	10, yco, 60, 19, &G.scene->toolsettings->bone_sketching_convert, 0, SK_CONVERT_CUT_CORRELATION, 0, 0,					"Subdivide arcs based on correlation");
-		uiDefButF(block, NUM, B_REDR, 					 "Thres:",			70, yco, 140, 19, &G.scene->toolsettings->skgen_correlation_limit,0.0, 1.0, 0.01, 0,	"Correlation threshold for subdivision");
-		yco -= 20;
-	
-		uiDefButC(block, ROW, B_REDR, "Fixed",		10, yco, 60, 19, &G.scene->toolsettings->bone_sketching_convert, 0, SK_CONVERT_CUT_FIXED, 0, 0,					"Subdivide arcs based on a fixed number of bones");
-		uiDefButC(block, NUM, B_REDR, 					"Num:",		70, yco, 140, 19, &G.scene->toolsettings->skgen_subdivision_number,1, 100, 1, 5,	"Number of subdivided bones");
-		yco -= 20;
+			uiBlockEndAlign(block);
 
-		uiDefButC(block, ROW, B_REDR, "Retarget",	10,  yco,80, 19, &G.scene->toolsettings->bone_sketching_convert, 0, SK_CONVERT_RETARGET, 0, 0,				"Retarget selected bones to stroke");
-		uiDefButC(block, ROW, B_DIFF, "No",			90,  yco, 40,19, &G.scene->toolsettings->skgen_retarget_roll, 0, 0, 0, 0,									"No special roll treatment");
-		uiDefButC(block, ROW, B_DIFF, "View",		130,  yco, 40,19, &G.scene->toolsettings->skgen_retarget_roll, 0, SK_RETARGET_ROLL_VIEW, 0, 0,				"Roll bones perpendicular to view");
-		uiDefButC(block, ROW, B_DIFF, "Joint",		170, yco, 40,19, &G.scene->toolsettings->skgen_retarget_roll, 0, SK_RETARGET_ROLL_JOINT, 0, 0,				"Roll bones relative to joint bend");
-		yco -= 20;
+			uiBlockBeginAlign(block);
+			/* button here to select what to do (copy or not), template, ...*/
 
-		uiBlockEndAlign(block);
+			BIF_makeListTemplates();
+			template_index = BIF_currentTemplate();
+			
+			but = uiDefButI(block, MENU, B_REDR, BIF_listTemplates(), 10,yco,200,19, &template_index, 0, 0, 0, 0, "Template");
+			uiButSetFunc(but, assign_template_sketch_armature, &template_index, NULL);
+			
+			yco -= 20;
+			
+			uiDefButF(block, NUM, B_DIFF, 							"A:",			10, yco, 66,19, &G.scene->toolsettings->skgen_retarget_angle_weight, 0, 10, 1, 0,		"Angle Weight");
+			uiDefButF(block, NUM, B_DIFF, 							"L:",			76, yco, 67,19, &G.scene->toolsettings->skgen_retarget_length_weight, 0, 10, 1, 0,		"Length Weight");
+			uiDefButF(block, NUM, B_DIFF, 							"D:",		143,yco, 67,19, &G.scene->toolsettings->skgen_retarget_distance_weight, 0, 10, 1, 0,		"Distance Weight");
+			yco -= 20;
+			
+			uiDefBut(block, TEX,B_DIFF,"S:",							10,  yco, 90, 20, G.scene->toolsettings->skgen_side_string, 0.0, 8.0, 0, 0, "Text to replace &S with");
+			uiDefBut(block, TEX,B_DIFF,"N:",							100, yco, 90, 20, G.scene->toolsettings->skgen_num_string, 0.0, 8.0, 0, 0, "Text to replace &N with");
+			uiDefIconButBitC(block, TOG, SK_RETARGET_AUTONAME, B_DIFF, ICON_AUTO,190,yco,20,20, &G.scene->toolsettings->skgen_retarget_options, 0, 0, 0, 0, "Use Auto Naming");	
+			yco -= 20;
+	
+			/* auto renaming magic */
+			uiBlockEndAlign(block);
+			
+			nb_joints = BIF_nbJointsTemplate();
+	
+			if (nb_joints == -1)
+			{
+				nb_joints = G.totvertsel;
+			}
+			
+			bone_name = BIF_nameBoneTemplate();
+			
+			BLI_snprintf(joint_label, 32, "%i joints: %s", nb_joints, bone_name);
+			
+			uiDefBut(block, LABEL, 1, joint_label,					10, yco, 200, 20, NULL, 0.0, 0.0, 0, 0, "");
+			yco -= 20;
+			break;
+		}
 
-		yco -= 10;
-		uiBlockBeginAlign(block);
-		
-		/* button here to select what to do (copy or not), template, ...*/
-
-		BIF_makeListTemplates();
-		template_index = BIF_currentTemplate();
-		
-		but = uiDefButI(block, MENU, B_REDR, BIF_listTemplates(), 10,yco,200,19, &template_index, 0, 0, 0, 0, "Template");
-		uiButSetFunc(but, assign_template_sketch_armature, &template_index, NULL);
-		
-		yco -= 20;
-		
-		uiDefButF(block, NUM, B_DIFF, 							"A:",			10, yco, 66,19, &G.scene->toolsettings->skgen_retarget_angle_weight, 0, 10, 1, 0,		"Angle Weight");
-		uiDefButF(block, NUM, B_DIFF, 							"L:",			76, yco, 67,19, &G.scene->toolsettings->skgen_retarget_length_weight, 0, 10, 1, 0,		"Length Weight");
-		uiDefButF(block, NUM, B_DIFF, 							"D:",		143,yco, 67,19, &G.scene->toolsettings->skgen_retarget_distance_weight, 0, 10, 1, 0,		"Distance Weight");
-		yco -= 20;
-		
-		uiDefBut(block, TEX,B_DIFF,"S:",							10,  yco, 90, 20, G.scene->toolsettings->skgen_side_string, 0.0, 8.0, 0, 0, "Text to replace &S with");
-		uiDefBut(block, TEX,B_DIFF,"N:",							100, yco, 90, 20, G.scene->toolsettings->skgen_num_string, 0.0, 8.0, 0, 0, "Text to replace &N with");
-		uiDefIconButBitC(block, TOG, SK_RETARGET_AUTONAME, B_DIFF, ICON_AUTO,190,yco,20,20, &G.scene->toolsettings->skgen_retarget_options, 0, 0, 0, 0, "Use Auto Naming");	
-		yco -= 20;
-
-		/* auto renaming magic */
 		uiBlockEndAlign(block);
 		
-		nb_joints = BIF_nbJointsTemplate();
-
-		if (nb_joints == -1)
-		{
-			nb_joints = G.totvertsel;
-		}
-		
-		bone_name = BIF_nameBoneTemplate();
-		
-		BLI_snprintf(joint_label, 32, "%i joints: %s", nb_joints, bone_name);
-		
-		uiDefBut(block, LABEL, 1, joint_label,					10, yco, 200, 20, NULL, 0.0, 0.0, 0, 0, "");
-		yco -= 20;
-		
 		uiDefButBitS(block, TOG, SCE_SNAP_PEEL_OBJECT, B_DIFF, "Peel Objects", 10, yco, 200, 20, &G.scene->snap_flag, 0, 0, 0, 0, "Peel whole objects as one");
 
 		if(yco < 0) uiNewPanelHeight(block, height-yco);





More information about the Bf-blender-cvs mailing list