[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34856] trunk/blender/source/blender/ editors/interface: Ctrl-0 can now be used to just reset a single component of an array to

Joshua Leung aligorith at gmail.com
Tue Feb 15 01:53:20 CET 2011


Revision: 34856
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=34856
Author:   aligorith
Date:     2011-02-15 00:53:20 +0000 (Tue, 15 Feb 2011)
Log Message:
-----------
Ctrl-0 can now be used to just reset a single component of an array to
its default value instead of resetting the entire array

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface.c
    trunk/blender/source/blender/editors/interface/interface_handlers.c
    trunk/blender/source/blender/editors/interface/interface_intern.h

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c	2011-02-14 21:20:05 UTC (rev 34855)
+++ trunk/blender/source/blender/editors/interface/interface.c	2011-02-15 00:53:20 UTC (rev 34856)
@@ -1773,11 +1773,13 @@
 	return 0;
 }
 
-void ui_set_but_default(bContext *C, uiBut *but)
+void ui_set_but_default(bContext *C, uiBut *but, short all)
 {
 	/* if there is a valid property that is editable... */
 	if (but->rnapoin.data && but->rnaprop && RNA_property_editable(&but->rnapoin, but->rnaprop)) {
-		if(RNA_property_reset(&but->rnapoin, but->rnaprop, -1)) {
+		int index = (all)? -1 : but->rnaindex;
+		
+		if(RNA_property_reset(&but->rnapoin, but->rnaprop, index)) {
 			/* perform updates required for this property */
 			RNA_property_update(C, &but->rnapoin, but->rnaprop);
 		}

Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-02-14 21:20:05 UTC (rev 34855)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c	2011-02-15 00:53:20 UTC (rev 34856)
@@ -4357,8 +4357,9 @@
 		/* reset to default */
 		/* XXX hardcoded keymap check.... */
 		else if(ELEM(event->type, ZEROKEY, PAD0) && event->val == KM_PRESS) {
+			/* ctrl-0 = for arrays, only the active one gets done (vs whole array for just 0) */
 			if (!(ELEM3(but->type, HSVCIRCLE, HSVCUBE, HISTOGRAM)))
-				ui_set_but_default(C, but);
+				ui_set_but_default(C, but, !event->ctrl);
 		}
 		/* handle menu */
 		else if(event->type == RIGHTMOUSE && event->val == KM_PRESS) {

Modified: trunk/blender/source/blender/editors/interface/interface_intern.h
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_intern.h	2011-02-14 21:20:05 UTC (rev 34855)
+++ trunk/blender/source/blender/editors/interface/interface_intern.h	2011-02-15 00:53:20 UTC (rev 34856)
@@ -364,7 +364,7 @@
 extern int ui_set_but_string(struct bContext *C, uiBut *but, const char *str);
 extern int ui_get_but_string_max_length(uiBut *but);
 
-extern void ui_set_but_default(struct bContext *C, uiBut *but);
+extern void ui_set_but_default(struct bContext *C, uiBut *but, short all);
 
 extern void ui_set_but_soft_range(uiBut *but, double value);
 




More information about the Bf-blender-cvs mailing list