[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18411] branches/blender2.5/blender/source /blender: RNA

Brecht Van Lommel brecht at blender.org
Wed Jan 7 22:05:53 CET 2009


Revision: 18411
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18411
Author:   blendix
Date:     2009-01-07 22:05:51 +0100 (Wed, 07 Jan 2009)

Log Message:
-----------
RNA
* DNA_userdef_types.h, done. Patch by Nathaniel Garbutt, thanks!

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h
    branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
    branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_constraint.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_text.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c

Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h	2009-01-07 20:40:27 UTC (rev 18410)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h	2009-01-07 21:05:51 UTC (rev 18411)
@@ -331,5 +331,11 @@
 #define GP_PAINT_DOSMOOTH		(1<<0)
 #define GP_PAINT_DOSIMPLIFY		(1<<1)
 
+/* theme drawtypes */
+#define TH_MINIMAL  	0
+#define TH_ROUNDSHADED	1
+#define TH_ROUNDED  	2
+#define TH_OLDSKOOL 	3
+#define TH_SHADED   	4
 
 #endif

Modified: branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-01-07 20:40:27 UTC (rev 18410)
+++ branches/blender2.5/blender/source/blender/makesrna/RNA_access.h	2009-01-07 21:05:51 UTC (rev 18411)
@@ -36,6 +36,8 @@
 extern BlenderRNA BLENDER_RNA;
 
 extern StructRNA RNA_Action;
+extern StructRNA RNA_ActionChannel;
+extern StructRNA RNA_ActionGroup;
 extern StructRNA RNA_Actuator;
 extern StructRNA RNA_ActuatorSensor;
 extern StructRNA RNA_AlwaysSensor;
@@ -55,8 +57,8 @@
 extern StructRNA RNA_Camera;
 extern StructRNA RNA_CastModifier;
 extern StructRNA RNA_CharInfo;
+extern StructRNA RNA_ClothCollisionSettings;
 extern StructRNA RNA_ClothModifier;
-extern StructRNA RNA_ClothCollisionSettings;
 extern StructRNA RNA_ClothSettings;
 extern StructRNA RNA_CollectionProperty;
 extern StructRNA RNA_CollisionModifier;
@@ -118,7 +120,6 @@
 extern StructRNA RNA_LatticeModifier;
 extern StructRNA RNA_LatticePoint;
 extern StructRNA RNA_Library;
-extern StructRNA RNA_MappingTexture;
 extern StructRNA RNA_MCol;
 extern StructRNA RNA_MColLayer;
 extern StructRNA RNA_MFloatProperty;
@@ -223,11 +224,30 @@
 extern StructRNA RNA_TextLine;
 extern StructRNA RNA_TextMarker;
 extern StructRNA RNA_Texture;
+extern StructRNA RNA_TextureSlot;
+extern StructRNA RNA_Theme;
+extern StructRNA RNA_ThemeActionEditor;
+extern StructRNA RNA_ThemeAudioWindow;
+extern StructRNA RNA_ThemeBoneColorSet;
+extern StructRNA RNA_ThemeButtonsWindow;
+extern StructRNA RNA_ThemeFileBrowser;
+extern StructRNA RNA_ThemeImageEditor;
+extern StructRNA RNA_ThemeIpoEditor;
+extern StructRNA RNA_ThemeNLAEditor;
+extern StructRNA RNA_ThemeNodeEditor;
+extern StructRNA RNA_ThemeOutliner;
+extern StructRNA RNA_ThemeSequenceEditor;
+extern StructRNA RNA_ThemeTextEditor;
+extern StructRNA RNA_ThemeTimeline;
+extern StructRNA RNA_ThemeUserInterface;
+extern StructRNA RNA_ThemeUserPreferences;
+extern StructRNA RNA_ThemeView3D;
 extern StructRNA RNA_TouchSensor;
 extern StructRNA RNA_TransformSequence;
 extern StructRNA RNA_UVProjectModifier;
 extern StructRNA RNA_UnknownType;
 extern StructRNA RNA_UserPreferences;
+extern StructRNA RNA_UserSolidLight;
 extern StructRNA RNA_VectorFont;
 extern StructRNA RNA_VertexGroup;
 extern StructRNA RNA_WaveModifier;

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c	2009-01-07 20:40:27 UTC (rev 18410)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c	2009-01-07 21:05:51 UTC (rev 18411)
@@ -167,6 +167,15 @@
 	return mask;
 }
 
