[16/61] Introduce tui_data_window::display_reg_element_at_line method
Commit Message
This changes tui_display_reg_element_at_line to be a method on
tui_data_window, allowing for the removal of some uses of the
TUI_DATA_WIN global.
2019-07-04 Tom Tromey <tom@tromey.com>
* tui/tui-regs.c (tui_data_window::display_reg_element_at_line):
Rename from tui_display_reg_element_at_line.
(tui_data_window::display_registers_from_line): Update.
* tui/tui-data.h (struct tui_data_window)
<display_reg_element_at_line>: New method.
---
gdb/ChangeLog | 8 ++++++++
gdb/tui/tui-data.h | 7 +++++++
gdb/tui/tui-regs.c | 21 +++++++++------------
3 files changed, 24 insertions(+), 12 deletions(-)
@@ -535,6 +535,13 @@ protected:
/* Return the index of the first element displayed. If none are
displayed, then return -1. */
int first_data_item_displayed ();
+
+ /* Function to display the registers in the content from
+ 'start_element_no' on 'start_line_no' until the end of the
+ register content or the end of the display height. This function
+ checks that we won't display off the end of the register
+ display. */
+ void display_reg_element_at_line (int start_element_no, int start_line_no);
};
struct tui_cmd_window : public tui_win_info
@@ -333,11 +333,11 @@ tui_data_window::display_registers_from (int start_element_no)
'start_element_no' on 'start_line_no' until the end of the register
content or the end of the display height. This function checks
that we won't display off the end of the register display. */
-static void
-tui_display_reg_element_at_line (int start_element_no,
- int start_line_no)
+void
+tui_data_window::display_reg_element_at_line (int start_element_no,
+ int start_line_no)
{
- if (!TUI_DATA_WIN->regs_content.empty ())
+ if (!regs_content.empty ())
{
int element_no = start_element_no;
@@ -345,9 +345,8 @@ tui_display_reg_element_at_line (int start_element_no,
{
int last_line_no, first_line_on_last_page;
- last_line_no = TUI_DATA_WIN->last_regs_line_no ();
- first_line_on_last_page
- = last_line_no - (TUI_DATA_WIN->height - 2);
+ last_line_no = last_regs_line_no ();
+ first_line_on_last_page = last_line_no - (height - 2);
if (first_line_on_last_page < 0)
first_line_on_last_page = 0;
@@ -355,11 +354,9 @@ tui_display_reg_element_at_line (int start_element_no,
registers, adjust what element to really start the
display at. */
if (start_line_no > first_line_on_last_page)
- element_no
- = (TUI_DATA_WIN->first_reg_element_no_inline
- (first_line_on_last_page));
+ element_no = first_reg_element_no_inline (first_line_on_last_page);
}
- TUI_DATA_WIN->display_registers_from (element_no);
+ display_registers_from (element_no);
}
}
@@ -392,7 +389,7 @@ tui_data_window::display_registers_from_line (int line_no)
element_no = first_reg_element_no_inline (line_no);
if (element_no < regs_content.size ())
- tui_display_reg_element_at_line (element_no, line_no);
+ display_reg_element_at_line (element_no, line_no);
else
line_no = (-1);