This introduces a "can_scroll" method, removing a spot that explicitly
checks a window's type.
gdb/ChangeLog
2019-07-17 Tom Tromey <tom@tromey.com>
* tui/tui-data.h (struct tui_win_info) <can_scroll>: New method.
(struct tui_cmd_window) <can_scroll>: New method.
* tui/tui-command.c (tui_dispatch_ctrl_char): Use can_scroll
method.
+2019-07-17 Tom Tromey <tom@tromey.com>
+
+ * tui/tui-data.h (struct tui_win_info) <can_scroll>: New method.
+ (struct tui_cmd_window) <can_scroll>: New method.
+ * tui/tui-command.c (tui_dispatch_ctrl_char): Use can_scroll
+ method.
+
2019-07-17 Tom Tromey <tromey@adacore.com>
* ui-out.h (class ui_out) <field_signed, field_fmt_signed,
if (ch == '\f')
tui_refresh_all_win ();
- /* If the command window has the logical focus, or no-one does
- assume it is the command window; in this case, pass the character
- on through and do nothing here. */
- if (win_info == NULL || win_info == TUI_CMD_WIN)
+ /* If no window has the focus, or if the focus window can't scroll,
+ just pass the character through. */
+ if (win_info == NULL || !win_info->can_scroll ())
return ch;
switch (ch)
void left_scroll (int num_to_scroll);
void right_scroll (int num_to_scroll);
+ /* Return true if this window can be scrolled, false otherwise. */
+ virtual bool can_scroll () const
+ {
+ return true;
+ }
+
/* Can this window ever be highlighted? */
bool can_highlight = true;
return CMD_NAME;
}
+ bool can_scroll () const override
+ {
+ return false;
+ }
+
int start_line = 0;
protected: