Mercurial > octave
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) |