2.5: layout.itemO now returns OperatorProperties to be filled in,
when passing properties=True as argument. Other changes: * uiItemR, uiItemFullR, uiItemFullO now accept a flag argument rather than multiple different "boolean" arguments, but still exposed as booleans to python. * Fix RNA to support setting PROP_RNAPTR for return values.
This commit is contained in:
@@ -157,7 +157,13 @@ class VIEW3D_MT_select_POSE(bpy.types.Menu):
|
||||
|
||||
layout.itemS()
|
||||
|
||||
layout.view3d_select_posemenu()
|
||||
props = layout.itemO("pose.select_hierarchy", properties=True, text="Extend Parent")
|
||||
props.extend = True
|
||||
props.direction = 'PARENT'
|
||||
|
||||
props = layout.itemO("pose.select_hierarchy", properties=True, text="Extend Child")
|
||||
props.extend = True
|
||||
props.direction = 'CHILD'
|
||||
|
||||
class VIEW3D_MT_select_PARTICLE(bpy.types.Menu):
|
||||
__space_type__ = "VIEW_3D"
|
||||
@@ -327,12 +333,18 @@ class VIEW3D_MT_select_EDIT_ARMATURE(bpy.types.Menu):
|
||||
|
||||
layout.itemS()
|
||||
|
||||
layout.item_enumO("armature.select_hierarchy", "direction", 'PARENT')
|
||||
layout.item_enumO("armature.select_hierarchy", "direction", 'CHILD')
|
||||
layout.item_enumO("armature.select_hierarchy", "direction", 'PARENT', text="Parent")
|
||||
layout.item_enumO("armature.select_hierarchy", "direction", 'CHILD', text="Child")
|
||||
|
||||
layout.itemS()
|
||||
|
||||
layout.view3d_select_armaturemenu()
|
||||
props = layout.itemO("armature.select_hierarchy", properties=True, text="Extend Parent")
|
||||
props.extend = True
|
||||
props.direction = 'PARENT'
|
||||
|
||||
props = layout.itemO("armature.select_hierarchy", properties=True, text="Extend Child")
|
||||
props.extend = True
|
||||
props.direction = 'CHILD'
|
||||
|
||||
class VIEW3D_MT_select_FACE(bpy.types.Menu):# XXX no matching enum
|
||||
__space_type__ = "VIEW_3D"
|
||||
|
||||
@@ -258,14 +258,14 @@ static void draw_modifier__fn_generator(uiLayout *layout, ID *id, FModifier *fcm
|
||||
|
||||
/* add the settings */
|
||||
col= uiLayoutColumn(layout, 1);
|
||||
uiItemR(col, "", 0, &ptr, "type", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "additive", 0, 0, 1);
|
||||
uiItemR(col, "", 0, &ptr, "type", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "additive", UI_ITEM_R_TOGGLE);
|
||||
|
||||
col= uiLayoutColumn(layout, 0); // no grouping for now
|
||||
uiItemR(col, NULL, 0, &ptr, "amplitude", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "phase_multiplier", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "phase_offset", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "value_offset", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "amplitude", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "phase_multiplier", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "phase_offset", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "value_offset", 0);
|
||||
}
|
||||
|
||||
/* --------------- */
|
||||
@@ -287,14 +287,14 @@ static void draw_modifier__cycles(uiLayout *layout, ID *id, FModifier *fcm, shor
|
||||
/* before range */
|
||||
col= uiLayoutColumn(split, 1);
|
||||
uiItemL(col, "Before:", 0);
|
||||
uiItemR(col, "", 0, &ptr, "before_mode", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "before_cycles", 0, 0, 0);
|
||||
uiItemR(col, "", 0, &ptr, "before_mode", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "before_cycles", 0);
|
||||
|
||||
/* after range */
|
||||
col= uiLayoutColumn(split, 1);
|
||||
uiItemL(col, "After:", 0);
|
||||
uiItemR(col, "", 0, &ptr, "after_mode", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "after_cycles", 0, 0, 0);
|
||||
uiItemR(col, "", 0, &ptr, "after_mode", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "after_cycles", 0);
|
||||
}
|
||||
|
||||
/* --------------- */
|
||||
@@ -309,20 +309,20 @@ static void draw_modifier__noise(uiLayout *layout, ID *id, FModifier *fcm, short
|
||||
RNA_pointer_create(id, &RNA_FModifierNoise, fcm, &ptr);
|
||||
|
||||
/* blending mode */
|
||||
uiItemR(layout, NULL, 0, &ptr, "modification", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &ptr, "modification", 0);
|
||||
|
||||
/* split into 2 columns */
|
||||
split= uiLayoutSplit(layout, 0.5f);
|
||||
|
||||
/* col 1 */
|
||||
col= uiLayoutColumn(split, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "size", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "strength", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "size", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "strength", 0);
|
||||
|
||||
/* col 2 */
|
||||
col= uiLayoutColumn(split, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "phase", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "depth", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "phase", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "depth", 0);
|
||||
}
|
||||
|
||||
/* --------------- */
|
||||
@@ -503,11 +503,11 @@ static void draw_modifier__envelope(uiLayout *layout, ID *id, FModifier *fcm, sh
|
||||
/* general settings */
|
||||
col= uiLayoutColumn(layout, 1);
|
||||
uiItemL(col, "Envelope:", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "reference_value", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "reference_value", 0);
|
||||
|
||||
row= uiLayoutRow(col, 1);
|
||||
uiItemR(row, "Min", 0, &ptr, "default_minimum", 0, 0, 0);
|
||||
uiItemR(row, "Max", 0, &ptr, "default_maximum", 0, 0, 0);
|
||||
uiItemR(row, "Min", 0, &ptr, "default_minimum", 0);
|
||||
uiItemR(row, "Max", 0, &ptr, "default_maximum", 0);
|
||||
|
||||
/* control points header */
|
||||
// TODO: move this control-point control stuff to using the new special widgets for lists
|
||||
@@ -559,13 +559,13 @@ static void draw_modifier__limits(uiLayout *layout, ID *id, FModifier *fcm, shor
|
||||
|
||||
/* x-minimum */
|
||||
col= uiLayoutColumn(split, 1);
|
||||
uiItemR(col, NULL, 0, &ptr, "use_minimum_x", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "minimum_x", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "use_minimum_x", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "minimum_x", 0);
|
||||
|
||||
/* y-minimum*/
|
||||
col= uiLayoutColumn(split, 1);
|
||||
uiItemR(col, NULL, 0, &ptr, "use_minimum_y", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "minimum_y", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "use_minimum_y", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "minimum_y", 0);
|
||||
}
|
||||
|
||||
/* row 2: minimum */
|
||||
@@ -577,13 +577,13 @@ static void draw_modifier__limits(uiLayout *layout, ID *id, FModifier *fcm, shor
|
||||
|
||||
/* x-minimum */
|
||||
col= uiLayoutColumn(split, 1);
|
||||
uiItemR(col, NULL, 0, &ptr, "use_maximum_x", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "maximum_x", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "use_maximum_x", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "maximum_x", 0);
|
||||
|
||||
/* y-minimum*/
|
||||
col= uiLayoutColumn(split, 1);
|
||||
uiItemR(col, NULL, 0, &ptr, "use_maximum_y", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "maximum_y", 0, 0, 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "use_maximum_y", 0);
|
||||
uiItemR(col, NULL, 0, &ptr, "maximum_y", 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -585,16 +585,21 @@ void UI_exit(void);
|
||||
#define UI_LAYOUT_ALIGN_CENTER 2
|
||||
#define UI_LAYOUT_ALIGN_RIGHT 3
|
||||
|
||||
#define UI_ITEM_O_RETURN_PROPS 1
|
||||
#define UI_ITEM_R_EXPAND 2
|
||||
#define UI_ITEM_R_SLIDER 4
|
||||
#define UI_ITEM_R_TOGGLE 8
|
||||
|
||||
uiLayout *uiBlockLayout(uiBlock *block, int dir, int type, int x, int y, int size, int em, struct uiStyle *style);
|
||||
void uiBlockSetCurLayout(uiBlock *block, uiLayout *layout);
|
||||
void uiBlockLayoutResolve(const struct bContext *C, uiBlock *block, int *x, int *y);
|
||||
|
||||
uiBlock *uiLayoutGetBlock(uiLayout *layout);
|
||||
|
||||
void uiLayoutSetOperatorContext(uiLayout *layout, int opcontext);
|
||||
void uiLayoutSetFunc(uiLayout *layout, uiMenuHandleFunc handlefunc, void *argv);
|
||||
void uiLayoutSetContextPointer(uiLayout *layout, char *name, struct PointerRNA *ptr);
|
||||
|
||||
void uiLayoutSetOperatorContext(uiLayout *layout, int opcontext);
|
||||
void uiLayoutSetActive(uiLayout *layout, int active);
|
||||
void uiLayoutSetEnabled(uiLayout *layout, int enabled);
|
||||
void uiLayoutSetRedAlert(uiLayout *layout, int redalert);
|
||||
@@ -641,8 +646,6 @@ void uiTemplateRunningJobs(uiLayout *layout, struct bContext *C);
|
||||
void uiTemplateOperatorSearch(uiLayout *layout);
|
||||
void uiTemplateHeader3D(uiLayout *layout, struct bContext *C);
|
||||
void uiTemplate_view3d_select_metaballmenu(uiLayout *layout, struct bContext *C);
|
||||
void uiTemplate_view3d_select_armaturemenu(uiLayout *layout, struct bContext *C);
|
||||
void uiTemplate_view3d_select_posemenu(uiLayout *layout, struct bContext *C);
|
||||
void uiTemplate_view3d_select_faceselmenu(uiLayout *layout, struct bContext *C);
|
||||
void uiTemplateTextureImage(uiLayout *layout, struct bContext *C, struct Tex *tex);
|
||||
|
||||
@@ -664,10 +667,10 @@ void uiItemBooleanO(uiLayout *layout, char *name, int icon, char *opname, char *
|
||||
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);
|
||||
void uiItemFullO(uiLayout *layout, char *name, int icon, char *idname, struct IDProperty *properties, int context);
|
||||
PointerRNA uiItemFullO(uiLayout *layout, char *name, int icon, char *idname, struct IDProperty *properties, int context, int flag);
|
||||
|
||||
void uiItemR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, int expand, int slider, int toggle);
|
||||
void uiItemFullR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, int value, int expand, int slider, int toggle);
|
||||
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 uiItemsEnumR(uiLayout *layout, struct PointerRNA *ptr, char *propname);
|
||||
|
||||
@@ -535,7 +535,7 @@ static void ui_item_disabled(uiLayout *layout, char *name)
|
||||
}
|
||||
|
||||
/* operator items */
|
||||
void uiItemFullO(uiLayout *layout, char *name, int icon, char *idname, IDProperty *properties, int context)
|
||||
PointerRNA uiItemFullO(uiLayout *layout, char *name, int icon, char *idname, IDProperty *properties, int context, int flag)
|
||||
{
|
||||
uiBlock *block= layout->root->block;
|
||||
wmOperatorType *ot= WM_operatortype_find(idname, 0);
|
||||
@@ -544,7 +544,7 @@ void uiItemFullO(uiLayout *layout, char *name, int icon, char *idname, IDPropert
|
||||
|
||||
if(!ot) {
|
||||
ui_item_disabled(layout, idname);
|
||||
return;
|
||||
return PointerRNA_NULL;
|
||||
}
|
||||
|
||||
if(!name)
|
||||
@@ -565,10 +565,21 @@ void uiItemFullO(uiLayout *layout, char *name, int icon, char *idname, IDPropert
|
||||
but= uiDefButO(block, BUT, ot->idname, context, (char*)name, 0, 0, w, UI_UNIT_Y, NULL);
|
||||
|
||||
/* assign properties */
|
||||
if(properties) {
|
||||
if(properties || (flag & UI_ITEM_O_RETURN_PROPS)) {
|
||||
PointerRNA *opptr= uiButGetOperatorPtrRNA(but);
|
||||
opptr->data= properties;
|
||||
|
||||
if(properties) {
|
||||
opptr->data= properties;
|
||||
}
|
||||
else {
|
||||
IDPropertyTemplate val = {0};
|
||||
opptr->data= IDP_New(IDP_GROUP, val, "wmOperatorProperties");
|
||||
}
|
||||
|
||||
return *opptr;
|
||||
}
|
||||
|
||||
return PointerRNA_NULL;
|
||||
}
|
||||
|
||||
static char *ui_menu_enumpropname(uiLayout *layout, char *opname, char *propname, int retval)
|
||||
@@ -611,7 +622,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);
|
||||
uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0);
|
||||
}
|
||||
|
||||
void uiItemsEnumO(uiLayout *layout, char *opname, char *propname)
|
||||
@@ -699,7 +710,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);
|
||||
uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0);
|
||||
}
|
||||
|
||||
void uiItemBooleanO(uiLayout *layout, char *name, int icon, char *opname, char *propname, int value)
|
||||
@@ -709,7 +720,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);
|
||||
uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0);
|
||||
}
|
||||
|
||||
void uiItemIntO(uiLayout *layout, char *name, int icon, char *opname, char *propname, int value)
|
||||
@@ -719,7 +730,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);
|
||||
uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0);
|
||||
}
|
||||
|
||||
void uiItemFloatO(uiLayout *layout, char *name, int icon, char *opname, char *propname, float value)
|
||||
@@ -729,7 +740,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);
|
||||
uiItemFullO(layout, name, icon, opname, ptr.data, layout->root->opcontext, 0);
|
||||
}
|
||||
|
||||
void uiItemStringO(uiLayout *layout, char *name, int icon, char *opname, char *propname, char *value)
|
||||
@@ -739,12 +750,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);
|
||||
uiItemFullO(layout, name, icon, opname, 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);
|
||||
uiItemFullO(layout, name, icon, opname, NULL, layout->root->opcontext, 0);
|
||||
}
|
||||
|
||||
/* RNA property items */
|
||||
@@ -793,13 +804,13 @@ static void ui_item_rna_size(uiLayout *layout, char *name, int icon, PropertyRNA
|
||||
*r_h= h;
|
||||
}
|
||||
|
||||
void uiItemFullR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, PropertyRNA *prop, int index, int value, int expand, int slider, int toggle)
|
||||
void uiItemFullR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, PropertyRNA *prop, int index, int value, int flag)
|
||||
{
|
||||
uiBlock *block= layout->root->block;
|
||||
uiBut *but;
|
||||
PropertyType type;
|
||||
char namestr[UI_MAX_NAME_STR];
|
||||
int len, w, h;
|
||||
int len, w, h, slider, toggle, expand;
|
||||
|
||||
if(!ptr->data || !prop)
|
||||
return;
|
||||
@@ -830,6 +841,10 @@ void uiItemFullR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, Proper
|
||||
icon= (RNA_property_enum_get(ptr, prop) == value)? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
|
||||
}
|
||||
|
||||
slider= (flag & UI_ITEM_R_SLIDER);
|
||||
toggle= (flag & UI_ITEM_R_TOGGLE);
|
||||
expand= (flag & UI_ITEM_R_EXPAND);
|
||||
|
||||
/* get size */
|
||||
ui_item_rna_size(layout, name, icon, prop, index, &w, &h);
|
||||
|
||||
@@ -867,7 +882,7 @@ void uiItemFullR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, Proper
|
||||
}
|
||||
}
|
||||
|
||||
void uiItemR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, char *propname, int expand, int slider, int toggle)
|
||||
void uiItemR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, char *propname, int flag)
|
||||
{
|
||||
PropertyRNA *prop;
|
||||
|
||||
@@ -882,7 +897,7 @@ void uiItemR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, char *prop
|
||||
return;
|
||||
}
|
||||
|
||||
uiItemFullR(layout, name, icon, ptr, prop, RNA_NO_INDEX, 0, expand, slider, toggle);
|
||||
uiItemFullR(layout, name, icon, ptr, prop, RNA_NO_INDEX, 0, flag);
|
||||
}
|
||||
|
||||
void uiItemEnumR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr, char *propname, int value)
|
||||
@@ -900,7 +915,7 @@ void uiItemEnumR(uiLayout *layout, char *name, int icon, struct PointerRNA *ptr,
|
||||
return;
|
||||
}
|
||||
|
||||
uiItemFullR(layout, name, icon, ptr, prop, RNA_ENUM_VALUE, value, 0, 0, 0);
|
||||
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)
|
||||
@@ -931,7 +946,7 @@ void uiItemEnumR_string(uiLayout *layout, char *name, int icon, struct PointerRN
|
||||
|
||||
for(a=0; item[a].identifier; a++) {
|
||||
if(item[a].value == ivalue) {
|
||||
uiItemFullR(layout, (char*)item[a].name, item[a].icon, ptr, prop, RNA_ENUM_VALUE, ivalue, 0, 0, 0);
|
||||
uiItemFullR(layout, (char*)item[a].name, item[a].icon, ptr, prop, RNA_ENUM_VALUE, ivalue, 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -428,15 +428,15 @@ static uiLayout *draw_modifier(uiLayout *layout, Object *ob, ModifierData *md, i
|
||||
else {
|
||||
/* real modifier */
|
||||
uiBlockBeginAlign(block);
|
||||
uiItemR(row, "", 0, &ptr, "name", 0, 0, 0);
|
||||
uiItemR(row, "", 0, &ptr, "name", 0);
|
||||
|
||||
/* Softbody not allowed in this situation, enforce! */
|
||||
if(((md->type!=eModifierType_Softbody && md->type!=eModifierType_Collision) || !(ob->pd && ob->pd->deflect)) && (md->type!=eModifierType_Surface)) {
|
||||
uiItemR(row, "", ICON_SCENE, &ptr, "render", 0, 0, 0);
|
||||
uiItemR(row, "", ICON_RESTRICT_VIEW_OFF, &ptr, "realtime", 0, 0, 0);
|
||||
uiItemR(row, "", ICON_SCENE, &ptr, "render", 0);
|
||||
uiItemR(row, "", ICON_RESTRICT_VIEW_OFF, &ptr, "realtime", 0);
|
||||
|
||||
if(mti->flags & eModifierTypeFlag_SupportsEditmode)
|
||||
uiItemR(row, "", ICON_EDITMODE_HLT, &ptr, "editmode", 0, 0, 0);
|
||||
uiItemR(row, "", ICON_EDITMODE_HLT, &ptr, "editmode", 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1224,9 +1224,9 @@ void uiTemplateTriColorSet(uiLayout *layout, PointerRNA *ptr, char *propname)
|
||||
/* nselected, selected, active color swatches */
|
||||
csPtr= RNA_property_pointer_get(ptr, prop);
|
||||
|
||||
uiItemR(row, "", 0, &csPtr, "normal", 0, 0, 0);
|
||||
uiItemR(row, "", 0, &csPtr, "selected", 0, 0, 0);
|
||||
uiItemR(row, "", 0, &csPtr, "active", 0, 0, 0);
|
||||
uiItemR(row, "", 0, &csPtr, "normal", 0);
|
||||
uiItemR(row, "", 0, &csPtr, "selected", 0);
|
||||
uiItemR(row, "", 0, &csPtr, "active", 0);
|
||||
}
|
||||
|
||||
/********************* Layer Buttons Template ************************/
|
||||
@@ -1278,7 +1278,7 @@ void uiTemplateLayers(uiLayout *layout, PointerRNA *ptr, char *propname)
|
||||
/* add layers as toggle buts */
|
||||
for (col= 0; (col < cols) && (layer < layers); col++, layer++) {
|
||||
int icon=0; // XXX - add some way of setting this...
|
||||
uiItemFullR(uRow, "", icon, ptr, prop, layer, 0, 0, 0, 1);
|
||||
uiItemFullR(uRow, "", icon, ptr, prop, layer, 0, UI_ITEM_R_TOGGLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -175,7 +175,7 @@ void uiDefAutoButsRNA(const bContext *C, uiLayout *layout, PointerRNA *ptr, int
|
||||
if(strcmp(name, "Axis")==0) {
|
||||
uiDefButR(uiLayoutGetBlock(col), BUT_NORMAL, 0, name, 0, 0, 100, 100, ptr, "axis", -1, 0, 0, -1, -1, NULL);
|
||||
}
|
||||
else uiItemFullR(col, "", 0, ptr, prop, -1, 0, 0, 0, 0);
|
||||
else uiItemFullR(col, "", 0, ptr, prop, -1, 0, 0);
|
||||
}
|
||||
RNA_STRUCT_END;
|
||||
}
|
||||
|
||||
@@ -2759,13 +2759,10 @@ static void proxy_group_objects_menu (bContext *C, wmOperator *op, Object *ob, G
|
||||
if (go->ob) {
|
||||
PointerRNA props_ptr;
|
||||
|
||||
/* create operator properties, and assign the relevant pointers to that,
|
||||
* and add a menu entry which uses these props
|
||||
*/
|
||||
WM_operator_properties_create(&props_ptr, op->idname);
|
||||
RNA_string_set(&props_ptr, "object", go->ob->id.name+2);
|
||||
RNA_string_set(&props_ptr, "group_object", go->ob->id.name+2);
|
||||
uiItemFullO(layout, go->ob->id.name+2, 0, op->idname, props_ptr.data, WM_OP_EXEC_REGION_WIN);
|
||||
/* create operator menu item with relevant properties filled in */
|
||||
props_ptr= uiItemFullO(layout, go->ob->id.name+2, 0, op->idname, NULL, WM_OP_EXEC_REGION_WIN, UI_ITEM_O_RETURN_PROPS);
|
||||
RNA_string_set(&props_ptr, "object", go->ob->id.name+2);
|
||||
RNA_string_set(&props_ptr, "group_object", go->ob->id.name+2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2793,12 +2790,9 @@ static int make_proxy_invoke (bContext *C, wmOperator *op, wmEvent *evt)
|
||||
uiLayout *layout= uiPupMenuLayout(pup);
|
||||
PointerRNA props_ptr;
|
||||
|
||||
/* create operator properties, and assign the relevant pointers to that,
|
||||
* and add a menu entry which uses these props
|
||||
*/
|
||||
WM_operator_properties_create(&props_ptr, op->idname);
|
||||
RNA_string_set(&props_ptr, "object", ob->id.name+2);
|
||||
uiItemFullO(layout, op->type->name, 0, op->idname, props_ptr.data, WM_OP_EXEC_REGION_WIN);
|
||||
/* create operator menu item with relevant properties filled in */
|
||||
props_ptr= uiItemFullO(layout, op->type->name, 0, op->idname, props_ptr.data, WM_OP_EXEC_REGION_WIN, UI_ITEM_O_RETURN_PROPS);
|
||||
RNA_string_set(&props_ptr, "object", ob->id.name+2);
|
||||
|
||||
/* present the menu and be done... */
|
||||
uiPupMenuEnd(C, pup);
|
||||
|
||||
@@ -88,9 +88,9 @@ static void act_viewmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
||||
|
||||
//uiItemS(layout);
|
||||
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_cframe_indicator", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_sliders", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "automerge_keyframes", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_cframe_indicator", 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_sliders", 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "automerge_keyframes", 0);
|
||||
|
||||
if (sact->flag & SACTION_DRAWTIME)
|
||||
uiItemO(layout, "Show Frames", 0, "ANIM_OT_time_toggle");
|
||||
|
||||
@@ -184,7 +184,7 @@ static void file_panel_operator(const bContext *C, Panel *pa)
|
||||
if(strncmp(RNA_property_identifier(prop), "filter", 6) == 0)
|
||||
continue;
|
||||
|
||||
uiItemFullR(pa->layout, NULL, 0, op->ptr, prop, -1, 0, 0, 0, 0);
|
||||
uiItemFullR(pa->layout, NULL, 0, op->ptr, prop, -1, 0, 0);
|
||||
empty= 0;
|
||||
}
|
||||
RNA_STRUCT_END;
|
||||
|
||||
@@ -80,15 +80,15 @@ static void graph_viewmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
||||
|
||||
uiItemS(layout);
|
||||
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_cframe_indicator", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_cframe_indicator", 0);
|
||||
|
||||
if (sipo->flag & SIPO_NOHANDLES)
|
||||
uiItemO(layout, "Show Handles", ICON_CHECKBOX_DEHLT, "GRAPH_OT_handles_view_toggle");
|
||||
else
|
||||
uiItemO(layout, "Show Handles", ICON_CHECKBOX_HLT, "GRAPH_OT_handles_view_toggle");
|
||||
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "only_selected_curves_handles", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "automerge_keyframes", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "only_selected_curves_handles", 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "automerge_keyframes", 0);
|
||||
|
||||
if (sipo->flag & SIPO_DRAWTIME)
|
||||
uiItemO(layout, "Show Frames", 0, "ANIM_OT_time_toggle");
|
||||
|
||||
@@ -210,19 +210,19 @@ static void nla_panel_animdata (const bContext *C, Panel *pa)
|
||||
/* Active Action Properties ------------------------------------- */
|
||||
/* action */
|
||||
row= uiLayoutRow(layout, 1);
|
||||
uiItemR(row, NULL, 0, &adt_ptr, "action", 0, 0, 0);
|
||||
uiItemR(row, NULL, 0, &adt_ptr, "action", 0);
|
||||
|
||||
/* extrapolation */
|
||||
row= uiLayoutRow(layout, 1);
|
||||
uiItemR(row, NULL, 0, &adt_ptr, "action_extrapolation", 0, 0, 0);
|
||||
uiItemR(row, NULL, 0, &adt_ptr, "action_extrapolation", 0);
|
||||
|
||||
/* blending */
|
||||
row= uiLayoutRow(layout, 1);
|
||||
uiItemR(row, NULL, 0, &adt_ptr, "action_blending", 0, 0, 0);
|
||||
uiItemR(row, NULL, 0, &adt_ptr, "action_blending", 0);
|
||||
|
||||
/* influence */
|
||||
row= uiLayoutRow(layout, 1);
|
||||
uiItemR(row, NULL, 0, &adt_ptr, "action_influence", 0, 0, 0);
|
||||
uiItemR(row, NULL, 0, &adt_ptr, "action_influence", 0);
|
||||
}
|
||||
|
||||
/* active NLA-Track */
|
||||
@@ -242,7 +242,7 @@ static void nla_panel_track (const bContext *C, Panel *pa)
|
||||
|
||||
/* Info - Active NLA-Context:Track ---------------------- */
|
||||
row= uiLayoutRow(layout, 1);
|
||||
uiItemR(row, NULL, ICON_NLA, &nlt_ptr, "name", 0, 0, 0);
|
||||
uiItemR(row, NULL, ICON_NLA, &nlt_ptr, "name", 0);
|
||||
}
|
||||
|
||||
/* generic settings for active NLA-Strip */
|
||||
@@ -262,41 +262,41 @@ static void nla_panel_properties(const bContext *C, Panel *pa)
|
||||
/* Strip Properties ------------------------------------- */
|
||||
/* strip type */
|
||||
row= uiLayoutColumn(layout, 1);
|
||||
uiItemR(row, NULL, ICON_NLA, &strip_ptr, "name", 0, 0, 0); // XXX icon?
|
||||
uiItemR(row, NULL, 0, &strip_ptr, "type", 0, 0, 0);
|
||||
uiItemR(row, NULL, ICON_NLA, &strip_ptr, "name", 0); // XXX icon?
|
||||
uiItemR(row, NULL, 0, &strip_ptr, "type", 0);
|
||||
|
||||
/* strip extents */
|
||||
column= uiLayoutColumn(layout, 1);
|
||||
uiItemL(column, "Strip Extents:", 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "start_frame", 0, 0, 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "end_frame", 0, 0, 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "start_frame", 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "end_frame", 0);
|
||||
|
||||
/* extrapolation */
|
||||
row= uiLayoutRow(layout, 1);
|
||||
uiItemR(row, NULL, 0, &strip_ptr, "extrapolation", 0, 0, 0);
|
||||
uiItemR(row, NULL, 0, &strip_ptr, "extrapolation", 0);
|
||||
|
||||
/* blending */
|
||||
row= uiLayoutRow(layout, 1);
|
||||
uiItemR(row, NULL, 0, &strip_ptr, "blending", 0, 0, 0);
|
||||
uiItemR(row, NULL, 0, &strip_ptr, "blending", 0);
|
||||
|
||||
/* blend in/out + autoblending
|
||||
* - blend in/out can only be set when autoblending is off
|
||||
*/
|
||||
column= uiLayoutColumn(layout, 1);
|
||||
uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "animated_influence")==0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "auto_blending", 0, 0, 0); // XXX as toggle?
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "auto_blending", 0); // XXX as toggle?
|
||||
|
||||
subcol= uiLayoutColumn(column, 1);
|
||||
uiLayoutSetActive(subcol, RNA_boolean_get(&strip_ptr, "auto_blending")==0);
|
||||
uiItemR(subcol, NULL, 0, &strip_ptr, "blend_in", 0, 0, 0);
|
||||
uiItemR(subcol, NULL, 0, &strip_ptr, "blend_out", 0, 0, 0);
|
||||
uiItemR(subcol, NULL, 0, &strip_ptr, "blend_in", 0);
|
||||
uiItemR(subcol, NULL, 0, &strip_ptr, "blend_out", 0);
|
||||
|
||||
/* settings */
|
||||
column= uiLayoutColumn(layout, 1);
|
||||
uiLayoutSetActive(column, !(RNA_boolean_get(&strip_ptr, "animated_influence") || RNA_boolean_get(&strip_ptr, "animated_time")));
|
||||
uiItemL(column, "Playback Settings:", 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "muted", 0, 0, 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "reversed", 0, 0, 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "muted", 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "reversed", 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -318,21 +318,21 @@ static void nla_panel_actclip(const bContext *C, Panel *pa)
|
||||
/* Strip Properties ------------------------------------- */
|
||||
/* action pointer */
|
||||
row= uiLayoutRow(layout, 1);
|
||||
uiItemR(row, NULL, ICON_ACTION, &strip_ptr, "action", 0, 0, 0);
|
||||
uiItemR(row, NULL, ICON_ACTION, &strip_ptr, "action", 0);
|
||||
|
||||
/* action extents */
|
||||
// XXX custom names were used here (to avoid the prefixes)... probably not necessary in future?
|
||||
column= uiLayoutColumn(layout, 1);
|
||||
uiItemL(column, "Action Extents:", 0);
|
||||
uiItemR(column, "Start Frame", 0, &strip_ptr, "action_start_frame", 0, 0, 0);
|
||||
uiItemR(column, "End Frame", 0, &strip_ptr, "action_end_frame", 0, 0, 0);
|
||||
uiItemR(column, "Start Frame", 0, &strip_ptr, "action_start_frame", 0);
|
||||
uiItemR(column, "End Frame", 0, &strip_ptr, "action_end_frame", 0);
|
||||
|
||||
/* action usage */
|
||||
column= uiLayoutColumn(layout, 1);
|
||||
uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "animated_time")==0);
|
||||
uiItemL(column, "Playback Settings:", 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "scale", 0, 0, 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "repeat", 0, 0, 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "scale", 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "repeat", 0);
|
||||
}
|
||||
|
||||
/* evaluation settings for active NLA-Strip */
|
||||
@@ -351,19 +351,19 @@ static void nla_panel_evaluation(const bContext *C, Panel *pa)
|
||||
uiBlockSetHandleFunc(block, do_nla_region_buttons, NULL);
|
||||
|
||||
column= uiLayoutColumn(layout, 1);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "animated_influence", 0, 0, 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "animated_influence", 0);
|
||||
|
||||
subcolumn= uiLayoutColumn(column, 1);
|
||||
uiLayoutSetEnabled(subcolumn, RNA_boolean_get(&strip_ptr, "animated_influence"));
|
||||
uiItemR(subcolumn, NULL, 0, &strip_ptr, "influence", 0, 0, 0);
|
||||
uiItemR(subcolumn, NULL, 0, &strip_ptr, "influence", 0);
|
||||
|
||||
|
||||
column= uiLayoutColumn(layout, 1);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "animated_time", 0, 0, 0);
|
||||
uiItemR(column, NULL, 0, &strip_ptr, "animated_time", 0);
|
||||
|
||||
subcolumn= uiLayoutColumn(column, 1);
|
||||
uiLayoutSetEnabled(subcolumn, RNA_boolean_get(&strip_ptr, "animated_time"));
|
||||
uiItemR(subcolumn, NULL, 0, &strip_ptr, "strip_time", 0, 0, 0);
|
||||
uiItemR(subcolumn, NULL, 0, &strip_ptr, "strip_time", 0);
|
||||
}
|
||||
|
||||
/* F-Modifiers for active NLA-Strip */
|
||||
|
||||
@@ -94,14 +94,14 @@ static void nla_viewmenu(bContext *C, uiLayout *layout, void *arg_unused)
|
||||
|
||||
uiItemS(layout);
|
||||
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_cframe_indicator", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_cframe_indicator", 0);
|
||||
|
||||
if (snla->flag & SNLA_DRAWTIME)
|
||||
uiItemO(layout, "Show Frames", 0, "ANIM_OT_time_toggle");
|
||||
else
|
||||
uiItemO(layout, "Show Seconds", 0, "ANIM_OT_time_toggle");
|
||||
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_strip_curves", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &spaceptr, "show_strip_curves", 0);
|
||||
|
||||
uiItemS(layout);
|
||||
|
||||
|
||||
@@ -949,65 +949,6 @@ void uiTemplate_view3d_select_metaballmenu(uiLayout *layout, bContext *C)
|
||||
view3d_select_metaballmenu(C, layout, arg_unused);
|
||||
}
|
||||
|
||||
static void view3d_select_armaturemenu(bContext *C, uiLayout *layout, void *arg_unused)
|
||||
{
|
||||
PointerRNA ptr;
|
||||
|
||||
/* this part of the menu has been moved to python */
|
||||
/*uiItemO(layout, NULL, 0, "VIEW3D_OT_select_border");
|
||||
|
||||
uiItemS(layout);
|
||||
|
||||
uiItemO(layout, "Select/Deselect All", 0, "ARMATURE_OT_select_all_toggle");
|
||||
uiItemO(layout, "Inverse", 0, "ARMATURE_OT_select_inverse");
|
||||
|
||||
uiItemS(layout);
|
||||
|
||||
uiItemEnumO(layout, "Parent", 0, "ARMATURE_OT_select_hierarchy", "direction", BONE_SELECT_PARENT);
|
||||
uiItemEnumO(layout, "Child", 0, "ARMATURE_OT_select_hierarchy", "direction", BONE_SELECT_CHILD);
|
||||
|
||||
uiItemS(layout);*/
|
||||
|
||||
WM_operator_properties_create(&ptr, "ARMATURE_OT_select_hierarchy");
|
||||
RNA_boolean_set(&ptr, "extend", 1);
|
||||
RNA_enum_set(&ptr, "direction", BONE_SELECT_PARENT);
|
||||
uiItemFullO(layout, "Extend Parent", 0, "ARMATURE_OT_select_hierarchy", ptr.data, WM_OP_EXEC_REGION_WIN);
|
||||
|
||||
WM_operator_properties_create(&ptr, "ARMATURE_OT_select_hierarchy");
|
||||
RNA_boolean_set(&ptr, "extend", 1);
|
||||
RNA_enum_set(&ptr, "direction", BONE_SELECT_CHILD);
|
||||
uiItemFullO(layout, "Extend Child", 0, "ARMATURE_OT_select_hierarchy", ptr.data, WM_OP_EXEC_REGION_WIN);
|
||||
}
|
||||
|
||||
/* wrapper for python layouts */
|
||||
void uiTemplate_view3d_select_armaturemenu(uiLayout *layout, bContext *C)
|
||||
{
|
||||
void *arg_unused = NULL;
|
||||
view3d_select_armaturemenu(C, layout, arg_unused);
|
||||
}
|
||||
|
||||
static void view3d_select_posemenu(bContext *C, uiLayout *layout, void *arg_unused)
|
||||
{
|
||||
PointerRNA ptr;
|
||||
|
||||
WM_operator_properties_create(&ptr, "POSE_OT_select_hierarchy");
|
||||
RNA_boolean_set(&ptr, "extend", 1);
|
||||
RNA_enum_set(&ptr, "direction", BONE_SELECT_PARENT);
|
||||
uiItemFullO(layout, "Extend Parent", 0, "POSE_OT_select_hierarchy", ptr.data, WM_OP_EXEC_REGION_WIN);
|
||||
|
||||
WM_operator_properties_create(&ptr, "POSE_OT_select_hierarchy");
|
||||
RNA_boolean_set(&ptr, "extend", 1);
|
||||
RNA_enum_set(&ptr, "direction", BONE_SELECT_CHILD);
|
||||
uiItemFullO(layout, "Extend Child", 0, "POSE_OT_select_hierarchy", ptr.data, WM_OP_EXEC_REGION_WIN);
|
||||
}
|
||||
|
||||
/* wrapper for python layouts */
|
||||
void uiTemplate_view3d_select_posemenu(uiLayout *layout, bContext *C)
|
||||
{
|
||||
void *arg_unused = NULL;
|
||||
view3d_select_posemenu(C, layout, arg_unused);
|
||||
}
|
||||
|
||||
void do_view3d_select_faceselmenu(bContext *C, void *arg, int event)
|
||||
{
|
||||
#if 0
|
||||
@@ -2120,8 +2061,8 @@ static void view3d_edit_meshmenu(bContext *C, uiLayout *layout, void *arg_unused
|
||||
|
||||
uiItemS(layout);
|
||||
|
||||
uiItemR(layout, NULL, 0, &tsptr, "automerge_editing", 0, 0, 0);
|
||||
uiItemR(layout, NULL, 0, &tsptr, "proportional_editing", 0, 0, 0); // |O
|
||||
uiItemR(layout, NULL, 0, &tsptr, "automerge_editing", 0);
|
||||
uiItemR(layout, NULL, 0, &tsptr, "proportional_editing", 0); // |O
|
||||
uiItemMenuEnumR(layout, NULL, 0, &tsptr, "proportional_editing_falloff"); // |Shift O
|
||||
|
||||
uiItemS(layout);
|
||||
@@ -2204,7 +2145,7 @@ static void view3d_edit_curvemenu(bContext *C, uiLayout *layout, void *arg_unuse
|
||||
|
||||
uiItemS(layout);
|
||||
|
||||
uiItemR(layout, NULL, 0, &tsptr, "proportional_editing", 0, 0, 0); // |O
|
||||
uiItemR(layout, NULL, 0, &tsptr, "proportional_editing", 0); // |O
|
||||
uiItemMenuEnumR(layout, NULL, 0, &tsptr, "proportional_editing_falloff"); // |Shift O
|
||||
|
||||
uiItemS(layout);
|
||||
@@ -2245,7 +2186,7 @@ static void view3d_edit_latticemenu(bContext *C, uiLayout *layout, void *arg_unu
|
||||
|
||||
uiItemS(layout);
|
||||
|
||||
uiItemR(layout, NULL, 0, &tsptr, "proportional_editing", 0, 0, 0); // |O
|
||||
uiItemR(layout, NULL, 0, &tsptr, "proportional_editing", 0); // |O
|
||||
uiItemMenuEnumR(layout, NULL, 0, &tsptr, "proportional_editing_falloff"); // |Shift O
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -270,7 +270,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);
|
||||
uiItemFullO(col, NULL, 0, ct->opname, NULL, WM_OP_INVOKE_REGION_WIN, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1198,7 +1198,13 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
|
||||
|
||||
dparm= dfunc->cont.properties.first;
|
||||
for(; dparm; dparm= dparm->next) {
|
||||
ptrstr= (dparm->prop->type == PROP_POINTER || dparm->prop->arraylength > 0)? "*" : "";
|
||||
if(dparm->prop->arraylength > 0)
|
||||
ptrstr= "*";
|
||||
else if(dparm->prop==func->ret)
|
||||
ptrstr= ((dparm->prop->type == PROP_POINTER) && !(dparm->prop->flag & PROP_RNAPTR))? "*": "";
|
||||
else
|
||||
ptrstr= (dparm->prop->type == PROP_POINTER)? "*": "";
|
||||
|
||||
fprintf(f, "\t%s%s %s%s;\n", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop), ptrstr, dparm->prop->identifier);
|
||||
}
|
||||
|
||||
@@ -1274,7 +1280,7 @@ static void rna_def_function_funcs(FILE *f, StructDefRNA *dsrna, FunctionDefRNA
|
||||
|
||||
if(func->ret) {
|
||||
dparm= rna_find_parameter_def(func->ret);
|
||||
ptrstr= dparm->prop->type == PROP_POINTER || dparm->prop->arraylength > 0 ? "*" : "";
|
||||
ptrstr= (((dparm->prop->type == PROP_POINTER) && !(dparm->prop->flag & PROP_RNAPTR)) || (dparm->prop->arraylength > 0))? "*": "";
|
||||
fprintf(f, "\t*((%s%s%s*)_retdata)= %s;\n", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop), ptrstr, func->ret->identifier);
|
||||
}
|
||||
}
|
||||
@@ -1516,7 +1522,7 @@ static void rna_generate_static_parameter_prototypes(BlenderRNA *brna, StructRNA
|
||||
if(dparm->prop==func->ret) {
|
||||
if(dparm->prop->arraylength)
|
||||
fprintf(f, "XXX no array return types yet"); /* XXX not supported */
|
||||
else if(dparm->prop->type == PROP_POINTER)
|
||||
else if(dparm->prop->type == PROP_POINTER && !(dparm->prop->flag & PROP_RNAPTR))
|
||||
fprintf(f, "%s%s *", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop));
|
||||
else
|
||||
fprintf(f, "%s%s ", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop));
|
||||
|
||||
@@ -37,6 +37,23 @@
|
||||
|
||||
#ifdef RNA_RUNTIME
|
||||
|
||||
static void rna_uiItemR(uiLayout *layout, char *name, int icon, PointerRNA *ptr, char *propname, int expand, int slider, int toggle)
|
||||
{
|
||||
int flag= 0;
|
||||
|
||||
flag |= (slider)? UI_ITEM_R_SLIDER: 0;
|
||||
flag |= (expand)? UI_ITEM_R_EXPAND: 0;
|
||||
flag |= (toggle)? UI_ITEM_R_TOGGLE: 0;
|
||||
|
||||
uiItemR(layout, name, icon, ptr, propname, flag);
|
||||
}
|
||||
|
||||
static PointerRNA rna_uiItemO(uiLayout *layout, char *name, int icon, char *opname, int properties)
|
||||
{
|
||||
int flag= (properties)? UI_ITEM_O_RETURN_PROPS: 0;
|
||||
return uiItemFullO(layout, name, icon, opname, NULL, uiLayoutGetOperatorContext(layout), flag);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#define DEF_ICON(name) {name, #name, 0, #name, ""},
|
||||
@@ -122,7 +139,7 @@ void RNA_api_ui_layout(StructRNA *srna)
|
||||
RNA_def_float(func, "percentage", 0.0f, 0.0f, 1.0f, "Percentage", "Percentage of width to split at.", 0.0f, 1.0f);
|
||||
|
||||
/* items */
|
||||
func= RNA_def_function(srna, "itemR", "uiItemR");
|
||||
func= RNA_def_function(srna, "itemR", "rna_uiItemR");
|
||||
api_ui_item_common(func);
|
||||
api_ui_item_rna_common(func);
|
||||
RNA_def_boolean(func, "expand", 0, "", "Expand button to show more detail.");
|
||||
@@ -150,8 +167,12 @@ void RNA_api_ui_layout(StructRNA *srna)
|
||||
parm= RNA_def_string(func, "search_property", "", 0, "", "Identifier of search collection property.");
|
||||
RNA_def_property_flag(parm, PROP_REQUIRED);
|
||||
|
||||
func= RNA_def_function(srna, "itemO", "uiItemO");
|
||||
func= RNA_def_function(srna, "itemO", "rna_uiItemO");
|
||||
api_ui_item_op_common(func);
|
||||
parm= RNA_def_boolean(func, "properties", 0, "Properties", "Return operator properties to fill in manually.");
|
||||
parm= RNA_def_pointer(func, "return_properties", "OperatorProperties", "", "Operator properties to fill in, return when 'properties' is set to true.");
|
||||
RNA_def_property_flag(parm, PROP_REQUIRED|PROP_RNAPTR);
|
||||
RNA_def_function_return(func, parm);
|
||||
|
||||
func= RNA_def_function(srna, "item_enumO", "uiItemEnumO_string");
|
||||
api_ui_item_op_common(func);
|
||||
@@ -292,10 +313,6 @@ void RNA_api_ui_layout(StructRNA *srna)
|
||||
|
||||
func= RNA_def_function(srna, "view3d_select_metaballmenu", "uiTemplate_view3d_select_metaballmenu");
|
||||
RNA_def_function_flag(func, FUNC_USE_CONTEXT);
|
||||
func= RNA_def_function(srna, "view3d_select_armaturemenu", "uiTemplate_view3d_select_armaturemenu");
|
||||
RNA_def_function_flag(func, FUNC_USE_CONTEXT);
|
||||
func= RNA_def_function(srna, "view3d_select_posemenu", "uiTemplate_view3d_select_posemenu");
|
||||
RNA_def_function_flag(func, FUNC_USE_CONTEXT);
|
||||
func= RNA_def_function(srna, "view3d_select_faceselmenu", "uiTemplate_view3d_select_faceselmenu");
|
||||
RNA_def_function_flag(func, FUNC_USE_CONTEXT);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user