[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17558] branches/blender2.5/blender/source /blender:
Brecht Van Lommel
brecht at blender.org
Mon Nov 24 16:51:57 CET 2008
Revision: 17558
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17558
Author: blendix
Date: 2008-11-24 16:51:55 +0100 (Mon, 24 Nov 2008)
Log Message:
-----------
RNA
* Disable editable pointers for now, difficult to support well.
* Swap parameters in RNA_access.h functions to make it more
consistent.
* Rename rna members for operators to wmOperatorType.srna, and
wmOperator.ptr, to make the distincton a bit clearer.
?\226?\128?\162 Removed the RNA_int_default and similar functions, they're too
confusing. RNA_property_is_set can still be used to achieve
the same goal.
* Add functions to create RNA pointers.
Some example code for RNA data access and operator properties:
http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNAExampleCode
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/interface/interface.c
branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
branches/blender2.5/blender/source/blender/editors/space_outliner/space_outliner.c
branches/blender2.5/blender/source/blender/editors/space_time/time_ops.c
branches/blender2.5/blender/source/blender/makesdna/DNA_windowmanager_types.h
branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
branches/blender2.5/blender/source/blender/makesrna/RNA_types.h
branches/blender2.5/blender/source/blender/makesrna/intern/SConscript
branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_define.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_dependency.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal.h
branches/blender2.5/blender/source/blender/makesrna/intern/rna_wm.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
Modified: branches/blender2.5/blender/source/blender/editors/interface/interface.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface.c 2008-11-24 14:18:01 UTC (rev 17557)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface.c 2008-11-24 15:51:55 UTC (rev 17558)
@@ -1058,7 +1058,7 @@
if(but->pointype==FLO && but->poin)
return 1;
- if(but->rnaprop && RNA_property_type(but->rnaprop, &but->rnapoin) == PROP_FLOAT)
+ if(but->rnaprop && RNA_property_type(&but->rnapoin, but->rnaprop) == PROP_FLOAT)
return 1;
return 0;
@@ -1075,27 +1075,27 @@
if(but->rnaprop) {
prop= but->rnaprop;
- switch(RNA_property_type(prop, &but->rnapoin)) {
+ switch(RNA_property_type(&but->rnapoin, prop)) {
case PROP_BOOLEAN:
- if(RNA_property_array_length(prop, &but->rnapoin))
- value= RNA_property_boolean_get_array(prop, &but->rnapoin, but->rnaindex);
+ if(RNA_property_array_length(&but->rnapoin, prop))
+ value= RNA_property_boolean_get_array(&but->rnapoin, prop, but->rnaindex);
else
- value= RNA_property_boolean_get(prop, &but->rnapoin);
+ value= RNA_property_boolean_get(&but->rnapoin, prop);
break;
case PROP_INT:
- if(RNA_property_array_length(prop, &but->rnapoin))
- value= RNA_property_int_get_array(prop, &but->rnapoin, but->rnaindex);
+ if(RNA_property_array_length(&but->rnapoin, prop))
+ value= RNA_property_int_get_array(&but->rnapoin, prop, but->rnaindex);
else
- value= RNA_property_int_get(prop, &but->rnapoin);
+ value= RNA_property_int_get(&but->rnapoin, prop);
break;
case PROP_FLOAT:
- if(RNA_property_array_length(prop, &but->rnapoin))
- value= RNA_property_float_get_array(prop, &but->rnapoin, but->rnaindex);
+ if(RNA_property_array_length(&but->rnapoin, prop))
+ value= RNA_property_float_get_array(&but->rnapoin, prop, but->rnaindex);
else
- value= RNA_property_float_get(prop, &but->rnapoin);
+ value= RNA_property_float_get(&but->rnapoin, prop);
break;
case PROP_ENUM:
- value= RNA_property_enum_get(prop, &but->rnapoin);
+ value= RNA_property_enum_get(&but->rnapoin, prop);
break;
default:
value= 0.0;
@@ -1138,28 +1138,28 @@
if(but->rnaprop) {
prop= but->rnaprop;
- if(RNA_property_editable(prop, &but->rnapoin)) {
- switch(RNA_property_type(prop, &but->rnapoin)) {
+ if(RNA_property_editable(&but->rnapoin, prop)) {
+ switch(RNA_property_type(&but->rnapoin, prop)) {
case PROP_BOOLEAN:
- if(RNA_property_array_length(prop, &but->rnapoin))
- RNA_property_boolean_set_array(prop, &but->rnapoin, but->rnaindex, value);
+ if(RNA_property_array_length(&but->rnapoin, prop))
+ RNA_property_boolean_set_array(&but->rnapoin, prop, but->rnaindex, value);
else
- RNA_property_boolean_set(prop, &but->rnapoin, value);
+ RNA_property_boolean_set(&but->rnapoin, prop, value);
break;
case PROP_INT:
- if(RNA_property_array_length(prop, &but->rnapoin))
- RNA_property_int_set_array(prop, &but->rnapoin, but->rnaindex, value);
+ if(RNA_property_array_length(&but->rnapoin, prop))
+ RNA_property_int_set_array(&but->rnapoin, prop, but->rnaindex, value);
else
- RNA_property_int_set(prop, &but->rnapoin, value);
+ RNA_property_int_set(&but->rnapoin, prop, value);
break;
case PROP_FLOAT:
- if(RNA_property_array_length(prop, &but->rnapoin))
- RNA_property_float_set_array(prop, &but->rnapoin, but->rnaindex, value);
+ if(RNA_property_array_length(&but->rnapoin, prop))
+ RNA_property_float_set_array(&but->rnapoin, prop, but->rnaindex, value);
else
- RNA_property_float_set(prop, &but->rnapoin, value);
+ RNA_property_float_set(&but->rnapoin, prop, value);
break;
case PROP_ENUM:
- RNA_property_enum_set(prop, &but->rnapoin, value);
+ RNA_property_enum_set(&but->rnapoin, prop, value);
break;
default:
break;
@@ -1225,7 +1225,7 @@
if(but->rnaprop) {
char *buf;
- buf= RNA_property_string_get_alloc(but->rnaprop, &but->rnapoin, str, maxlen);
+ buf= RNA_property_string_get_alloc(&but->rnapoin, but->rnaprop, str, maxlen);
if(buf != str) {
/* string was too long, we have to truncate */
@@ -1241,7 +1241,7 @@
void ui_set_but_string(uiBut *but, const char *str)
{
if(but->rnaprop)
- RNA_property_string_set(but->rnaprop, &but->rnapoin, str);
+ RNA_property_string_set(&but->rnapoin, but->rnaprop, str);
else
BLI_strncpy(but->poin, str, but->max);
}
@@ -2237,32 +2237,32 @@
{
uiBut *but;
- switch(RNA_property_type(prop, ptr)) {
+ switch(RNA_property_type(ptr, prop)) {
case PROP_BOOLEAN: {
int value, length;
- length= RNA_property_array_length(prop, ptr);
+ length= RNA_property_array_length(ptr, prop);
if(length)
- value= RNA_property_boolean_get_array(prop, ptr, index);
+ value= RNA_property_boolean_get_array(ptr, prop, index);
else
- value= RNA_property_boolean_get(prop, ptr);
+ value= RNA_property_boolean_get(ptr, prop);
- but= ui_def_but(block, TOG, 0, (value)? "True": "False", x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)RNA_property_ui_description(prop, ptr));
+ but= ui_def_but(block, TOG, 0, (value)? "True": "False", x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)RNA_property_ui_description(ptr, prop));
break;
}
case PROP_INT: {
int softmin, softmax, step;
- RNA_property_int_ui_range(prop, ptr, &softmin, &softmax, &step);
- but= ui_def_but(block, NUM, 0, "", x1, y1, x2, y2, NULL, softmin, softmax, step, 0, (char*)RNA_property_ui_description(prop, ptr));
+ RNA_property_int_ui_range(ptr, prop, &softmin, &softmax, &step);
+ but= ui_def_but(block, NUM, 0, "", x1, y1, x2, y2, NULL, softmin, softmax, step, 0, (char*)RNA_property_ui_description(ptr, prop));
break;
}
case PROP_FLOAT: {
float softmin, softmax, step, precision;
- RNA_property_float_ui_range(prop, ptr, &softmin, &softmax, &step, &precision);
- but= ui_def_but(block, NUM, 0, "", x1, y1, x2, y2, NULL, softmin, softmax, step, precision, (char*)RNA_property_ui_description(prop, ptr));
+ RNA_property_float_ui_range(ptr, prop, &softmin, &softmax, &step, &precision);
+ but= ui_def_but(block, NUM, 0, "", x1, y1, x2, y2, NULL, softmin, softmax, step, precision, (char*)RNA_property_ui_description(ptr, prop));
break;
}
case PROP_ENUM: {
@@ -2271,28 +2271,28 @@
char *menu;
int i, totitem;
- RNA_property_enum_items(prop, ptr, &item, &totitem);
+ RNA_property_enum_items(ptr, prop, &item, &totitem);
dynstr= BLI_dynstr_new();
- BLI_dynstr_appendf(dynstr, "%s%%t", RNA_property_ui_name(prop, ptr));
+ BLI_dynstr_appendf(dynstr, "%s%%t", RNA_property_ui_name(ptr, prop));
for(i=0; i<totitem; i++)
BLI_dynstr_appendf(dynstr, "|%s %%x%d", item[i].name, item[i].value);
menu= BLI_dynstr_get_cstring(dynstr);
BLI_dynstr_free(dynstr);
- but= ui_def_but(block, MENU, 0, menu, x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)RNA_property_ui_description(prop, ptr));
+ but= ui_def_but(block, MENU, 0, menu, x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)RNA_property_ui_description(ptr, prop));
MEM_freeN(menu);
break;
}
case PROP_STRING: {
int maxlength;
- maxlength= RNA_property_string_maxlength(prop, ptr);
+ maxlength= RNA_property_string_maxlength(ptr, prop);
if(maxlength == 0)
/* interface code should ideally support unlimited length */
maxlength= UI_MAX_DRAW_STR;
- but= ui_def_but(block, TEX, 0, "", x1, y1, x2, y2, NULL, 0, maxlength, 0, 0, (char*)RNA_property_ui_description(prop, ptr));
+ but= ui_def_but(block, TEX, 0, "", x1, y1, x2, y2, NULL, 0, maxlength, 0, 0, (char*)RNA_property_ui_description(ptr, prop));
break;
}
case PROP_POINTER: {
@@ -2300,17 +2300,17 @@
PropertyRNA *nameprop;
char name[256]= "", *nameptr= name;
- RNA_property_pointer_get(prop, ptr, &pptr);
+ RNA_property_pointer_get(ptr, prop, &pptr);
if(pptr.data) {
nameprop= RNA_struct_name_property(&pptr);
if(pptr.type && nameprop)
- nameptr= RNA_property_string_get_alloc(nameprop, &pptr, name, sizeof(name));
+ nameptr= RNA_property_string_get_alloc(&pptr, nameprop, name, sizeof(name));
else
strcpy(nameptr, "->");
}
- but= ui_def_but(block, BUT, 0, nameptr, x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)RNA_property_ui_description(prop, ptr));
+ but= ui_def_but(block, BUT, 0, nameptr, x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)RNA_property_ui_description(ptr, prop));
but->flag |= UI_TEXT_LEFT;
if(nameptr != name)
Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2008-11-24 14:18:01 UTC (rev 17557)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2008-11-24 15:51:55 UTC (rev 17558)
@@ -466,8 +466,8 @@
int x, y;
/* required properties */
- x= RNA_int_get(op->rna, "x");
- y= RNA_int_get(op->rna, "y");
+ x= RNA_int_get(op->ptr, "x");
+ y= RNA_int_get(op->ptr, "y");
/* setup */
actedge= screen_find_active_scredge(C->screen, x, y);
@@ -523,7 +523,7 @@
sAreaMoveData *md= op->customdata;
int delta;
- delta= RNA_int_get(op->rna, "delta");
+ delta= RNA_int_get(op->ptr, "delta");
area_move_apply_do(C, md->origval, delta, md->dir, md->bigger, md->smaller);
}
@@ -552,8 +552,8 @@
/* interaction callback */
static int area_move_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
- RNA_int_default(op->rna, "x", event->x);
- RNA_int_default(op->rna, "y", event->y);
+ RNA_int_set(op->ptr, "x", event->x);
+ RNA_int_set(op->ptr, "y", event->y);
if(!area_move_init(C, op))
return OPERATOR_PASS_THROUGH;
@@ -568,7 +568,7 @@
{
WM_event_remove_modal_handler(&C->window->handlers, op);
- RNA_int_set(op->rna, "delta", 0);
+ RNA_int_set(op->ptr, "delta", 0);
area_move_apply(C, op);
area_move_exit(C, op);
@@ -583,14 +583,14 @@
md= op->customdata;
- x= RNA_int_get(op->rna, "x");
- y= RNA_int_get(op->rna, "y");
+ x= RNA_int_get(op->ptr, "x");
+ y= RNA_int_get(op->ptr, "y");
/* execute the events */
switch(event->type) {
case MOUSEMOVE:
delta= (md->dir == 'v')? event->x - x: event->y - y;
- RNA_int_set(op->rna, "delta", delta);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list