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:
authorMatt Ebb <matt@mke3.net>2007-03-22 04:40:28 +0300
committerMatt Ebb <matt@mke3.net>2007-03-22 04:40:28 +0300
commiteb1714edf1b38c12b97d5ff56f7c3e9ba26af5ca (patch)
treeca3aa4dd6d9c88aa5a07951afc19d2767b5bd9e3 /source/blender/src/header_info.c
parent677a4b4da71f962fe51050786fd9c6ab71b34259 (diff)
* 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.
Diffstat (limited to 'source/blender/src/header_info.c')
-rw-r--r--source/blender/src/header_info.c88
1 files changed, 54 insertions, 34 deletions
diff --git a/source/blender/src/header_info.c b/source/blender/src/header_info.c
index b948dbc921c..23c8fd1e550 100644
--- a/source/blender/src/header_info.c
+++ b/source/blender/src/header_info.c
@@ -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();
+ /* 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);
+ }
+
+ 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 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
+ /* note: dont use select_area() for setting active areas for opengl render */
+ /* its hackish and instable... code here was removed */
- 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);
- }
+ 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 */
- break;
+ if(select_area(SPACE_VIEW3D)) {
+ mainqenter(LEFTSHIFTKEY, 1);
+ mainqenter(BKEY, 1);
+ mainqenter(BKEY, 0);
+ mainqenter(EXECUTE, 1);
+ mainqenter(LEFTSHIFTKEY, 0);
+ }
- case 7:
- extern_set_butspace(F10KEY, 0);
- break;
+ 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);