aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui/tui-winsource.c
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2019-06-16 11:22:38 -0600
committerTom Tromey <tom@tromey.com>2019-06-25 07:48:28 -0600
commit13446e05a363db17f0140b1450fc7df509d2ca37 (patch)
tree53c7c5c1185dc018da379af4297d812040e60a37 /gdb/tui/tui-winsource.c
parent5cf82909a7047cee471ee40cfe623250c258d76e (diff)
downloadfsf-binutils-gdb-13446e05a363db17f0140b1450fc7df509d2ca37.zip
fsf-binutils-gdb-13446e05a363db17f0140b1450fc7df509d2ca37.tar.gz
fsf-binutils-gdb-13446e05a363db17f0140b1450fc7df509d2ca37.tar.bz2
Introduce methods for scrolling
This changes the TUI to use virtual methods on the various window types for scrolling. Window-specific functions for this purpose are renamed to be methods, and the generic tui_scroll function is removed as it is no longer called. gdb/ChangeLog 2019-06-25 Tom Tromey <tom@tromey.com> * tui/tui-winsource.h (tui_horizontal_source_scroll): Don't declare. * tui/tui-winsource.c (tui_source_window_base::do_scroll_horizontal): Rename from tui_horizontal_source_scroll. * tui/tui-windata.h (tui_vertical_data_scroll): Don't declare. * tui/tui-windata.c (tui_data_window::do_scroll_vertical): Rename from tui_vertical_data_scroll. * tui/tui-win.h (tui_scroll): Don't declare. * tui/tui-win.c (tui_win_info::forward_scroll) (tui_win_info::backward_scroll, tui_win_info::left_scroll) (tui_win_info::right_scroll): Rename and update. (tui_scroll_forward_command, tui_scroll_backward_command) (tui_scroll_left_command, tui_scroll_right_command): Update. (tui_scroll): Remove. * tui/tui-source.h: Don't declare tui_vertical_source_scroll. * tui/tui-source.c (tui_source_window::do_scroll_vertical): Rename from tui_vertical_source_scroll. * tui/tui-disasm.h (tui_vertical_disassem_scroll): Don't declare. * tui/tui-disasm.c (tui_disasm_window::do_scroll_vertical): Rename from tui_vertical_disassem_scroll. * tui/tui-data.h (struct tui_win_info) <do_scroll_vertical, do_scroll_horizontal>: New methods. <forward_scroll, backward_scroll, left_scroll, right_scroll>: Likewise. (struct tui_source_window_base): Add do_scroll_horizontal. (struct tui_source_window, struct tui_disasm_window): Add do_scroll_vertical. (struct tui_data_window, struct tui_cmd_window): Add do_scroll_horizontal and do_scroll_vertical. * tui/tui-command.c (tui_dispatch_ctrl_char): Use method calls.
Diffstat (limited to 'gdb/tui/tui-winsource.c')
-rw-r--r--gdb/tui/tui-winsource.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/gdb/tui/tui-winsource.c b/gdb/tui/tui-winsource.c
index 20f39c4..8c269e2 100644
--- a/gdb/tui/tui-winsource.c
+++ b/gdb/tui/tui-winsource.c
@@ -335,26 +335,25 @@ tui_refill_source_window (struct tui_win_info *win_info)
/* Scroll the source forward or backward horizontally. */
void
-tui_horizontal_source_scroll (struct tui_win_info *win_info,
- enum tui_scroll_direction direction,
- int num_to_scroll)
+tui_source_window_base::do_scroll_horizontal
+ (enum tui_scroll_direction direction, int num_to_scroll)
{
- if (win_info->generic.content != NULL)
+ if (generic.content != NULL)
{
int offset;
if (direction == LEFT_SCROLL)
- offset = win_info->detail.source_info.horizontal_offset
+ offset = detail.source_info.horizontal_offset
+ num_to_scroll;
else
{
- offset = win_info->detail.source_info.horizontal_offset
+ offset = detail.source_info.horizontal_offset
- num_to_scroll;
if (offset < 0)
offset = 0;
}
- win_info->detail.source_info.horizontal_offset = offset;
- tui_refill_source_window (win_info);
+ detail.source_info.horizontal_offset = offset;
+ tui_refill_source_window (this);
}
}