* Added a spot for scripts to register themselves in the Help menu
* Gave the spiffy new 'System Information' script a new home there
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
#!BPY
|
#!BPY
|
||||||
"""
|
"""
|
||||||
Name: 'System Info'
|
Name: 'System Information...'
|
||||||
Blender: 233
|
Blender: 233
|
||||||
Group: 'Utils'
|
Group: 'Help'
|
||||||
Tooltip: 'Information about your Blender environment, useful to diagnose problems.'
|
Tooltip: 'Information about your Blender environment, useful to diagnose problems.'
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -144,5 +144,5 @@ if (warnings):
|
|||||||
output.write(", documented in the text above.")
|
output.write(", documented in the text above.")
|
||||||
else: output.write("\n==\nNo problems were found.")
|
else: output.write("\n==\nNo problems were found.")
|
||||||
|
|
||||||
exitmsg = "Done!|Please check the text %s at the Text Editor window." % output.name
|
exitmsg = "Done!|Please check the text %s in the Text Editor window." % output.name
|
||||||
Blender.Draw.PupMenu(exitmsg)
|
Blender.Draw.PupMenu(exitmsg)
|
||||||
|
@@ -77,6 +77,7 @@ static int bpymenu_group_atoi (char *str)
|
|||||||
{
|
{
|
||||||
if (!strcmp(str, "Import")) return PYMENU_IMPORT;
|
if (!strcmp(str, "Import")) return PYMENU_IMPORT;
|
||||||
else if (!strcmp(str, "Export")) return PYMENU_EXPORT;
|
else if (!strcmp(str, "Export")) return PYMENU_EXPORT;
|
||||||
|
else if (!strcmp(str, "Help")) return PYMENU_HELP;
|
||||||
else if (!strcmp(str, "Generators")) return PYMENU_GENERATORS;
|
else if (!strcmp(str, "Generators")) return PYMENU_GENERATORS;
|
||||||
else if (!strcmp(str, "Modifiers")) return PYMENU_MODIFIERS;
|
else if (!strcmp(str, "Modifiers")) return PYMENU_MODIFIERS;
|
||||||
else if (!strcmp(str, "Wizards")) return PYMENU_WIZARDS;
|
else if (!strcmp(str, "Wizards")) return PYMENU_WIZARDS;
|
||||||
@@ -101,6 +102,9 @@ char *BPyMenu_group_itoa (short menugroup)
|
|||||||
case PYMENU_GENERATORS:
|
case PYMENU_GENERATORS:
|
||||||
return "Generators";
|
return "Generators";
|
||||||
break;
|
break;
|
||||||
|
case PYMENU_HELP:
|
||||||
|
return "Help";
|
||||||
|
break;
|
||||||
case PYMENU_MODIFIERS:
|
case PYMENU_MODIFIERS:
|
||||||
return "Modifiers";
|
return "Modifiers";
|
||||||
break;
|
break;
|
||||||
@@ -115,10 +119,13 @@ char *BPyMenu_group_itoa (short menugroup)
|
|||||||
break;
|
break;
|
||||||
case PYMENU_UV:
|
case PYMENU_UV:
|
||||||
return "UV";
|
return "UV";
|
||||||
|
break;
|
||||||
case PYMENU_UTILS:
|
case PYMENU_UTILS:
|
||||||
return "Utils";
|
return "Utils";
|
||||||
|
break;
|
||||||
case PYMENU_TOOLS:
|
case PYMENU_TOOLS:
|
||||||
return "Tools";
|
return "Tools";
|
||||||
|
break;
|
||||||
case PYMENU_MISC:
|
case PYMENU_MISC:
|
||||||
return "Misc";
|
return "Misc";
|
||||||
break;
|
break;
|
||||||
|
@@ -84,6 +84,7 @@ typedef enum {
|
|||||||
PYMENU_MODIFIERS, /* modifies existing obj *data* */
|
PYMENU_MODIFIERS, /* modifies existing obj *data* */
|
||||||
PYMENU_MISC,
|
PYMENU_MISC,
|
||||||
PYMENU_MATERIALS,
|
PYMENU_MATERIALS,
|
||||||
|
PYMENU_HELP, /* inserted in the info header 'Help' menu */
|
||||||
PYMENU_GENERATORS, /* creates new objects */
|
PYMENU_GENERATORS, /* creates new objects */
|
||||||
PYMENU_IMPORT,
|
PYMENU_IMPORT,
|
||||||
PYMENU_EXPORT,
|
PYMENU_EXPORT,
|
||||||
|
@@ -1590,11 +1590,24 @@ static uiBlock *info_help_websitesmenu(void *arg_unused)
|
|||||||
|
|
||||||
static void do_info_helpmenu(void *arg, int event)
|
static void do_info_helpmenu(void *arg, int event)
|
||||||
{
|
{
|
||||||
switch(event) {
|
|
||||||
|
|
||||||
case 0:
|
extern int BPY_menu_do_python(short menutype, int event); // BPY_interface.c
|
||||||
|
ScrArea *sa;
|
||||||
|
|
||||||
|
if(curarea->spacetype==SPACE_INFO) {
|
||||||
|
sa= find_biggest_area_of_type(SPACE_SCRIPT);
|
||||||
|
if (!sa) sa= closest_bigger_area();
|
||||||
|
areawinset(sa->win);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* events >=2 are registered bpython scripts */
|
||||||
|
if (event >= 2) BPY_menu_do_python(PYMENU_HELP, event - 2);
|
||||||
|
|
||||||
|
else switch(event) {
|
||||||
|
|
||||||
|
case 0: /* About Blender */
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1: /* Benchmark */
|
||||||
/* dodgy hack turning on CTRL ALT SHIFT key to do a benchmark
|
/* dodgy hack turning on CTRL ALT SHIFT key to do a benchmark
|
||||||
* rather than copying lines and lines of code from toets.c :(
|
* rather than copying lines and lines of code from toets.c :(
|
||||||
*/
|
*/
|
||||||
@@ -1612,6 +1625,7 @@ static void do_info_helpmenu(void *arg, int event)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
allqueue(REDRAWINFO, 0);
|
allqueue(REDRAWINFO, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1621,6 +1635,8 @@ static uiBlock *info_helpmenu(void *arg_unused)
|
|||||||
uiBlock *block;
|
uiBlock *block;
|
||||||
short yco= 0;
|
short yco= 0;
|
||||||
short menuwidth=120;
|
short menuwidth=120;
|
||||||
|
BPyMenu *pym;
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
block= uiNewBlock(&curarea->uiblocks, "info_helpmenu", UI_EMBOSSP, UI_HELV, curarea->headwin);
|
block= uiNewBlock(&curarea->uiblocks, "info_helpmenu", UI_EMBOSSP, UI_HELV, curarea->headwin);
|
||||||
uiBlockSetButmFunc(block, do_info_helpmenu, NULL);
|
uiBlockSetButmFunc(block, do_info_helpmenu, NULL);
|
||||||
@@ -1649,6 +1665,13 @@ static uiBlock *info_helpmenu(void *arg_unused)
|
|||||||
|
|
||||||
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Release Notes *", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
|
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Release Notes *", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 0, "");
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
|
||||||
|
|
||||||
|
for (pym = BPyMenuTable[PYMENU_HELP]; pym; pym = pym->next, i++) {
|
||||||
|
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, pym->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, i+2, pym->tooltip?pym->tooltip:pym->filename);
|
||||||
|
}
|
||||||
|
|
||||||
uiBlockSetDirection(block, UI_DOWN);
|
uiBlockSetDirection(block, UI_DOWN);
|
||||||
uiTextBoundsBlock(block, 80);
|
uiTextBoundsBlock(block, 80);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user