[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22352] branches/blender2.5/blender/source /blender: 2.5: UI, tweaks to curve mapping template to fit better

Brecht Van Lommel brecht at blender.org
Mon Aug 10 22:48:38 CEST 2009


Revision: 22352
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22352
Author:   blendix
Date:     2009-08-10 22:48:38 +0200 (Mon, 10 Aug 2009)

Log Message:
-----------
2.5: UI, tweaks to curve mapping template to fit better
in 3d view panel, and resize properly.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
    branches/blender2.5/blender/source/blender/editors/interface/interface_templates.c
    branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui_api.c

Modified: branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/UI_interface.h	2009-08-10 20:17:11 UTC (rev 22351)
+++ branches/blender2.5/blender/source/blender/editors/include/UI_interface.h	2009-08-10 20:48:38 UTC (rev 22352)
@@ -545,6 +545,7 @@
 
 struct rctf;
 void curvemap_buttons(uiBlock *block, struct CurveMapping *cumap, char labeltype, short event, short redraw, struct rctf *rect);
+void curvemap_layout(uiLayout *layout, struct CurveMapping *cumap, char labeltype, short event, short redraw, struct rctf *rect);
 void colorband_buttons(uiBlock *block, struct ColorBand *coba, struct rctf *rect, int small);
 
 
@@ -630,7 +631,7 @@
 uiLayout *uiTemplateConstraint(uiLayout *layout, struct PointerRNA *ptr);
 void uiTemplatePreview(uiLayout *layout, struct ID *id, struct ID *parent);
 void uiTemplateColorRamp(uiLayout *layout, struct ColorBand *coba, int expand);
-void uiTemplateCurveMapping(uiLayout *layout, struct CurveMapping *cumap, int type);
+void uiTemplateCurveMapping(uiLayout *layout, struct CurveMapping *cumap, int type, int compact);
 void uiTemplateTriColorSet(uiLayout *layout, struct PointerRNA *ptr, char *propname);
 void uiTemplateLayers(uiLayout *layout, struct PointerRNA *ptr, char *propname);
 void uiTemplateImageLayers(uiLayout *layout, struct bContext *C, struct Image *ima, struct ImageUser *iuser);

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_templates.c	2009-08-10 20:17:11 UTC (rev 22351)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_templates.c	2009-08-10 20:48:38 UTC (rev 22352)
@@ -1182,17 +1182,21 @@
 
 #include "DNA_color_types.h"
 
-void uiTemplateCurveMapping(uiLayout *layout, CurveMapping *cumap, int type)
+void uiTemplateCurveMapping(uiLayout *layout, CurveMapping *cumap, int type, int compact)
 {
-	uiBlock *block;
 	rctf rect;
 
 	if(cumap) {
-		rect.xmin= 0; rect.xmax= 200;
-		rect.ymin= 0; rect.ymax= 190;
+		if(compact) {
+			rect.xmin= 0; rect.xmax= 150;
+			rect.ymin= 0; rect.ymax= 140;
+		}
+		else {
+			rect.xmin= 0; rect.xmax= 200;
+			rect.ymin= 0; rect.ymax= 190;
+		}
 		
-		block= uiLayoutFreeBlock(layout);
-		curvemap_buttons(block, cumap, type, 0, 0, &rect);
+		curvemap_layout(layout, cumap, type, 0, 0, &rect);
 	}
 }
 

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c	2009-08-10 20:17:11 UTC (rev 22351)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c	2009-08-10 20:48:38 UTC (rev 22352)
@@ -945,6 +945,72 @@
 			  cumap, 0.0f, 1.0f, 0, 0, "");
 }
 
