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)
This commit is contained in:
Brecht Van Lommel 2010-03-23 15:25:33 +00:00
parent d87e7393e3
commit cb6d2685bd
24 changed files with 123 additions and 126 deletions

@ -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):

@ -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);

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

@ -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);

@ -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);

@ -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);
}
}

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

@ -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);

@ -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);

@ -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;
}

@ -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);

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

@ -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);

@ -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;
}

@ -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);

@ -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);
}

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

@ -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;
}

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

@ -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);
}
}
}

@ -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,15 +83,19 @@ 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);
}
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)
{
PropertyRNA *parm;
@ -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");

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

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

@ -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){}