X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Ftui%2Ftui-wingeneral.h;h=9302342e769c81a2671d04217f3b0d420d873b27;hb=359157df2087894563a900e5f63299b42f460be2;hp=e32dbed2995da453d307f949ef8e3617b1ea9044;hpb=b811d2c2920ddcb1adcd438da38e90912b31f45f;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/tui/tui-wingeneral.h b/gdb/tui/tui-wingeneral.h index e32dbed299..9302342e76 100644 --- a/gdb/tui/tui-wingeneral.h +++ b/gdb/tui/tui-wingeneral.h @@ -26,11 +26,31 @@ struct tui_win_info; -/* Makes all windows invisible. */ -extern void tui_make_all_invisible (void); - extern void tui_unhighlight_win (struct tui_win_info *); extern void tui_highlight_win (struct tui_win_info *); extern void tui_refresh_all (); +/* An RAII class that suppresses output on construction (calling + wnoutrefresh on the existing windows), and then flushes the output + (via doupdate) when destroyed. */ + +class tui_suppress_output +{ +public: + + tui_suppress_output (); + ~tui_suppress_output (); + + DISABLE_COPY_AND_ASSIGN (tui_suppress_output); + +private: + + /* Save the state of the suppression global. */ + bool m_saved_suppress; +}; + +/* Call wrefresh on the given window. However, if output is being + suppressed via tui_suppress_output, do not call wrefresh. */ +extern void tui_wrefresh (WINDOW *win); + #endif /* TUI_TUI_WINGENERAL_H */