merged from trunk 20741:20848
[blender.git] / source / blender / makesrna / intern / rna_controller.c
index 3b52069f5567df8d6fd3ed99ab428e9c73077ad6..df603e7920f07270227ea773f94c833760b767f9 100644 (file)
@@ -24,7 +24,6 @@
 
 #include <stdlib.h>
 
-#include "RNA_access.h"
 #include "RNA_define.h"
 #include "RNA_types.h"
 
@@ -67,20 +66,21 @@ void RNA_def_controller(BlenderRNA *brna)
        StructRNA *srna;
        PropertyRNA *prop;
        static EnumPropertyItem controller_type_items[] ={
-               {CONT_LOGIC_AND, "LOGICAND", "Logic And", ""},
-               {CONT_LOGIC_OR, "LOGICOR", "Logic Or", ""},
-               {CONT_LOGIC_NAND, "LOGICNAND", "Logic Nand", ""},
-               {CONT_LOGIC_NOR, "LOGICNOR", "Logic Nor", ""},
-               {CONT_LOGIC_XOR, "LOGICXOR", "Logic Xor", ""},
-               {CONT_LOGIC_XNOR, "LOGICXNOR", "Logic Xnor", ""},
+               {CONT_LOGIC_AND, "LOGIC_AND", "Logic And", ""},
+               {CONT_LOGIC_OR, "LOGIC_OR", "Logic Or", ""},
+               {CONT_LOGIC_NAND, "LOGIC_NAND", "Logic Nand", ""},
+               {CONT_LOGIC_NOR, "LOGIC_NOR", "Logic Nor", ""},
+               {CONT_LOGIC_XOR, "LOGIC_XOR", "Logic Xor", ""},
+               {CONT_LOGIC_XNOR, "LOGIC_XNOR", "Logic Xnor", ""},
                {CONT_EXPRESSION, "EXPRESSION", "Expression", ""},
                {CONT_PYTHON, "PYTHON", "Python Script", ""},
                {0, NULL, NULL, NULL}};
 
        /* Controller */
-       srna= RNA_def_struct(brna, "Controller", NULL , "Controller");
+       srna= RNA_def_struct(brna, "Controller", NULL);
        RNA_def_struct_sdna(srna, "bController");
-       RNA_def_struct_funcs(srna, NULL, "rna_Controller_refine");
+       RNA_def_struct_refine_func(srna, "rna_Controller_refine");
+       RNA_def_struct_ui_text(srna, "Controller", "Game engine logic brick to process events, connecting sensors to actuators.");
 
        prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
        RNA_def_property_ui_text(prop, "Name", "");
@@ -88,13 +88,14 @@ void RNA_def_controller(BlenderRNA *brna)
 
        /* type is not editable, would need to do proper data free/alloc */
        prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
-       RNA_def_property_flag(prop, PROP_NOT_EDITABLE);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_enum_items(prop, controller_type_items);
        RNA_def_property_ui_text(prop, "Type", "");
 
        /* Expression Controller */
-       srna= RNA_def_struct(brna, "ExpressionController", "Controller", "Expression Controller");
+       srna= RNA_def_struct(brna, "ExpressionController", "Controller");
        RNA_def_struct_sdna_from(srna, "bExpressionCont", "data");
+       RNA_def_struct_ui_text(srna, "Expression Controller", "Controller passing on events based on the evaluation of an expression.");
 
        prop= RNA_def_property(srna, "expression", PROP_STRING, PROP_NONE);
        RNA_def_property_string_sdna(prop, NULL, "str");
@@ -102,20 +103,33 @@ void RNA_def_controller(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Expression", "");
 
        /* Python Controller */
-       srna= RNA_def_struct(brna, "PythonController", "Controller" , "Python Controller");
+       srna= RNA_def_struct(brna, "PythonController", "Controller" );
        RNA_def_struct_sdna_from(srna, "bPythonCont", "data");
+       RNA_def_struct_ui_text(srna, "Python Controller", "Controller executing a python script.");
 
        prop= RNA_def_property(srna, "text", PROP_POINTER, PROP_NONE);
        RNA_def_property_struct_type(prop, "ID");
-       RNA_def_property_ui_text(prop, "Python Text", "");
+       RNA_def_property_flag(prop, PROP_EDITABLE);
+       RNA_def_property_ui_text(prop, "Text", "Text datablock with the python script.");
 
        /* Other Controllers */
-       RNA_def_struct(brna, "AndController", "Controller", "And Controller");
-       RNA_def_struct(brna, "OrController", "Controller", "Or Controller");
-       RNA_def_struct(brna, "NorController", "Controller", "Nor Controller");
-       RNA_def_struct(brna, "NandController", "Controller", "Nand Controller");
-       RNA_def_struct(brna, "XorController", "Controller", "Xor Controller");
-       RNA_def_struct(brna, "XnorController", "Controller", "Xnor Controller");
+       srna= RNA_def_struct(brna, "AndController", "Controller");
+       RNA_def_struct_ui_text(srna, "And Controller", "Controller passing on events based on a logical AND operation.");
+       
+       srna= RNA_def_struct(brna, "OrController", "Controller");
+       RNA_def_struct_ui_text(srna, "Or Controller", "Controller passing on events based on a logical OR operation.");
+       
+       srna= RNA_def_struct(brna, "NorController", "Controller");
+       RNA_def_struct_ui_text(srna, "Nor Controller", "Controller passing on events based on a logical NOR operation.");
+       
+       srna= RNA_def_struct(brna, "NandController", "Controller");
+       RNA_def_struct_ui_text(srna, "Nand Controller", "Controller passing on events based on a logical NAND operation.");
+       
+       srna= RNA_def_struct(brna, "XorController", "Controller");
+       RNA_def_struct_ui_text(srna, "Xor Controller", "Controller passing on events based on a logical XOR operation.");
+       
+       srna= RNA_def_struct(brna, "XnorController", "Controller");
+       RNA_def_struct_ui_text(srna, "Xnor Controller", "Controller passing on events based on a logical XNOR operation.");
 }
 
 #endif