UI: Expose force_menu
in Python API #119029
|
@ -165,7 +165,7 @@ void draw_menu_for_catalog(const bScreen &owner_screen,
|
|||
|
||||
uiLayout *col = uiLayoutColumn(&layout, false);
|
||||
uiLayoutSetContextPointer(col, "asset_catalog_path", &path_ptr);
|
||||
uiItemM(col, menu_name.c_str(), IFACE_(item.get_name().c_str()), ICON_NONE);
|
||||
uiItemM(col, menu_name.c_str(), IFACE_(item.get_name().c_str()), ICON_NONE, false);
|
||||
}
|
||||
|
||||
} // namespace blender::ed::asset
|
||||
|
|
|
@ -1106,7 +1106,7 @@ void ui_template_node_operator_asset_root_items(uiLayout &layout, const bContext
|
|||
});
|
||||
|
||||
if (!tree->unassigned_assets.is_empty() || unassigned_local_poll(C)) {
|
||||
uiItemM(&layout, "GEO_MT_node_operator_unassigned", "", ICON_FILE_HIDDEN);
|
||||
uiItemM(&layout, "GEO_MT_node_operator_unassigned", "", ICON_FILE_HIDDEN, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2896,8 +2896,8 @@ void uiItemLDrag(uiLayout *layout, PointerRNA *ptr, const char *name, int icon);
|
|||
/**
|
||||
* Menu.
|
||||
*/
|
||||
void uiItemM_ptr(uiLayout *layout, MenuType *mt, const char *name, int icon);
|
||||
void uiItemM(uiLayout *layout, const char *menuname, const char *name, int icon);
|
||||
void uiItemM_ptr(uiLayout *layout, MenuType *mt, const char *name, int icon, bool force_menu);
|
||||
void uiItemM(uiLayout *layout, const char *menuname, const char *name, int icon, bool force_menu);
|
||||
/**
|
||||
* Menu contents.
|
||||
*/
|
||||
|
|
|
@ -1058,7 +1058,7 @@ bool ui_popup_context_menu_for_button(bContext *C, uiBut *but, const wmEvent *ev
|
|||
|
||||
MenuType *mt_idtemplate_liboverride = WM_menutype_find("UI_MT_idtemplate_liboverride", true);
|
||||
if (mt_idtemplate_liboverride && mt_idtemplate_liboverride->poll(C, mt_idtemplate_liboverride)) {
|
||||
uiItemM_ptr(layout, mt_idtemplate_liboverride, IFACE_("Library Override"), ICON_NONE);
|
||||
uiItemM_ptr(layout, mt_idtemplate_liboverride, IFACE_("Library Override"), ICON_NONE, false);
|
||||
uiItemS(layout);
|
||||
}
|
||||
|
||||
|
|
|
@ -3046,7 +3046,7 @@ static uiBut *ui_item_menu(uiLayout *layout,
|
|||
return but;
|
||||
}
|
||||
|
||||
void uiItemM_ptr(uiLayout *layout, MenuType *mt, const char *name, int icon)
|
||||
void uiItemM_ptr(uiLayout *layout, MenuType *mt, const char *name, int icon, bool force_menu)
|
||||
{
|
||||
uiBlock *block = layout->root->block;
|
||||
bContext *C = static_cast<bContext *>(block->evil_C);
|
||||
|
@ -3069,17 +3069,17 @@ void uiItemM_ptr(uiLayout *layout, MenuType *mt, const char *name, int icon)
|
|||
mt,
|
||||
nullptr,
|
||||
mt->description ? TIP_(mt->description) : "",
|
||||
false);
|
||||
force_menu);
|
||||
}
|
||||
|
||||
void uiItemM(uiLayout *layout, const char *menuname, const char *name, int icon)
|
||||
void uiItemM(uiLayout *layout, const char *menuname, const char *name, int icon, bool force_menu)
|
||||
{
|
||||
MenuType *mt = WM_menutype_find(menuname, false);
|
||||
if (mt == nullptr) {
|
||||
RNA_warning("not found %s", menuname);
|
||||
return;
|
||||
}
|
||||
uiItemM_ptr(layout, mt, name, icon);
|
||||
uiItemM_ptr(layout, mt, name, icon, force_menu);
|
||||
}
|
||||
|
||||
void uiItemMContents(uiLayout *layout, const char *menuname)
|
||||
|
|
|
@ -2721,7 +2721,7 @@ static eAutoPropButsReturn template_operator_property_buts_draw_single(
|
|||
block->ui_operator = op;
|
||||
|
||||
row = uiLayoutRow(layout, true);
|
||||
uiItemM(row, "WM_MT_operator_presets", nullptr, ICON_NONE);
|
||||
uiItemM(row, "WM_MT_operator_presets", nullptr, ICON_NONE, false);
|
||||
|
||||
wmOperatorType *ot = WM_operatortype_find("WM_OT_operator_preset_add", false);
|
||||
uiItemFullO_ptr(row, ot, "", ICON_ADD, nullptr, WM_OP_INVOKE_DEFAULT, UI_ITEM_NONE, &op_ptr);
|
||||
|
|
|
@ -253,7 +253,8 @@ static void root_catalogs_draw(const bContext *C, Menu *menu)
|
|||
uiItemM(layout,
|
||||
"OBJECT_MT_add_modifier_unassigned_assets",
|
||||
IFACE_("Unassigned"),
|
||||
ICON_FILE_HIDDEN);
|
||||
ICON_FILE_HIDDEN,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -259,7 +259,7 @@ static void screen_user_menu_draw(const bContext *C, Menu *menu)
|
|||
bUserMenuItem_Menu *umi_mt = (bUserMenuItem_Menu *)umi;
|
||||
MenuType *mt = WM_menutype_find(umi_mt->mt_idname, false);
|
||||
if (mt != nullptr) {
|
||||
uiItemM_ptr(menu->layout, mt, ui_name, ICON_NONE);
|
||||
uiItemM_ptr(menu->layout, mt, ui_name, ICON_NONE, false);
|
||||
is_empty = false;
|
||||
}
|
||||
else {
|
||||
|
|
|
@ -144,7 +144,7 @@ static int context_menu_invoke(bContext *C, wmOperator * /*op*/, const wmEvent *
|
|||
uiPopupMenu *pup = UI_popup_menu_begin(C, IFACE_("Context Menu"), ICON_NONE);
|
||||
uiLayout *layout = UI_popup_menu_layout(pup);
|
||||
|
||||
uiItemM(layout, "INFO_MT_area", nullptr, ICON_NONE);
|
||||
uiItemM(layout, "INFO_MT_area", nullptr, ICON_NONE, false);
|
||||
UI_popup_menu_end(C, pup);
|
||||
|
||||
return OPERATOR_INTERFACE;
|
||||
|
|
|
@ -284,7 +284,11 @@ static void add_root_catalogs_draw(const bContext *C, Menu *menu)
|
|||
|
||||
if (!tree.unassigned_assets.is_empty()) {
|
||||
uiItemS(layout);
|
||||
uiItemM(layout, "NODE_MT_node_add_unassigned_assets", IFACE_("Unassigned"), ICON_FILE_HIDDEN);
|
||||
uiItemM(layout,
|
||||
"NODE_MT_node_add_unassigned_assets",
|
||||
IFACE_("Unassigned"),
|
||||
ICON_FILE_HIDDEN,
|
||||
false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -457,7 +457,8 @@ static void rna_uiItemM(uiLayout *layout,
|
|||
const char *text_ctxt,
|
||||
bool translate,
|
||||
int icon,
|
||||
int icon_value)
|
||||
int icon_value,
|
||||
bool force_menu)
|
||||
{
|
||||
/* Get translated name (label). */
|
||||
name = rna_translate_ui_text(name, text_ctxt, nullptr, nullptr, translate);
|
||||
|
@ -466,7 +467,7 @@ static void rna_uiItemM(uiLayout *layout,
|
|||
icon = icon_value;
|
||||
}
|
||||
|
||||
uiItemM(layout, menuname, name, icon);
|
||||
uiItemM(layout, menuname, name, icon, force_menu);
|
||||
}
|
||||
|
||||
static void rna_uiItemM_contents(uiLayout *layout, const char *menuname)
|
||||
|
@ -1483,6 +1484,7 @@ void RNA_api_ui_layout(StructRNA *srna)
|
|||
RNA_def_parameter_flags(parm, PropertyFlag(0), PARM_REQUIRED);
|
||||
parm = RNA_def_property(func, "icon_value", PROP_INT, PROP_UNSIGNED);
|
||||
RNA_def_property_ui_text(parm, "Icon Value", "Override automatic icon of the item");
|
||||
RNA_def_boolean(func, "force_menu", false, "Force Menu", "Force button to be a menu button");
|
||||
|
||||
func = RNA_def_function(srna, "menu_contents", "rna_uiItemM_contents");
|
||||
parm = RNA_def_string(func, "menu", nullptr, 0, "", "Identifier of the menu");
|
||||
|
|
Loading…
Reference in New Issue