* Added a slot for scripts to appear in the Render menu. The script category for

render scripts was already there, but strangely they were only accessible from 
the script menu.
This commit is contained in:
Matt Ebb
2007-03-22 01:40:28 +00:00
parent 677a4b4da7
commit eb1714edf1

View File

@@ -1656,56 +1656,70 @@ static uiBlock *info_render_bakemenu(void *arg_unused)
static void do_info_rendermenu(void *arg, int event)
{
ScrArea *sa;
extern void playback_anim();
switch(event) {
case 0:
BIF_do_render(0);
break;
case 1:
BIF_do_render(1);
break;
/* note: dont use select_area() for setting active areas for opengl render */
/* its hackish and instable... code here was removed */
case 4:
BIF_toggle_render_display();
break;
case 5:
playback_anim();
break;
case 6:
/* dodgy hack turning on SHIFT key to do a proper render border select
set_render_border(); only works when 3d window active
This code copied from toolbox.c, only works when 3d window is cameraview */
if(select_area(SPACE_VIEW3D)) {
mainqenter(LEFTSHIFTKEY, 1);
mainqenter(BKEY, 1);
mainqenter(BKEY, 0);
mainqenter(EXECUTE, 1);
mainqenter(LEFTSHIFTKEY, 0);
/* events >=10 are registered bpython scripts */
if (event >= 10) {
if(curarea->spacetype==SPACE_INFO) {
sa= find_biggest_area_of_type(SPACE_SCRIPT);
if (!sa) sa= closest_bigger_area();
areawinset(sa->win);
}
break;
BPY_menu_do_python(PYMENU_RENDER, event - 10);
BIF_undo_push("Rendering Script");
}
else {
switch(event) {
case 0:
BIF_do_render(0);
break;
case 1:
BIF_do_render(1);
break;
case 7:
extern_set_butspace(F10KEY, 0);
break;
/* note: dont use select_area() for setting active areas for opengl render */
/* its hackish and instable... code here was removed */
case 4:
BIF_toggle_render_display();
break;
case 5:
playback_anim();
break;
case 6:
/* dodgy hack turning on SHIFT key to do a proper render border select
set_render_border(); only works when 3d window active
This code copied from toolbox.c, only works when 3d window is cameraview */
if(select_area(SPACE_VIEW3D)) {
mainqenter(LEFTSHIFTKEY, 1);
mainqenter(BKEY, 1);
mainqenter(BKEY, 0);
mainqenter(EXECUTE, 1);
mainqenter(LEFTSHIFTKEY, 0);
}
break;
case 7:
extern_set_butspace(F10KEY, 0);
break;
}
}
allqueue(REDRAWINFO, 0);
}
static uiBlock *info_rendermenu(void *arg_unused)
{
/* static short tog=0; */
uiBlock *block;
BPyMenu *pym;
short yco= 0;
short menuwidth=120;
int i=0;
block= uiNewBlock(&curarea->uiblocks, "rendermenu", UI_EMBOSSP, UI_HELV, curarea->headwin);
uiBlockSetButmFunc(block, do_info_rendermenu, NULL);
@@ -1730,6 +1744,12 @@ static uiBlock *info_rendermenu(void *arg_unused)
uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Render Settings|F10", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 7, "");
uiDefBut(block, SEPR, 0, "", 0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
for (pym = BPyMenuTable[PYMENU_RENDER]; pym; pym = pym->next, i++) {
uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, i+10, pym->tooltip?pym->tooltip:pym->filename);
}
uiBlockSetDirection(block, UI_DOWN);
uiTextBoundsBlock(block, 80);