+static int rna_color_quantize(PropertyRNA *prop, PropertyDefRNA *dp)
+{
+	if(prop->type == PROP_FLOAT && prop->subtype == PROP_COLOR)
+		if(strcmp(dp->dnatype, "float") != 0 && strcmp(dp->dnatype, "double") != 0)
+			return 1;
+	
+	return 0;
+}
+
 static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *prop, PropertyDefRNA *dp)
 {
 	char *func;
@@ -212,6 +221,8 @@
 				else {
 					if(prop->type == PROP_BOOLEAN && dp->booleanbit)
 						fprintf(f, "	return (%s(data->%s[index] & %d) != 0);\n", (dp->booleannegative)? "!": "", dp->dnaname, dp->booleanbit);
+					else if(rna_color_quantize(prop, dp))
+						fprintf(f, "	return (%s)(data->%s[index]/255.0f);\n", rna_type_type(prop), dp->dnaname);
 					else
 						fprintf(f, "	return (%s)%s(data->%s[index]);\n", rna_type_type(prop), (dp->booleannegative)? "!": "", dp->dnaname);
 				}
@@ -326,6 +337,9 @@
 						fprintf(f, "	if(%svalue) data->%s[index] |= %d;\n", (dp->booleannegative)? "!": "", dp->dnaname, dp->booleanbit);
 						fprintf(f, "	else data->%s[index] &= ~%d;\n", dp->dnaname, dp->booleanbit);
 					}
