]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Change tui_register_info::visible to a method
authorTom Tromey <tom@tromey.com>
Sun, 17 Dec 2023 16:28:06 +0000 (09:28 -0700)
committerTom Tromey <tom@tromey.com>
Thu, 8 Feb 2024 19:15:39 +0000 (12:15 -0700)
tui_register_info::visible is redundant with the fact that y==0 means
that the register is not visible.  This patch changes this member in
favor of having a single indication of the register's visibility -- a
method with the same name.  This change makes it clear that
delete_data_content_windows is not needed, so this is removed as well.

Approved-By: Andrew Burgess <aburgess@redhat.com>
gdb/tui/tui-regs.c
gdb/tui/tui-regs.h

index bacb23ab2981aa48a9f1262f83c2769ba3489736..12301552c341a01976ce0207c8c76b1061f0f76b 100644 (file)
@@ -268,7 +268,6 @@ tui_data_window::display_registers_from (int start_element_no)
          /* Create the window if necessary.  */
          m_regs_content[i].x = box_width () + (m_item_width * j);
          m_regs_content[i].y = cur_y;
-         m_regs_content[i].visible = true;
          m_regs_content[i].rerender (handle.get (), m_item_width);
          i++;          /* Next register.  */
        }
@@ -346,23 +345,13 @@ tui_data_window::first_data_item_displayed ()
 {
   for (int i = 0; i < m_regs_content.size (); i++)
     {
-      if (m_regs_content[i].visible)
+      if (m_regs_content[i].visible ())
        return i;
     }
 
   return -1;
 }
 
-/* See tui-regs.h.  */
-
-void
-tui_data_window::delete_data_content_windows ()
-{
-  for (auto &win : m_regs_content)
-    win.visible = false;
-}
-
-
 void
 tui_data_window::erase_data_content (const char *prompt)
 {
@@ -400,7 +389,6 @@ tui_data_window::rerender (bool toplevel)
   else
     {
       erase_data_content (NULL);
-      delete_data_content_windows ();
       display_registers_from (0);
     }
 }
@@ -425,7 +413,6 @@ tui_data_window::do_scroll_vertical (int num_to_scroll)
     {
       first_line += num_to_scroll;
       erase_data_content (NULL);
-      delete_data_content_windows ();
       display_registers_from_line (first_line);
     }
 }
@@ -448,7 +435,7 @@ tui_data_window::check_register_values (frame_info_ptr frame)
 
          /* Register windows whose y == 0 are outside the visible area.  */
          if ((data_item_win.highlight || was_hilighted)
-             && data_item_win.y > 0)
+             && data_item_win.visible ())
            data_item_win.rerender (handle.get (), m_item_width);
        }
     }
index e7125e457f5f7e79724645db12be2940e66f2d8e..1b0eaa2033b96461810db0e5691b9e5d689f3efd 100644 (file)
@@ -44,11 +44,13 @@ struct tui_register_info
 
   void rerender (WINDOW *handle, int field_width);
 
+  bool visible () const
+  { return y > 0; }
+
   /* Location.  */
   int x = 0;
   int y = 0;
   bool highlight = false;
-  bool visible = false;
   std::string content;
 
 private:
@@ -130,10 +132,6 @@ private:
      past the register area (-1) is returned.  */
   int first_reg_element_no_inline (int line_no) const;
 
-  /* Delete all the item windows in the data window.  This is usually
-     done when the data window is scrolled.  */
-  void delete_data_content_windows ();
-
   void erase_data_content (const char *prompt);
 
   /* Information about each register in the current register group.  */