Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/editors/interface/interface_regions.c')
-rw-r--r--source/blender/editors/interface/interface_regions.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/source/blender/editors/interface/interface_regions.c b/source/blender/editors/interface/interface_regions.c
index 0f04333c6c5..cdb62d0a4b4 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -2481,6 +2481,33 @@ void uiPupMenuReports(bContext *C, ReportList *reports)
BLI_dynstr_free(ds);
}
+void uiPupMenuInvoke(bContext *C, const char *idname, int spacetype)
+{
+ uiPopupMenu *pup;
+ uiLayout *layout;
+ Menu menu;
+ MenuType *mt= BKE_spacemenu_find(idname, spacetype);
+
+ if(mt==NULL) {
+ printf("uiPupMenuInvoke: named menu \"%s\" not found\n", idname);
+ return;
+ }
+
+ if(mt->poll && mt->poll(C, mt)==0)
+ return;
+
+ pup= uiPupMenuBegin(C, mt->label, 0);
+ layout= uiPupMenuLayout(pup);
+
+ menu.layout= layout;
+ menu.type= mt;
+
+ mt->draw(C, &menu);
+
+ uiPupMenuEnd(C, pup);
+}
+
+
/*************************** Popup Block API **************************/
void uiPupBlockO(bContext *C, uiBlockCreateFunc func, void *arg, char *opname, int opcontext)