Introduce tui_data_window::last_regs_line_no method
authorTom Tromey <tom@tromey.com>
Wed, 26 Jun 2019 21:44:51 +0000 (15:44 -0600)
committerTom Tromey <tom@tromey.com>
Wed, 17 Jul 2019 18:18:53 +0000 (12:18 -0600)
This changes tui_last_regs_line_no into a method on tui_data_window,
allowing the removal of uses of the TUI_DATA_WIN global.

gdb/ChangeLog
2019-07-17  Tom Tromey  <tom@tromey.com>

* tui/tui-regs.h (tui_last_regs_line_no): Don't declare.
* tui/tui-regs.c (tui_data_window::last_regs_line_no): Rename from
tui_last_regs_line_no.
(tui_display_reg_element_at_line)
(tui_display_registers_from_line): Update.
* tui/tui-data.h (struct tui_data_window) <last_regs_line_no>: New
method.

gdb/ChangeLog
gdb/tui/tui-data.h
gdb/tui/tui-regs.c
gdb/tui/tui-regs.h

index 6635cbfb1a2f8bc6bd8c8da96f4a3ef2545852de..b63b9e9f694a999809587581c9c35769ffe8fc68 100644 (file)
@@ -1,3 +1,13 @@
+2019-07-17  Tom Tromey  <tom@tromey.com>
+
+       * tui/tui-regs.h (tui_last_regs_line_no): Don't declare.
+       * tui/tui-regs.c (tui_data_window::last_regs_line_no): Rename from
+       tui_last_regs_line_no.
+       (tui_display_reg_element_at_line)
+       (tui_display_registers_from_line): Update.
+       * tui/tui-data.h (struct tui_data_window) <last_regs_line_no>: New
+       method.
+
 2019-07-17  Tom Tromey  <tom@tromey.com>
 
        PR tui/24722:
index 6a243c3d2f97ffd476604a846d0838b187d4818e..9b1e892aefe0f67c972368cadb9df2391d787fd5 100644 (file)
@@ -490,6 +490,10 @@ struct tui_data_window : public tui_win_info
   bool display_regs = false;
   struct reggroup *current_group = nullptr;
 
+  /* Answer the number of the last line in the regs display.  If there
+     are no registers (-1) is returned.  */
+  int last_regs_line_no () const;
+
 protected:
 
   void do_scroll_vertical (int num_to_scroll) override;
index 32e82b23482e0d72d8213de8f095a5b7def97f05..e9fbf4b07522fd1bcd5fba43a789b7e3cb7d2009 100644 (file)
@@ -63,18 +63,17 @@ static enum tui_status tui_get_register (struct frame_info *frame,
 ** PUBLIC FUNCTIONS                     **
 ******************************************/
 
-/* Answer the number of the last line in the regs display.  If there
-   are no registers (-1) is returned.  */
+/* See tui-data.h.  */
+
 int
-tui_last_regs_line_no (void)
+tui_data_window::last_regs_line_no () const
 {
   int num_lines = (-1);
 
-  if (!TUI_DATA_WIN->regs_content.empty ())
+  if (!regs_content.empty ())
     {
-      num_lines = (TUI_DATA_WIN->regs_content.size ()
-                  / TUI_DATA_WIN->regs_column_count);
-      if (TUI_DATA_WIN->regs_content.size () % TUI_DATA_WIN->regs_column_count)
+      num_lines = regs_content.size () / regs_column_count;
+      if (regs_content.size () % regs_column_count)
        num_lines++;
     }
   return num_lines;
@@ -354,7 +353,7 @@ tui_display_reg_element_at_line (int start_element_no,
        {
          int last_line_no, first_line_on_last_page;
 
-         last_line_no = tui_last_regs_line_no ();
+         last_line_no = TUI_DATA_WIN->last_regs_line_no ();
          first_line_on_last_page
            = last_line_no - (TUI_DATA_WIN->height - 2);
          if (first_line_on_last_page < 0)
@@ -390,7 +389,7 @@ tui_display_registers_from_line (int line_no,
        { /* If we must display regs (force_display is true), then
             make sure that we don't display off the end of the
             registers.  */
-         if (line_no >= tui_last_regs_line_no ())
+         if (line_no >= TUI_DATA_WIN->last_regs_line_no ())
            {
              if ((line = tui_line_from_reg_element_no (
                 TUI_DATA_WIN->regs_content.size () - 1)) < 0)
index 54b1b0870f7928df58be8c24efc74d2e7a2d042c..fcb440dcf1134320d49aab12adf3c1183bbbceb8 100644 (file)
@@ -28,7 +28,6 @@ extern void tui_check_register_values (struct frame_info *);
 extern void tui_show_registers (struct reggroup *group);
 extern void tui_display_registers_from (int);
 extern int tui_display_registers_from_line (int, int);
-extern int tui_last_regs_line_no (void);
 extern int tui_first_reg_element_inline (int);
 extern int tui_line_from_reg_element_no (int);
 extern int tui_first_reg_element_no_inline (int lineno);