comparison scripts/plot/util/private/__add_default_menu__.m @ 18958:c9f960441513

Overhaul FLTK plotting and printing * gl2ps-renderer.cc: Force execution of GL commands before gl2psEndPage to avoid missing primitives in output. Enable error output of gl2ps, check return value of gl2psBeginPage for error. * __init_fltk__.cc: Avoid redraw of the OpenGL and the plot window if not needed. Let FLTK do the resizing of the canvas, the menubar and the statusbar. This was done by creating a resize_dummy and set this as resizable for the plot_window group. Previously this was done inside draw(). Avoid timing issues with fltk_maxtime (removed) and other hacks with multiple Fl::check and redraw () calls. You can use flush and glFlush if you really need to force a immediate redraw. Remove print_mode in draw () and print directly without waiting that FLTK flushes its buffers. This fixes bug #42458 and #40215 Manually placement of the toolbar is only done once when hiding or showing the menubar. (update_toolbar_position) set(gcf, "position", [x, y, w, h]) is now handled by figure::properties::ID_POSITION which calls update_position * __add_default_menu__.m: Remove now unneeded hacks for the menubar.
author Andreas Weber <andy.weber.aw@gmail.com>
date Sat, 26 Jul 2014 10:09:48 +0200
parents 62b76b377749
children 52e01aa1fe8b
comparison
equal deleted inserted replaced
18955:914c3ce73665 18958:c9f960441513
31 return; 31 return;
32 endif 32 endif
33 33
34 obj = findall (fig, "-depth", 1, "tag", "__default_menu__", "label", "&File"); 34 obj = findall (fig, "-depth", 1, "tag", "__default_menu__", "label", "&File");
35 if (isempty (obj)) 35 if (isempty (obj))
36 ## FIXME: uimenu() will cause menubar to be displayed, even though property
37 ## menubar remains set at "none". So, forcibly turn menubar status
38 ## on and then off to force figure to hide menubar.
39 menubar_state = get (fig, "menubar");
40 set (fig, "menubar", "figure");
41
42 __f = uimenu (fig, "label", "&File", "handlevisibility", "off", 36 __f = uimenu (fig, "label", "&File", "handlevisibility", "off",
43 "tag", "__default_menu__"); 37 "tag", "__default_menu__");
44 uimenu (__f, "label", "Save &As", "callback", @save_cb); 38 uimenu (__f, "label", "Save &As", "callback", @save_cb);
45 uimenu (__f, "label", "&Save", "callback", @save_cb); 39 uimenu (__f, "label", "&Save", "callback", @save_cb);
46 uimenu (__f, "label", "&Close", "callback", "close (gcf)"); 40 uimenu (__f, "label", "&Close", "callback", "close (gcf)");
52 gm = uimenu (__e, "label", "GUI &Mode"); 46 gm = uimenu (__e, "label", "GUI &Mode");
53 uimenu (gm, "label", "Pan+Zoom", "callback", @guimode_cb); 47 uimenu (gm, "label", "Pan+Zoom", "callback", @guimode_cb);
54 uimenu (gm, "label", "Rotate+Zoom", "callback", @guimode_cb); 48 uimenu (gm, "label", "Rotate+Zoom", "callback", @guimode_cb);
55 uimenu (gm, "label", "None+Zoom", "callback", @guimode_cb); 49 uimenu (gm, "label", "None+Zoom", "callback", @guimode_cb);
56 50
57 ## FIXME: This drawnow () must occur after at least one menu item has
58 ## been defined to avoid sizing issues in new figures.
59 ## This may lead to flicker. The real fix must be in the C++ code.
60 drawnow ();
61
62 set (fig, "menubar", menubar_state);
63 endif 51 endif
64 52
65 endfunction 53 endfunction
66 54
67 function save_cb (h, e) 55 function save_cb (h, e)