+					else if(rna_color_quantize(prop, dp)) {
+						fprintf(f, "	data->%s[index]= FTOCHAR(value);\n", dp->dnaname);
+					}
 					else {
 						rna_clamp_value(f, prop);
 						fprintf(f, "	data->%s[index]= %svalue;\n", dp->dnaname, (dp->booleannegative)? "!": "");

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_constraint.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_constraint.c	2009-01-07 20:40:27 UTC (rev 18410)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_constraint.c	2009-01-07 21:05:51 UTC (rev 18411)
@@ -84,7 +84,7 @@
 	/* data */
 	srna= RNA_def_struct(brna, "Constraint", NULL );
 	RNA_def_struct_ui_text(srna, "Constraint", "alter the transformation of 'Objects' or 'Bones' from a number of predefined constraints");
-	//RNA_def_struct_refine_func(srna, "rna_Constraint_refine");  // XXX or should this go down below with the data?
+	RNA_def_struct_refine_func(srna, "rna_Constraint_refine");
 	RNA_def_struct_sdna(srna, "bConstraint");
 	
 	/* strings */

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_text.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_text.c	2009-01-07 20:40:27 UTC (rev 18410)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_text.c	2009-01-07 21:05:51 UTC (rev 18411)
@@ -36,18 +36,6 @@
 
 #ifdef RNA_RUNTIME
 
-static float rna_TextMarker_color_get(PointerRNA *ptr, int index)
-{
-	TextMarker *marker= (TextMarker*)ptr->data;
-	return marker->color[index]/255.0f;
-}
-
-static void rna_TextMarker_color_set(PointerRNA *ptr, int index, float value)
-{
-	TextMarker *marker= (TextMarker*)ptr->data;
-	marker->color[index] = (char)(CLAMPIS(value*255.0f, 0, 255));
-}
-
 static void rna_Text_filename_get(PointerRNA *ptr, char *value)
 {
 	Text *text= (Text*)ptr->data;
@@ -163,7 +151,6 @@
 	RNA_def_property_ui_text(prop, "Edit All", "Edit all markers of the same group as one.");
 	
 	prop= RNA_def_property(srna, "color", PROP_FLOAT, PROP_COLOR);
-	RNA_def_property_float_funcs(prop, "rna_TextMarker_color_get", "rna_TextMarker_color_set", NULL);
 	RNA_def_property_ui_text(prop, "Color", "Color to display the marker with.");
 }
 

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c	2009-01-07 20:40:27 UTC (rev 18410)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c	2009-01-07 21:05:51 UTC (rev 18411)
@@ -30,28 +30,1671 @@
 #include "rna_internal.h"
 
 #include "DNA_userdef_types.h"
+#include "DNA_ipo_types.h"
 
 #ifdef RNA_RUNTIME
 
+static void rna_userdef_lmb_select_set(struct PointerRNA *ptr,int value)
+{
+	UserDef *userdef = (UserDef*)ptr->data;
+
+	if(value) {
+		userdef->flag |= USER_LMOUSESELECT;
+		userdef->flag &= ~USER_TWOBUTTONMOUSE;
+	}
+	else
+		userdef->flag &= ~USER_LMOUSESELECT;
+}
+
+static void rna_userdef_rmb_select_set(struct PointerRNA *ptr,int value)
+{
+	rna_userdef_lmb_select_set(ptr, !value);
+}
+
+static void rna_userdef_emulate_set(struct PointerRNA *ptr,int value)
+{
+	UserDef *userdef = (UserDef*)ptr->data;
+
+	if(userdef->flag & USER_LMOUSESELECT) 
+		userdef->flag &= ~USER_TWOBUTTONMOUSE;
+	else
+		userdef->flag ^= USER_TWOBUTTONMOUSE;
+}
+
+static int rna_userdef_autokeymode_get(struct PointerRNA *ptr)
+{
+	UserDef *userdef = (UserDef*)ptr->data;
+	short retval = userdef->autokey_mode;
+	
+	if(!(userdef->autokey_mode & AUTOKEY_ON))
+		retval |= AUTOKEY_ON;
+
+	return retval;
+}
+
+static void rna_userdef_autokeymode_set(struct PointerRNA *ptr,int value)
+{
+	UserDef *userdef = (UserDef*)ptr->data;
+
+	if(value == AUTOKEY_MODE_NORMAL) {
+		userdef->autokey_mode |= (AUTOKEY_MODE_NORMAL - AUTOKEY_ON);
+		userdef->autokey_mode &= ~(AUTOKEY_MODE_EDITKEYS - AUTOKEY_ON);
+	}
+	else if(value == AUTOKEY_MODE_EDITKEYS) {
+		userdef->autokey_mode |= (AUTOKEY_MODE_EDITKEYS - AUTOKEY_ON);
+		userdef->autokey_mode &= ~(AUTOKEY_MODE_NORMAL - AUTOKEY_ON);
+	}
+}
+
 #else
 
-static void rna_def_userdef(BlenderRNA *brna)
+static void rna_def_userdef_theme_ui(BlenderRNA *brna)
 {
 	StructRNA *srna;
 	PropertyRNA *prop;
 
-	srna= RNA_def_struct(brna, "UserPreferences", NULL);
-	RNA_def_struct_sdna(srna, "UserDef");
-	RNA_def_struct_ui_text(srna, "User Preferences", "");
+	static EnumPropertyItem button_theme_styles[] = {
+		{TH_MINIMAL, "MINIMAL", "Minimal", ""},
+		{TH_SHADED, "SHADED", "Shaded", ""},
+		{TH_ROUNDED, "ROUNDED", "Rounded", ""},
+		{TH_ROUNDSHADED, "ROUNDSHADED", "Round Shaded", ""},
+		{TH_OLDSKOOL, "OLDSKOOL", "Old Skool", ""},
+		{0, NULL, NULL, NULL}};
 
+	srna= RNA_def_struct(brna, "ThemeUserInterface", NULL);
+	RNA_def_struct_sdna(srna, "ThemeUI");
+	RNA_def_struct_ui_text(srna, "Theme User Interface", "Theme settings for user interface elements.");
+
+	prop= RNA_def_property(srna, "outline", PROP_FLOAT, PROP_COLOR);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Outline", "");
+
+	prop= RNA_def_property(srna, "neutral", PROP_FLOAT, PROP_COLOR);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Neutral", "");
+
+	prop= RNA_def_property(srna, "action", PROP_FLOAT, PROP_COLOR);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Action", "");
+
+	prop= RNA_def_property(srna, "setting", PROP_FLOAT, PROP_COLOR);
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Setting", "");
+
+	prop= RNA_def_property(srna, "special_setting_1", PROP_FLOAT, PROP_COLOR);
+	RNA_def_property_float_sdna(prop, NULL, "setting1");
+	RNA_def_property_array(prop, 3);
+	RNA_def_property_ui_text(prop, "Special Setting 1", "");
+
+	prop= RNA_def_property(srna, "special_setting_2", PROP_FLOAT, PROP_COLOR);

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list