+/* still unsure how this call evolves... we use labeltype for defining what curve-channels to show */
+void curvemap_layout(uiLayout *layout, CurveMapping *cumap, char labeltype, short event, short redraw, rctf *rect)
+{
+	uiLayout *row;
+	uiBlock *block;
+	uiBut *bt;
+	float dx, fy= rect->ymax-18.0f;
+	int icon;
+	
+	block= uiLayoutGetBlock(layout);
+	
+	/* curve choice options + tools/settings, 8 icons + spacer */
+	dx= UI_UNIT_X;
+	
+	row= uiLayoutRow(layout, 0);
+	uiLayoutSetAlignment(row, UI_LAYOUT_ALIGN_RIGHT);
+
+	if(labeltype=='v') {	/* vector */
+		row= uiLayoutRow(layout, 1);
+
+		if(cumap->cm[0].curve)
+			uiDefButI(block, ROW, redraw, "X", 0, 0, dx, 16, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
+		if(cumap->cm[1].curve)
+			uiDefButI(block, ROW, redraw, "Y", 0, 0, dx, 16, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
+		if(cumap->cm[2].curve)
+			uiDefButI(block, ROW, redraw, "Z", 0, 0, dx, 16, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
+	}
+	else if(labeltype=='c') { /* color */
+		row= uiLayoutRow(layout, 1);
+
+		if(cumap->cm[3].curve)
+			uiDefButI(block, ROW, redraw, "C", 0, 0, dx, 16, &cumap->cur, 0.0, 3.0, 0.0, 0.0, "");
+		if(cumap->cm[0].curve)
+			uiDefButI(block, ROW, redraw, "R", 0, 0, dx, 16, &cumap->cur, 0.0, 0.0, 0.0, 0.0, "");
+		if(cumap->cm[1].curve)
+			uiDefButI(block, ROW, redraw, "G", 0, 0, dx, 16, &cumap->cur, 0.0, 1.0, 0.0, 0.0, "");
+		if(cumap->cm[2].curve)
+			uiDefButI(block, ROW, redraw, "B", 0, 0, dx, 16, &cumap->cur, 0.0, 2.0, 0.0, 0.0, "");
+	}
+
+	row= uiLayoutRow(row, 1);
+
+	uiBlockSetEmboss(block, UI_EMBOSSN);
+	bt= uiDefIconBut(block, BUT, redraw, ICON_ZOOMIN, 0, 0, dx, 14, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom in");
+	uiButSetFunc(bt, curvemap_buttons_zoom_in, cumap, NULL);
+	
+	bt= uiDefIconBut(block, BUT, redraw, ICON_ZOOMOUT, 0, 0, dx, 14, NULL, 0.0, 0.0, 0.0, 0.0, "Zoom out");
+	uiButSetFunc(bt, curvemap_buttons_zoom_out, cumap, NULL);
+	
+	bt= uiDefIconBlockBut(block, curvemap_tools_func, cumap, event, ICON_MODIFIER, 0, 0, dx, 18, "Tools");
+	
+	if(cumap->flag & CUMA_DO_CLIP) icon= ICON_CLIPUV_HLT; else icon= ICON_CLIPUV_DEHLT;
+	bt= uiDefIconBlockBut(block, curvemap_clipping_func, cumap, event, icon, 0, 0, dx, 18, "Clipping Options");
+	
+	bt= uiDefIconBut(block, BUT, event, ICON_X, 0, 0, dx, 18, NULL, 0.0, 0.0, 0.0, 0.0, "Delete points");
+	uiButSetFunc(bt, curvemap_buttons_delete, cumap, NULL);
+	
+	uiBlockSetEmboss(block, UI_EMBOSS);
+	
+	row= uiLayoutRow(layout, 0);
+	uiDefBut(block, BUT_CURVE, event, "", 
+			  rect->xmin, rect->ymin, rect->xmax-rect->xmin, fy-rect->ymin, 
+			  cumap, 0.0f, 1.0f, 0, 0, "");
+}
+
+
 #define B_BANDCOL 1
 
 static int vergcband(const void *a1, const void *a2)

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui_api.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui_api.c	2009-08-10 20:17:11 UTC (rev 22351)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui_api.c	2009-08-10 20:48:38 UTC (rev 22352)
@@ -248,6 +248,7 @@
 	parm= RNA_def_pointer(func, "curvemap", "CurveMapping", "", "Curve mapping pointer.");
 	RNA_def_property_flag(parm, PROP_REQUIRED);
 	RNA_def_enum(func, "type", curve_type_items, 0, "Type", "Type of curves to display.");
+	RNA_def_boolean(func, "compact", 0, "", "Use more compact curve mapping.");
 
 	func= RNA_def_function(srna, "template_color_ramp", "uiTemplateColorRamp");
 	parm= RNA_def_pointer(func, "ramp", "ColorRamp", "", "Color ramp pointer.");





More information about the Bf-blender-cvs mailing list