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. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to