From cb6d2685bd9cc092ef5e1c9bea10bb3a1577d288 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Tue, 23 Mar 2010 15:25:33 +0000 Subject: [PATCH] rna/py-api fix. C functions and python used different argument order, this relied on mapping non-keyword arguments to 'REQUIRED' arguments but meant that you could not have an optional, non-keyword argument. next commit will make order of arguments consistant (currently only changed order that rna wrapped). (commit 27674 by Campbell from render25 branch) --- release/scripts/ui/space_info.py | 6 ++-- .../blender/editors/armature/editarmature.c | 4 +-- source/blender/editors/curve/editcurve.c | 4 +-- .../blender/editors/gpencil/gpencil_buttons.c | 8 ++--- source/blender/editors/include/UI_interface.h | 14 ++++---- .../editors/interface/interface_handlers.c | 8 ++--- .../editors/interface/interface_layout.c | 32 +++++++++---------- .../editors/interface/interface_templates.c | 4 +-- .../blender/editors/object/object_relations.c | 22 ++++++------- source/blender/editors/sound/sound_ops.c | 18 +++++------ .../editors/space_graph/graph_buttons.c | 14 ++++---- .../blender/editors/space_graph/graph_edit.c | 2 +- .../editors/space_image/image_header.c | 8 ++--- .../blender/editors/space_image/image_ops.c | 18 +++++------ source/blender/editors/space_nla/nla_edit.c | 2 +- source/blender/editors/space_node/drawnode.c | 2 +- .../blender/editors/space_text/text_header.c | 8 ++--- source/blender/editors/space_text/text_ops.c | 16 +++++----- .../editors/space_view3d/view3d_select.c | 2 +- .../editors/space_view3d/view3d_toolbar.c | 2 +- source/blender/makesrna/intern/rna_ui_api.c | 31 ++++++++++-------- source/blender/python/intern/bpy_rna.c | 10 +----- .../windowmanager/intern/wm_operators.c | 2 +- .../bad_level_call_stubs/stubs.c | 12 +++---- 24 files changed, 123 insertions(+), 126 deletions(-) diff --git a/release/scripts/ui/space_info.py b/release/scripts/ui/space_info.py index d8b18b57cf9..f8f8f5cefe3 100644 --- a/release/scripts/ui/space_info.py +++ b/release/scripts/ui/space_info.py @@ -221,7 +221,7 @@ class INFO_MT_add(bpy.types.Menu): layout.operator_menu_enum("object.curve_add", "type", text="Curve", icon='OUTLINER_OB_CURVE') layout.operator_menu_enum("object.surface_add", "type", text="Surface", icon='OUTLINER_OB_SURFACE') - layout.operator_menu_enum("object.metaball_add", "type", 'META', text="Metaball", icon='OUTLINER_OB_META') + layout.operator_menu_enum("object.metaball_add", "type", text="Metaball", icon='OUTLINER_OB_META') layout.operator("object.text_add", text="Text", icon='OUTLINER_OB_FONT') layout.separator() @@ -233,10 +233,10 @@ class INFO_MT_add(bpy.types.Menu): layout.operator("object.camera_add", text="Camera", icon='OUTLINER_OB_CAMERA') layout.operator_context = 'EXEC_SCREEN' - layout.operator_menu_enum("object.lamp_add", "type", 'LAMP', text="Lamp", icon='OUTLINER_OB_LAMP') + layout.operator_menu_enum("object.lamp_add", "type", text="Lamp", icon='OUTLINER_OB_LAMP') layout.separator() - layout.operator_menu_enum("object.effector_add", "type", 'EMPTY', text="Force Field", icon='OUTLINER_OB_EMPTY') + layout.operator_menu_enum("object.effector_add", "type", text="Force Field", icon='OUTLINER_OB_EMPTY') layout.separator() if(len(bpy.data.groups) > 10): diff --git a/source/blender/editors/armature/editarmature.c b/source/blender/editors/armature/editarmature.c index e19da91b2a2..f3b5e49a3ef 100644 --- a/source/blender/editors/armature/editarmature.c +++ b/source/blender/editors/armature/editarmature.c @@ -3944,11 +3944,11 @@ static int armature_parent_set_invoke(bContext *C, wmOperator *op, wmEvent *even } CTX_DATA_END; - uiItemEnumO(layout, NULL, 0, "ARMATURE_OT_parent_set", "type", ARM_PAR_CONNECT); + uiItemEnumO(layout, "ARMATURE_OT_parent_set", NULL, 0, "type", ARM_PAR_CONNECT); /* ob becomes parent, make the associated menus */ if (allchildbones) - uiItemEnumO(layout, NULL, 0, "ARMATURE_OT_parent_set", "type", ARM_PAR_OFFSET); + uiItemEnumO(layout, "ARMATURE_OT_parent_set", NULL, 0, "type", ARM_PAR_OFFSET); uiPupMenuEnd(C, pup); diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index 0e3bd2f1051..2fc3364b86c 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -4565,8 +4565,8 @@ static int delete_invoke(bContext *C, wmOperator *op, wmEvent *event) if(obedit->type==OB_SURF) { pup= uiPupMenuBegin(C, "Delete", 0); layout= uiPupMenuLayout(pup); - uiItemEnumO(layout, NULL, 0, op->type->idname, "type", 0); - uiItemEnumO(layout, NULL, 0, op->type->idname, "type", 2); + uiItemEnumO(layout, op->type->idname, NULL, 0, "type", 0); + uiItemEnumO(layout, op->type->idname, NULL, 0, "type", 2); uiPupMenuEnd(C, pup); } else { diff --git a/source/blender/editors/gpencil/gpencil_buttons.c b/source/blender/editors/gpencil/gpencil_buttons.c index 98746122538..58559029bef 100644 --- a/source/blender/editors/gpencil/gpencil_buttons.c +++ b/source/blender/editors/gpencil/gpencil_buttons.c @@ -257,11 +257,11 @@ static void draw_gpencil_panel (bContext *C, uiLayout *layout, bGPdata *gpd, Poi /* 'stick to view' option */ row= uiLayoutRow(col, 1); - uiItemEnumR_string(row, NULL, 0, &gpd_ptr, "draw_mode", "VIEW"); - uiItemEnumR_string(row, NULL, 0, &gpd_ptr, "draw_mode", "CURSOR"); + uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "VIEW", NULL, 0); + uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "CURSOR", NULL, 0); row= uiLayoutRow(col, 1); - uiItemEnumR_string(row, NULL, 0, &gpd_ptr, "draw_mode", "SURFACE"); - uiItemEnumR_string(row, NULL, 0, &gpd_ptr, "draw_mode", "STROKE"); + uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "SURFACE", NULL, 0); + uiItemEnumR_string(row, &gpd_ptr, "draw_mode", "STROKE", NULL, 0); row= uiLayoutRow(col, 0); uiLayoutSetActive(row, (gpd->flag & (GP_DATA_DEPTH_STROKE|GP_DATA_DEPTH_VIEW)) ? 1:0); diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h index b3e818a8780..fea9e1368c2 100644 --- a/source/blender/editors/include/UI_interface.h +++ b/source/blender/editors/include/UI_interface.h @@ -693,32 +693,32 @@ void uiTemplateList(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr /* items */ void uiItemO(uiLayout *layout, char *name, int icon, char *opname); -void uiItemEnumO(uiLayout *layout, char *name, int icon, char *opname, char *propname, int value); +void uiItemEnumO(uiLayout *layout, char *opname, char *name, int icon, char *propname, int value); void uiItemEnumO_string(uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value); void uiItemsEnumO(uiLayout *layout, char *opname, char *propname); void uiItemBooleanO(uiLayout *layout, char *name, int icon, char *opname, char *propname, int value); void uiItemIntO(uiLayout *layout, char *name, int icon, char *opname, char *propname, int value); void uiItemFloatO(uiLayout *layout, char *name, int icon, char *opname, char *propname, float value); void uiItemStringO(uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value); -PointerRNA uiItemFullO(uiLayout *layout, char *name, int icon, char *idname, struct IDProperty *properties, int context, int flag); +PointerRNA uiItemFullO(uiLayout *layout, char *idname, char *name, int icon, struct IDProperty *properties, int context, int flag); void uiItemR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, int flag); void uiItemFullR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, int value, int flag); void uiItemEnumR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, int value); -void uiItemEnumR_string(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, char *value); +void uiItemEnumR_string(uiLayout *layout, struct PointerRNA *ptr, char *propname, char *value, char *name, int icon); void uiItemsEnumR(uiLayout *layout, struct PointerRNA *ptr, char *propname); -void uiItemPointerR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname); +void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname, char *name, int icon); void uiItemsFullEnumO(uiLayout *layout, char *opname, char *propname, struct IDProperty *properties, int context, int flag); void uiItemL(uiLayout *layout, char *name, int icon); /* label */ void uiItemLDrag(uiLayout *layout, struct PointerRNA *ptr, char *name, int icon); /* label icon for dragging */ -void uiItemM(uiLayout *layout, struct bContext *C, char *name, int icon, char *menuname); /* menu */ +void uiItemM(uiLayout *layout, struct bContext *C, char *menuname, char *name, int icon); /* menu */ void uiItemV(uiLayout *layout, char *name, int icon, int argval); /* value */ void uiItemS(uiLayout *layout); /* separator */ void uiItemMenuF(uiLayout *layout, char *name, int icon, uiMenuCreateFunc func, void *arg); -void uiItemMenuEnumO(uiLayout *layout, char *name, int icon, char *opname, char *propname); -void uiItemMenuEnumR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname); +void uiItemMenuEnumO(uiLayout *layout, char *opname, char *propname, char *name, int icon); +void uiItemMenuEnumR(uiLayout *layout, struct PointerRNA *ptr, char *propname, char *name, int icon); /* UI Operators */ void UI_buttons_operatortypes(void); diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index d4f29a70892..ec6557e8730 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -3948,28 +3948,28 @@ static int ui_but_menu(bContext *C, uiBut *but) WM_operator_properties_create(&ptr_props, "WM_OT_doc_view"); RNA_string_set(&ptr_props, "doc_id", buf); - uiItemFullO(layout, "View Docs", 0, "WM_OT_doc_view", ptr_props.data, WM_OP_EXEC_DEFAULT, 0); + uiItemFullO(layout, "WM_OT_doc_view", "View Docs", 0, ptr_props.data, WM_OP_EXEC_DEFAULT, 0); WM_operator_properties_create(&ptr_props, "WM_OT_doc_edit"); RNA_string_set(&ptr_props, "doc_id", buf); RNA_string_set(&ptr_props, "doc_new", RNA_property_description(but->rnaprop)); - uiItemFullO(layout, "Submit Description", 0, "WM_OT_doc_edit", ptr_props.data, WM_OP_INVOKE_DEFAULT, 0); + uiItemFullO(layout, "WM_OT_doc_edit", "Submit Description", 0, ptr_props.data, WM_OP_INVOKE_DEFAULT, 0); } else if (but->optype) { WM_operator_py_idname(buf, but->optype->idname); WM_operator_properties_create(&ptr_props, "WM_OT_doc_view"); RNA_string_set(&ptr_props, "doc_id", buf); - uiItemFullO(layout, "View Docs", 0, "WM_OT_doc_view", ptr_props.data, WM_OP_EXEC_DEFAULT, 0); + uiItemFullO(layout, "WM_OT_doc_view", "View Docs", 0, ptr_props.data, WM_OP_EXEC_DEFAULT, 0); WM_operator_properties_create(&ptr_props, "WM_OT_doc_edit"); RNA_string_set(&ptr_props, "doc_id", buf); RNA_string_set(&ptr_props, "doc_new", but->optype->description); - uiItemFullO(layout, "Submit Description", 0, "WM_OT_doc_edit", ptr_props.data, WM_OP_INVOKE_DEFAULT, 0); + uiItemFullO(layout, "WM_OT_doc_edit", "Submit Description", 0, ptr_props.data, WM_OP_INVOKE_DEFAULT, 0); } } diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c index ab199436a55..aee1f543607 100644 --- a/source/blender/editors/interface/interface_layout.c +++ b/source/blender/editors/interface/interface_layout.c @@ -592,7 +592,7 @@ static void ui_item_disabled(uiLayout *layout, char *name) } /* operator items */ -PointerRNA uiItemFullO(uiLayout *layout, char *name, int icon, char *idname, IDProperty *properties, int context, int flag) +PointerRNA uiItemFullO(uiLayout *layout, char *idname, char *name, int icon, IDProperty *properties, int context, int flag) { uiBlock *block= layout->root->block; wmOperatorType *ot= WM_operatortype_find(idname, 0); @@ -673,7 +673,7 @@ static char *ui_menu_enumpropname(uiLayout *layout, char *opname, char *propname return ""; } -void uiItemEnumO(uiLayout *layout, char *name, int icon, char *opname, char *propname, int value) +void uiItemEnumO(uiLayout *layout, char *opname, char *name, int icon, char *propname, int value) { PointerRNA ptr; @@ -683,7 +683,7 @@ void uiItemEnumO(uiLayout *layout, char *name, int icon, char *opname, char *pro if(!name) name= ui_menu_enumpropname(layout, opname, propname, value); - uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0); + uiItemFullO(layout, opname, name, icon, ptr.data, layout->root->opcontext, 0); } void uiItemsFullEnumO(uiLayout *layout, char *opname, char *propname, IDProperty *properties, int context, int flag) @@ -723,10 +723,10 @@ void uiItemsFullEnumO(uiLayout *layout, char *opname, char *propname, IDProperty ptr.data= IDP_CopyProperty(properties); RNA_enum_set(&ptr, propname, item[i].value); - uiItemFullO(column, (char*)item[i].name, item[i].icon, opname, ptr.data, context, flag); + uiItemFullO(column, opname, (char*)item[i].name, item[i].icon, ptr.data, context, flag); } else - uiItemEnumO(column, (char*)item[i].name, item[i].icon, opname, propname, item[i].value); + uiItemEnumO(column, opname, (char*)item[i].name, item[i].icon, propname, item[i].value); } else { if(item[i].name) { @@ -790,7 +790,7 @@ void uiItemEnumO_string(uiLayout *layout, char *name, int icon, char *opname, ch if(!name) name= ui_menu_enumpropname(layout, opname, propname, value); - uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0); + uiItemFullO(layout, opname, name, icon, ptr.data, layout->root->opcontext, 0); } void uiItemBooleanO(uiLayout *layout, char *name, int icon, char *opname, char *propname, int value) @@ -800,7 +800,7 @@ void uiItemBooleanO(uiLayout *layout, char *name, int icon, char *opname, char * WM_operator_properties_create(&ptr, opname); RNA_boolean_set(&ptr, propname, value); - uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0); + uiItemFullO(layout, opname, name, icon, ptr.data, layout->root->opcontext, 0); } void uiItemIntO(uiLayout *layout, char *name, int icon, char *opname, char *propname, int value) @@ -810,7 +810,7 @@ void uiItemIntO(uiLayout *layout, char *name, int icon, char *opname, char *prop WM_operator_properties_create(&ptr, opname); RNA_int_set(&ptr, propname, value); - uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0); + uiItemFullO(layout, opname, name, icon, ptr.data, layout->root->opcontext, 0); } void uiItemFloatO(uiLayout *layout, char *name, int icon, char *opname, char *propname, float value) @@ -820,7 +820,7 @@ void uiItemFloatO(uiLayout *layout, char *name, int icon, char *opname, char *pr WM_operator_properties_create(&ptr, opname); RNA_float_set(&ptr, propname, value); - uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0); + uiItemFullO(layout, opname, name, icon, ptr.data, layout->root->opcontext, 0); } void uiItemStringO(uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value) @@ -830,12 +830,12 @@ void uiItemStringO(uiLayout *layout, char *name, int icon, char *opname, char *p WM_operator_properties_create(&ptr, opname); RNA_string_set(&ptr, propname, value); - uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0); + uiItemFullO(layout, opname, name, icon, ptr.data, layout->root->opcontext, 0); } void uiItemO(uiLayout *layout, char *name, int icon, char *opname) { - uiItemFullO(layout, name, icon, opname, NULL, layout->root->opcontext, 0); + uiItemFullO(layout, opname, name, icon, NULL, layout->root->opcontext, 0); } /* RNA property items */ @@ -993,7 +993,7 @@ void uiItemEnumR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, uiItemFullR(layout, name, icon, ptr, prop, RNA_ENUM_VALUE, value, 0); } -void uiItemEnumR_string(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, char *value) +void uiItemEnumR_string(uiLayout *layout, struct PointerRNA *ptr, char *propname, char *value, char *name, int icon) { PropertyRNA *prop= RNA_struct_find_property(ptr, propname); EnumPropertyItem *item; @@ -1191,7 +1191,7 @@ void ui_but_add_search(uiBut *but, PointerRNA *ptr, PropertyRNA *prop, PointerRN } } -void uiItemPointerR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname) +void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname, char *name, int icon) { PropertyRNA *prop, *searchprop; PropertyType type; @@ -1293,7 +1293,7 @@ static void ui_item_menu(uiLayout *layout, char *name, int icon, uiMenuCreateFun but->type= MENU; } -void uiItemM(uiLayout *layout, bContext *C, char *name, int icon, char *menuname) +void uiItemM(uiLayout *layout, bContext *C, char *menuname, char *name, int icon) { MenuType *mt; @@ -1411,7 +1411,7 @@ static void menu_item_enum_opname_menu(bContext *C, uiLayout *layout, void *arg) uiItemsEnumO(layout, lvl->opname, lvl->propname); } -void uiItemMenuEnumO(uiLayout *layout, char *name, int icon, char *opname, char *propname) +void uiItemMenuEnumO(uiLayout *layout, char *opname, char *propname, char *name, int icon) { wmOperatorType *ot= WM_operatortype_find(opname, 0); MenuItemLevel *lvl; @@ -1442,7 +1442,7 @@ static void menu_item_enum_rna_menu(bContext *C, uiLayout *layout, void *arg) uiItemsEnumR(layout, &lvl->rnapoin, lvl->propname); } -void uiItemMenuEnumR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname) +void uiItemMenuEnumR(uiLayout *layout, struct PointerRNA *ptr, char *propname, char *name, int icon) { MenuItemLevel *lvl; PropertyRNA *prop; diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c index bd55f2c2244..5beb1dc7548 100644 --- a/source/blender/editors/interface/interface_templates.c +++ b/source/blender/editors/interface/interface_templates.c @@ -815,10 +815,10 @@ static uiLayout *draw_modifier(uiLayout *layout, Scene *scene, Object *ob, Modif } } else { - uiItemEnumO(row, "Apply", 0, "OBJECT_OT_modifier_apply", "apply_as", MODIFIER_APPLY_DATA); + uiItemEnumO(row, "OBJECT_OT_modifier_apply", "Apply", 0, "apply_as", MODIFIER_APPLY_DATA); if (modifier_sameTopology(md)) - uiItemEnumO(row, "Apply as Shape", 0, "OBJECT_OT_modifier_apply", "apply_as", MODIFIER_APPLY_SHAPE); + uiItemEnumO(row, "OBJECT_OT_modifier_apply", "Apply as Shape", 0, "apply_as", MODIFIER_APPLY_SHAPE); } uiBlockClearButLock(block); diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index 06075c4ff35..e89bde00ce7 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -279,7 +279,7 @@ static int make_proxy_invoke (bContext *C, wmOperator *op, wmEvent *evt) PointerRNA props_ptr; /* create operator menu item with relevant properties filled in */ - props_ptr= uiItemFullO(layout, op->type->name, 0, op->idname, NULL, WM_OP_EXEC_REGION_WIN, UI_ITEM_O_RETURN_PROPS); + props_ptr= uiItemFullO(layout, op->idname, op->type->name, 0, NULL, WM_OP_EXEC_REGION_WIN, UI_ITEM_O_RETURN_PROPS); /* present the menu and be done... */ uiPupMenuEnd(C, pup); @@ -672,23 +672,23 @@ static int parent_set_invoke(bContext *C, wmOperator *op, wmEvent *event) uiLayout *layout= uiPupMenuLayout(pup); uiLayoutSetOperatorContext(layout, WM_OP_EXEC_DEFAULT); - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_OBJECT); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_OBJECT); /* ob becomes parent, make the associated menus */ if(ob->type==OB_ARMATURE) { - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_ARMATURE); - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_ARMATURE_NAME); - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_ARMATURE_ENVELOPE); - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_ARMATURE_AUTO); - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_BONE); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_ARMATURE); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_ARMATURE_NAME); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_ARMATURE_ENVELOPE); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_ARMATURE_AUTO); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_BONE); } else if(ob->type==OB_CURVE) { - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_CURVE); - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_FOLLOW); - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_PATH_CONST); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_CURVE); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_FOLLOW); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_PATH_CONST); } else if(ob->type == OB_LATTICE) { - uiItemEnumO(layout, NULL, 0, "OBJECT_OT_parent_set", "type", PAR_LATTICE); + uiItemEnumO(layout, "OBJECT_OT_parent_set", NULL, 0, "type", PAR_LATTICE); } uiPupMenuEnd(C, pup); diff --git a/source/blender/editors/sound/sound_ops.c b/source/blender/editors/sound/sound_ops.c index 4edc85a4492..376db0d3d58 100644 --- a/source/blender/editors/sound/sound_ops.c +++ b/source/blender/editors/sound/sound_ops.c @@ -179,23 +179,23 @@ static void unpack_menu(bContext *C, char *opname, char *abs_name, char *folder, pup= uiPupMenuBegin(C, "Unpack file", 0); layout= uiPupMenuLayout(pup); - uiItemEnumO(layout, "Remove Pack", 0, opname, "method", PF_REMOVE); + uiItemEnumO(layout, opname, "Remove Pack", 0, "method", PF_REMOVE); if(strcmp(abs_name, local_name)) { switch(checkPackedFile(local_name, pf)) { case PF_NOFILE: sprintf(line, "Create %s", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_WRITE_LOCAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_LOCAL); break; case PF_EQUAL: sprintf(line, "Use %s (identical)", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_USE_LOCAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_USE_LOCAL); break; case PF_DIFFERS: sprintf(line, "Use %s (differs)", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_USE_LOCAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_USE_LOCAL); sprintf(line, "Overwrite %s", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_WRITE_LOCAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_LOCAL); break; } } @@ -203,17 +203,17 @@ static void unpack_menu(bContext *C, char *opname, char *abs_name, char *folder, switch(checkPackedFile(abs_name, pf)) { case PF_NOFILE: sprintf(line, "Create %s", abs_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_WRITE_ORIGINAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_ORIGINAL); break; case PF_EQUAL: sprintf(line, "Use %s (identical)", abs_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_USE_ORIGINAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_USE_ORIGINAL); break; case PF_DIFFERS: sprintf(line, "Use %s (differs)", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_USE_ORIGINAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_USE_ORIGINAL); sprintf(line, "Overwrite %s", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_WRITE_ORIGINAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_ORIGINAL); break; } diff --git a/source/blender/editors/space_graph/graph_buttons.c b/source/blender/editors/space_graph/graph_buttons.c index ed5de247487..c7b98973bba 100644 --- a/source/blender/editors/space_graph/graph_buttons.c +++ b/source/blender/editors/space_graph/graph_buttons.c @@ -157,10 +157,10 @@ static void graph_panel_view(const bContext *C, Panel *pa) uiLayoutSetActive(subcol, RNA_boolean_get(&spaceptr, "show_cursor")); row= uiLayoutSplit(subcol, 0.7, 1); uiItemR(row, "Cursor X", 0, &sceneptr, "current_frame", 0); - uiItemEnumO(row, "To Keys", 0, "GRAPH_OT_snap", "type", GRAPHKEYS_SNAP_CFRA); + uiItemEnumO(row, "GRAPH_OT_snap", "To Keys", 0, "type", GRAPHKEYS_SNAP_CFRA); row= uiLayoutSplit(subcol, 0.7, 1); uiItemR(row, "Cursor Y", 0, &spaceptr, "cursor_value", 0); - uiItemEnumO(row, "To Keys", 0, "GRAPH_OT_snap", "type", GRAPHKEYS_SNAP_VALUE); + uiItemEnumO(row, "GRAPH_OT_snap", "To Keys", 0, "type", GRAPHKEYS_SNAP_VALUE); } /* ******************* active F-Curve ************** */ @@ -349,7 +349,7 @@ static void graph_panel_driverVar__rotDiff(const bContext *C, uiLayout *layout, PointerRNA tar_ptr; RNA_pointer_create(dtar->id, &RNA_Pose, ob1->pose, &tar_ptr); - uiItemPointerR(col, "", ICON_BONE_DATA, &dtar_ptr, "bone_target", &tar_ptr, "bones"); + uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA); } col= uiLayoutColumn(layout, 1); @@ -359,7 +359,7 @@ static void graph_panel_driverVar__rotDiff(const bContext *C, uiLayout *layout, PointerRNA tar_ptr; RNA_pointer_create(dtar2->id, &RNA_Pose, ob2->pose, &tar_ptr); - uiItemPointerR(col, "", ICON_BONE_DATA, &dtar2_ptr, "bone_target", &tar_ptr, "bones"); + uiItemPointerR(col, &dtar2_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA); } } @@ -385,7 +385,7 @@ static void graph_panel_driverVar__locDiff(const bContext *C, uiLayout *layout, PointerRNA tar_ptr; RNA_pointer_create(dtar->id, &RNA_Pose, ob1->pose, &tar_ptr); - uiItemPointerR(col, "", ICON_BONE_DATA, &dtar_ptr, "bone_target", &tar_ptr, "bones"); + uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA); } uiItemR(col, NULL, 0, &dtar_ptr, "use_local_space_transforms", 0); @@ -397,7 +397,7 @@ static void graph_panel_driverVar__locDiff(const bContext *C, uiLayout *layout, PointerRNA tar_ptr; RNA_pointer_create(dtar2->id, &RNA_Pose, ob2->pose, &tar_ptr); - uiItemPointerR(col, "", ICON_BONE_DATA, &dtar2_ptr, "bone_target", &tar_ptr, "bones"); + uiItemPointerR(col, &dtar2_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA); } uiItemR(col, NULL, 0, &dtar2_ptr, "use_local_space_transforms", 0); @@ -422,7 +422,7 @@ static void graph_panel_driverVar__transChan(const bContext *C, uiLayout *layout PointerRNA tar_ptr; RNA_pointer_create(dtar->id, &RNA_Pose, ob->pose, &tar_ptr); - uiItemPointerR(col, "", ICON_BONE_DATA, &dtar_ptr, "bone_target", &tar_ptr, "bones"); + uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA); } row= uiLayoutRow(layout, 1); diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c index 943f31f111b..fe7168240f8 100644 --- a/source/blender/editors/space_graph/graph_edit.c +++ b/source/blender/editors/space_graph/graph_edit.c @@ -1920,7 +1920,7 @@ static int graph_fmodifier_add_invoke (bContext *C, wmOperator *op, wmEvent *eve continue; /* create operator menu item with relevant properties filled in */ - props_ptr= uiItemFullO(layout, fmi->name, 0, "GRAPH_OT_fmodifier_add", NULL, WM_OP_EXEC_REGION_WIN, UI_ITEM_O_RETURN_PROPS); + props_ptr= uiItemFullO(layout, "GRAPH_OT_fmodifier_add", fmi->name, 0, NULL, WM_OP_EXEC_REGION_WIN, UI_ITEM_O_RETURN_PROPS); /* the only thing that gets set from the menu is the type of F-Modifier to add */ RNA_enum_set(&props_ptr, "type", i); /* the following properties are just repeats of existing ones... */ diff --git a/source/blender/editors/space_image/image_header.c b/source/blender/editors/space_image/image_header.c index 8a0e9878572..25208b61c28 100644 --- a/source/blender/editors/space_image/image_header.c +++ b/source/blender/editors/space_image/image_header.c @@ -74,10 +74,10 @@ static int toolbox_invoke(bContext *C, wmOperator *op, wmEvent *event) pup= uiPupMenuBegin(C, "Toolbox", 0); layout= uiPupMenuLayout(pup); - uiItemM(layout, C, NULL, 0, "IMAGE_MT_view"); - if(show_uvedit) uiItemM(layout, C, NULL, 0, "IMAGE_MT_select"); - uiItemM(layout, C, NULL, 0, "IMAGE_MT_image"); - if(show_uvedit) uiItemM(layout, C, NULL, 0, "IMAGE_MT_uvs"); + uiItemM(layout, C, "IMAGE_MT_view", NULL, 0); + if(show_uvedit) uiItemM(layout, C, "IMAGE_MT_select", NULL, 0); + uiItemM(layout, C, "IMAGE_MT_image", NULL, 0); + if(show_uvedit) uiItemM(layout, C, "IMAGE_MT_uvs", NULL, 0); uiPupMenuEnd(C, pup); diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c index 68ba83b4000..671bbe5f8cd 100644 --- a/source/blender/editors/space_image/image_ops.c +++ b/source/blender/editors/space_image/image_ops.c @@ -1326,23 +1326,23 @@ void unpack_menu(bContext *C, char *opname, char *abs_name, char *folder, Packed pup= uiPupMenuBegin(C, "Unpack file", 0); layout= uiPupMenuLayout(pup); - uiItemEnumO(layout, "Remove Pack", 0, opname, "method", PF_REMOVE); + uiItemEnumO(layout, opname, "Remove Pack", 0, "method", PF_REMOVE); if(strcmp(abs_name, local_name)) { switch(checkPackedFile(local_name, pf)) { case PF_NOFILE: sprintf(line, "Create %s", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_WRITE_LOCAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_LOCAL); break; case PF_EQUAL: sprintf(line, "Use %s (identical)", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_USE_LOCAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_USE_LOCAL); break; case PF_DIFFERS: sprintf(line, "Use %s (differs)", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_USE_LOCAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_USE_LOCAL); sprintf(line, "Overwrite %s", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_WRITE_LOCAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_LOCAL); break; } } @@ -1350,17 +1350,17 @@ void unpack_menu(bContext *C, char *opname, char *abs_name, char *folder, Packed switch(checkPackedFile(abs_name, pf)) { case PF_NOFILE: sprintf(line, "Create %s", abs_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_WRITE_ORIGINAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_ORIGINAL); break; case PF_EQUAL: sprintf(line, "Use %s (identical)", abs_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_USE_ORIGINAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_USE_ORIGINAL); break; case PF_DIFFERS: sprintf(line, "Use %s (differs)", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_USE_ORIGINAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_USE_ORIGINAL); sprintf(line, "Overwrite %s", local_name); - uiItemEnumO(layout, line, 0, opname, "method", PF_WRITE_ORIGINAL); + uiItemEnumO(layout, opname, line, 0, "method", PF_WRITE_ORIGINAL); break; } diff --git a/source/blender/editors/space_nla/nla_edit.c b/source/blender/editors/space_nla/nla_edit.c index 4fd62ea20d0..5eac0a624a9 100644 --- a/source/blender/editors/space_nla/nla_edit.c +++ b/source/blender/editors/space_nla/nla_edit.c @@ -1566,7 +1566,7 @@ static int nla_fmodifier_add_invoke (bContext *C, wmOperator *op, wmEvent *event continue; /* add entry to add this type of modifier */ - uiItemEnumO(layout, fmi->name, 0, "NLA_OT_fmodifier_add", "type", i); + uiItemEnumO(layout, "NLA_OT_fmodifier_add", fmi->name, 0, "type", i); } uiItemS(layout); diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c index 04b9d86f8cc..75328bfdc7a 100644 --- a/source/blender/editors/space_node/drawnode.c +++ b/source/blender/editors/space_node/drawnode.c @@ -512,7 +512,7 @@ static void node_composit_buts_renderlayers(uiLayout *layout, bContext *C, Point WM_operator_properties_create(&op_ptr, "RENDER_OT_render"); RNA_string_set(&op_ptr, "layer", layer_name); RNA_string_set(&op_ptr, "scene", scene_name); - uiItemFullO(row, "", ICON_RENDER_STILL, "RENDER_OT_render", op_ptr.data, WM_OP_INVOKE_DEFAULT, 0); + uiItemFullO(row, "RENDER_OT_render", "", ICON_RENDER_STILL, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0); } diff --git a/source/blender/editors/space_text/text_header.c b/source/blender/editors/space_text/text_header.c index 04f9dd8ac3b..3b1c882ff2f 100644 --- a/source/blender/editors/space_text/text_header.c +++ b/source/blender/editors/space_text/text_header.c @@ -203,10 +203,10 @@ void TEXT_OT_properties(wmOperatorType *ot) uiPopupMenu *pup; pup= uiPupMenuBegin(C, "Text", 0); - uiItemEnumO(layout, "Top of File", 0, "TEXT_OT_move", "type", FILE_TOP); - uiItemEnumO(layout, "Bottom of File", 0, "TEXT_OT_move", "type", FILE_BOTTOM); - uiItemEnumO(layout, "Page Up", 0, "TEXT_OT_move", "type", PREV_PAGE); - uiItemEnumO(layout, "Page Down", 0, "TEXT_OT_move", "type", NEXT_PAGE); + uiItemEnumO(layout, "TEXT_OT_move", "Top of File", 0, "type", FILE_TOP); + uiItemEnumO(layout, "TEXT_OT_move", "Bottom of File", 0, "type", FILE_BOTTOM); + uiItemEnumO(layout, "TEXT_OT_move", "Page Up", 0, "type", PREV_PAGE); + uiItemEnumO(layout, "TEXT_OT_move", "Page Down", 0, "type", NEXT_PAGE); uiPupMenuEnd(C, pup); } #endif diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c index 4554b6eaabe..0f3b54a7b4b 100644 --- a/source/blender/editors/space_text/text_ops.c +++ b/source/blender/editors/space_text/text_ops.c @@ -2608,25 +2608,25 @@ static int resolve_conflict_invoke(bContext *C, wmOperator *op, wmEvent *event) /* modified locally and externally, ahhh. offer more possibilites. */ pup= uiPupMenuBegin(C, "File Modified Outside and Inside Blender", 0); layout= uiPupMenuLayout(pup); - uiItemEnumO(layout, "Reload from disk (ignore local changes)", 0, op->type->idname, "resolution", RESOLVE_RELOAD); - uiItemEnumO(layout, "Save to disk (ignore outside changes)", 0, op->type->idname, "resolution", RESOLVE_SAVE); - uiItemEnumO(layout, "Make text internal (separate copy)", 0, op->type->idname, "resolution", RESOLVE_MAKE_INTERNAL); + uiItemEnumO(layout, op->type->idname, "Reload from disk (ignore local changes)", 0, "resolution", RESOLVE_RELOAD); + uiItemEnumO(layout, op->type->idname, "Save to disk (ignore outside changes)", 0, "resolution", RESOLVE_SAVE); + uiItemEnumO(layout, op->type->idname, "Make text internal (separate copy)", 0, "resolution", RESOLVE_MAKE_INTERNAL); uiPupMenuEnd(C, pup); } else { pup= uiPupMenuBegin(C, "File Modified Outside Blender", 0); layout= uiPupMenuLayout(pup); - uiItemEnumO(layout, "Reload from disk", 0, op->type->idname, "resolution", RESOLVE_RELOAD); - uiItemEnumO(layout, "Make text internal (separate copy)", 0, op->type->idname, "resolution", RESOLVE_MAKE_INTERNAL); - uiItemEnumO(layout, "Ignore", 0, op->type->idname, "resolution", RESOLVE_IGNORE); + uiItemEnumO(layout, op->type->idname, "Reload from disk", 0, "resolution", RESOLVE_RELOAD); + uiItemEnumO(layout, op->type->idname, "Make text internal (separate copy)", 0, "resolution", RESOLVE_MAKE_INTERNAL); + uiItemEnumO(layout, op->type->idname, "Ignore", 0, "resolution", RESOLVE_IGNORE); uiPupMenuEnd(C, pup); } break; case 2: pup= uiPupMenuBegin(C, "File Deleted Outside Blender", 0); layout= uiPupMenuLayout(pup); - uiItemEnumO(layout, "Make text internal", 0, op->type->idname, "resolution", RESOLVE_MAKE_INTERNAL); - uiItemEnumO(layout, "Recreate file", 0, op->type->idname, "resolution", RESOLVE_SAVE); + uiItemEnumO(layout, op->type->idname, "Make text internal", 0, "resolution", RESOLVE_MAKE_INTERNAL); + uiItemEnumO(layout, op->type->idname, "Recreate file", 0, "resolution", RESOLVE_SAVE); uiPupMenuEnd(C, pup); break; } diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c index 851ed793d3c..d0c69c9a4cb 100644 --- a/source/blender/editors/space_view3d/view3d_select.c +++ b/source/blender/editors/space_view3d/view3d_select.c @@ -926,7 +926,7 @@ static Base *mouse_select_menu(bContext *C, ViewContext *vc, unsigned int *buffe WM_operator_properties_create(&ptr, "OBJECT_OT_select_name"); RNA_string_set(&ptr, "name", name); RNA_boolean_set(&ptr, "extend", extend); - uiItemFullO(column, name, uiIconFromID((ID *)ob), "OBJECT_OT_select_name", ptr.data, WM_OP_EXEC_DEFAULT, 0); + uiItemFullO(column, "OBJECT_OT_select_name", name, uiIconFromID((ID *)ob), ptr.data, WM_OP_EXEC_DEFAULT, 0); } node= node->next; diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c index c9aacf0e958..ac6d61fce18 100644 --- a/source/blender/editors/space_view3d/view3d_toolbar.c +++ b/source/blender/editors/space_view3d/view3d_toolbar.c @@ -256,7 +256,7 @@ static void view3d_panel_tool_shelf(const bContext *C, Panel *pa) for(ct= st->toolshelf.first; ct; ct= ct->next) { if(0==strncmp(context, ct->context, OP_MAX_TYPENAME)) { col= uiLayoutColumn(pa->layout, 1); - uiItemFullO(col, NULL, 0, ct->opname, NULL, WM_OP_INVOKE_REGION_WIN, 0); + uiItemFullO(col, ct->opname, NULL, 0, NULL, WM_OP_INVOKE_REGION_WIN, 0); } } } diff --git a/source/blender/makesrna/intern/rna_ui_api.c b/source/blender/makesrna/intern/rna_ui_api.c index 6415f04a39f..0b814b38c5b 100644 --- a/source/blender/makesrna/intern/rna_ui_api.c +++ b/source/blender/makesrna/intern/rna_ui_api.c @@ -37,7 +37,7 @@ #ifdef RNA_RUNTIME -static void rna_uiItemR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, char *propname, int expand, int slider, int toggle, int icon_only, int event, int full_event, int no_bg, int index) +static void rna_uiItemR(uiLayout *layout, PointerRNA *ptr, char *propname, char *name, int icon, int expand, int slider, int toggle, int icon_only, int event, int full_event, int no_bg, int index) { PropertyRNA *prop= RNA_struct_find_property(ptr, propname); int flag= 0; @@ -58,9 +58,9 @@ static void rna_uiItemR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, uiItemFullR(layout, name, icon, ptr, prop, index, 0, flag); } -static PointerRNA rna_uiItemO(uiLayout *layout, char *name, int icon, char *opname) +static PointerRNA rna_uiItemO(uiLayout *layout, char *opname, char *name, int icon) { - return uiItemFullO(layout, name, icon, opname, NULL, uiLayoutGetOperatorContext(layout), UI_ITEM_O_RETURN_PROPS); + return uiItemFullO(layout, opname, name, icon, NULL, uiLayoutGetOperatorContext(layout), UI_ITEM_O_RETURN_PROPS); } #else @@ -83,13 +83,17 @@ static void api_ui_item_common(FunctionRNA *func) } -static void api_ui_item_op_common(FunctionRNA *func) +static void api_ui_item_op(FunctionRNA *func) { PropertyRNA *parm; - - api_ui_item_common(func); parm= RNA_def_string(func, "operator", "", 0, "", "Identifier of the operator."); - RNA_def_property_flag(parm, PROP_REQUIRED); + RNA_def_property_flag(parm, PROP_REQUIRED); +} + +static void api_ui_item_op_common(FunctionRNA *func) +{ + api_ui_item_op(func); + api_ui_item_common(func); } static void api_ui_item_rna_common(FunctionRNA *func) @@ -150,8 +154,8 @@ void RNA_api_ui_layout(StructRNA *srna) /* items */ func= RNA_def_function(srna, "prop", "rna_uiItemR"); - api_ui_item_common(func); api_ui_item_rna_common(func); + api_ui_item_common(func); RNA_def_boolean(func, "expand", 0, "", "Expand button to show more detail."); RNA_def_boolean(func, "slider", 0, "", "Use slider widget for numeric values."); RNA_def_boolean(func, "toggle", 0, "", "Use toggle widget for boolean values."); @@ -165,22 +169,22 @@ void RNA_api_ui_layout(StructRNA *srna) api_ui_item_rna_common(func); func= RNA_def_function(srna, "prop_menu_enum", "uiItemMenuEnumR"); - api_ui_item_common(func); api_ui_item_rna_common(func); + api_ui_item_common(func); func= RNA_def_function(srna, "prop_enum", "uiItemEnumR_string"); - api_ui_item_common(func); api_ui_item_rna_common(func); parm= RNA_def_string(func, "value", "", 0, "", "Enum property value."); RNA_def_property_flag(parm, PROP_REQUIRED); + api_ui_item_common(func); func= RNA_def_function(srna, "prop_object", "uiItemPointerR"); - api_ui_item_common(func); api_ui_item_rna_common(func); parm= RNA_def_pointer(func, "search_data", "AnyType", "", "Data from which to take collection to search in."); RNA_def_property_flag(parm, PROP_REQUIRED|PROP_RNAPTR|PROP_NEVER_NULL); parm= RNA_def_string(func, "search_property", "", 0, "", "Identifier of search collection property."); RNA_def_property_flag(parm, PROP_REQUIRED); + api_ui_item_common(func); func= RNA_def_function(srna, "operator", "rna_uiItemO"); api_ui_item_op_common(func); @@ -202,9 +206,10 @@ void RNA_api_ui_layout(StructRNA *srna) RNA_def_property_flag(parm, PROP_REQUIRED); func= RNA_def_function(srna, "operator_menu_enum", "uiItemMenuEnumO"); - api_ui_item_op_common(func); + api_ui_item_op(func); /* cant use api_ui_item_op_common because property must come right after */ parm= RNA_def_string(func, "property", "", 0, "", "Identifier of property in operator."); RNA_def_property_flag(parm, PROP_REQUIRED); + api_ui_item_common(func); /* func= RNA_def_function(srna, "operator_boolean", "uiItemBooleanO"); api_ui_item_op_common(func); @@ -239,8 +244,8 @@ void RNA_api_ui_layout(StructRNA *srna) func= RNA_def_function(srna, "menu", "uiItemM"); RNA_def_function_flag(func, FUNC_USE_CONTEXT); - api_ui_item_common(func); parm= RNA_def_string(func, "menu", "", 0, "", "Identifier of the menu."); + api_ui_item_common(func); RNA_def_property_flag(parm, PROP_REQUIRED); func= RNA_def_function(srna, "separator", "uiItemS"); diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c index 3f4f707a9bd..4792d284ca7 100644 --- a/source/blender/python/intern/bpy_rna.c +++ b/source/blender/python/intern/bpy_rna.c @@ -3004,7 +3004,7 @@ static PyObject * pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw) parm_id= RNA_property_identifier(parm); item= NULL; - if ((i < pyargs_len) && (flag & PROP_REQUIRED)) { + if (i < pyargs_len) { item= PyTuple_GET_ITEM(args, i); i++; @@ -3049,14 +3049,6 @@ static PyObject * pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw) RNA_parameter_list_end(&iter); - /* TODO: arg passing is currently messed up with keyword and args, - * needs reworking however this should stop annoying problems - * where args are ignored (for now) */ - if(i != pyargs_len) { - PyErr_Format(PyExc_TypeError, "%.200s.%.200s(): congratulations, you found a bug in blender. argument %d needs to be a keyword argument until its fixed", RNA_struct_identifier(self_ptr->type), RNA_function_identifier(self_func), i+1); - err= -1; - } - /* Check if we gave args that dont exist in the function * printing the error is slow but it should only happen when developing. * the if below is quick, checking if it passed less keyword args then we gave. diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index b48f28c075e..d74f3a3d6e7 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -759,7 +759,7 @@ int WM_operator_confirm_message(bContext *C, wmOperator *op, char *message) pup= uiPupMenuBegin(C, "OK?", ICON_QUESTION); layout= uiPupMenuLayout(pup); - uiItemFullO(layout, message, 0, op->type->idname, properties, WM_OP_EXEC_REGION_WIN, 0); + uiItemFullO(layout, op->type->idname, message, 0, properties, WM_OP_EXEC_REGION_WIN, 0); uiPupMenuEnd(C, pup); return OPERATOR_CANCELLED; diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index 4f9218cc887..edc290c6abd 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -238,25 +238,25 @@ void load_editMesh(struct Scene *scene, struct Object *ob){} void uiItemR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, int flag){} -PointerRNA uiItemFullO(struct uiLayout *layout, char *name, int icon, char *idname, struct IDProperty *properties, int context, int flag){PointerRNA a; return a;} +PointerRNA uiItemFullO(struct uiLayout *layout, char *idname, char *name, int icon, struct IDProperty *properties, int context, int flag){PointerRNA a; return a;} struct uiLayout *uiLayoutRow(struct uiLayout *layout, int align){return (struct uiLayout *) NULL;} struct uiLayout *uiLayoutColumn(struct uiLayout *layout, int align){return (struct uiLayout *) NULL;} struct uiLayout *uiLayoutColumnFlow(struct uiLayout *layout, int number, int align){return (struct uiLayout *) NULL;} struct uiLayout *uiLayoutBox(struct uiLayout *layout){return (struct uiLayout *) NULL;} struct uiLayout *uiLayoutSplit(struct uiLayout *layout, float percentage, int align){return (struct uiLayout *) NULL;} void uiItemsEnumR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname){} -void uiItemMenuEnumR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname){} -void uiItemEnumR_string(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, char *value){} -void uiItemPointerR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname){} +void uiItemMenuEnumR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, char *name, int icon){} +void uiItemEnumR_string(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, char *value, char *name, int icon){} +void uiItemPointerR(struct uiLayout *layout, struct PointerRNA *ptr, char *propname, struct PointerRNA *searchptr, char *searchpropname, char *name, int icon){} void uiItemsEnumO(struct uiLayout *layout, char *opname, char *propname){} void uiItemEnumO_string(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value_str){} -void uiItemMenuEnumO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname){} +void uiItemMenuEnumO(struct uiLayout *layout, char *opname, char *propname, char *name, int icon){} void uiItemBooleanO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value){} void uiItemIntO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, int value){} void uiItemFloatO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, float value){} void uiItemStringO(struct uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value){} void uiItemL(struct uiLayout *layout, char *name, int icon){} -void uiItemM(struct uiLayout *layout, struct bContext *C, char *name, int icon, char *menuname){} +void uiItemM(struct uiLayout *layout, struct bContext *C, char *menuname, char *name, int icon){} void uiItemS(struct uiLayout *layout){} void uiItemFullR(struct uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, int value, int flag){} void uiLayoutSetContextPointer(struct uiLayout *layout, char *name, struct PointerRNA *ptr){}