From patchwork Thu Jul 4 17:02:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 33552 Received: (qmail 106546 invoked by alias); 4 Jul 2019 17:03:35 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 105325 invoked by uid 89); 4 Jul 2019 17:03:26 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-18.3 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.1 spammy= X-HELO: gateway23.websitewelcome.com Received: from gateway23.websitewelcome.com (HELO gateway23.websitewelcome.com) (192.185.49.104) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 04 Jul 2019 17:03:21 +0000 Received: from cm12.websitewelcome.com (cm12.websitewelcome.com [100.42.49.8]) by gateway23.websitewelcome.com (Postfix) with ESMTP id BCB3D11966 for ; Thu, 4 Jul 2019 12:03:19 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id j58hhkjZFiQerj58hhEYcY; Thu, 04 Jul 2019 12:03:19 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=kqhgMuLl7d9G2DwpPGxMkCC0AkTV332K5Jr6rN0awGY=; b=oh6dp2YRIQ9yPTyK8UF8q2v5iX Q8WBf2t0Lb8HU1RpE7XoEoMbK8NIbzLxSxQXpyxGkgDvb5pEaR8i2h1604VyrnVRs4+nLB4eWvkVa XriqAGTyg4mvgg4ezeVcXbx/W; Received: from 174-29-58-150.hlrn.qwest.net ([174.29.58.150]:34692 helo=bapiya.Home) by box5379.bluehost.com with esmtpa (Exim 4.92) (envelope-from ) id 1hj58h-002sDI-Hq; Thu, 04 Jul 2019 12:03:19 -0500 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 15/61] Introduce two more tui_data_window methods Date: Thu, 4 Jul 2019 11:02:25 -0600 Message-Id: <20190704170311.15982-16-tom@tromey.com> In-Reply-To: <20190704170311.15982-1-tom@tromey.com> References: <20190704170311.15982-1-tom@tromey.com> This changes tui_display_registers_from and tui_display_registers_from_line to be methods on tui_data_window, allowing for the removal of more uses of the TUI_DATA_WIN global. 2019-07-04 Tom Tromey * tui/tui-regs.h (tui_display_registers_from) (tui_display_registers_from_line): Don't declare. * tui/tui-windata.c (tui_data_window::display_all_data) (tui_data_window::refresh_all) (tui_data_window::do_scroll_vertical): Update. * tui/tui-regs.c (tui_data_window::display_registers_from): Rename from tui_display_registers_from. (tui_display_reg_element_at_line): Update. (tui_data_window::display_registers_from_line): Rename from tui_display_registers_from_line. * tui/tui-data.h (struct tui_data_window) : New methods. --- gdb/ChangeLog | 15 +++++++++++++++ gdb/tui/tui-data.h | 11 +++++++++++ gdb/tui/tui-regs.c | 43 ++++++++++++++++++++----------------------- gdb/tui/tui-regs.h | 2 -- gdb/tui/tui-windata.c | 6 +++--- 5 files changed, 49 insertions(+), 28 deletions(-) diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h index e1c85df31bf..e5b4b0f6aa0 100644 --- a/gdb/tui/tui-data.h +++ b/gdb/tui/tui-data.h @@ -513,6 +513,17 @@ struct tui_data_window : public tui_win_info void erase_data_content (const char *prompt); + /* Function to display the registers in the content from + 'start_element_no' until the end of the register content or the + end of the display height. No checking for displaying past the + end of the registers is done here. */ + void display_registers_from (int start_element_no); + + /* Function to display the registers starting at line line_no in the + data window. Answers the line number that the display actually + started from. If nothing is displayed (-1) is returned. */ + int display_registers_from_line (int line_no); + protected: void do_scroll_vertical (int num_to_scroll) override; diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c index 9b396e429e2..042563f0495 100644 --- a/gdb/tui/tui-regs.c +++ b/gdb/tui/tui-regs.c @@ -249,14 +249,14 @@ tui_show_register_group (struct reggroup *group, of the display height. No checking for displaying past the end of the registers is done here. */ void -tui_display_registers_from (int start_element_no) +tui_data_window::display_registers_from (int start_element_no) { - if (!TUI_DATA_WIN->regs_content.empty ()) + if (!regs_content.empty ()) { int j, item_win_width, cur_y; int max_len = 0; - for (auto &&data_item_win : TUI_DATA_WIN->regs_content) + for (auto &&data_item_win : regs_content) { char *p; int len; @@ -278,28 +278,25 @@ tui_display_registers_from (int start_element_no) item_win_width = max_len + 1; int i = start_element_no; - TUI_DATA_WIN->regs_column_count = - (TUI_DATA_WIN->width - 2) / item_win_width; - if (TUI_DATA_WIN->regs_column_count == 0) - TUI_DATA_WIN->regs_column_count = 1; - item_win_width = - (TUI_DATA_WIN->width - 2) / TUI_DATA_WIN->regs_column_count; + regs_column_count = (width - 2) / item_win_width; + if (regs_column_count == 0) + regs_column_count = 1; + item_win_width = (width - 2) / regs_column_count; /* Now create each data "sub" window, and write the display into it. */ cur_y = 1; - while (i < TUI_DATA_WIN->regs_content.size () - && cur_y <= TUI_DATA_WIN->viewport_height) + while (i < regs_content.size () + && cur_y <= viewport_height) { for (j = 0; - j < TUI_DATA_WIN->regs_column_count - && i < TUI_DATA_WIN->regs_content.size (); + j < regs_column_count && i < regs_content.size (); j++) { struct tui_data_item_window *data_item_win; /* Create the window if necessary. */ - data_item_win = TUI_DATA_WIN->regs_content[i].get (); + data_item_win = regs_content[i].get (); if (data_item_win->handle != NULL && (data_item_win->height != 1 || data_item_win->width != item_win_width @@ -362,7 +359,7 @@ tui_display_reg_element_at_line (int start_element_no, = (TUI_DATA_WIN->first_reg_element_no_inline (first_line_on_last_page)); } - tui_display_registers_from (element_no); + TUI_DATA_WIN->display_registers_from (element_no); } } @@ -372,10 +369,10 @@ tui_display_reg_element_at_line (int start_element_no, data window. Answers the line number that the display actually started from. If nothing is displayed (-1) is returned. */ int -tui_display_registers_from_line (int line_no) +tui_data_window::display_registers_from_line (int line_no) { - tui_check_and_display_highlight_if_needed (TUI_DATA_WIN); - if (!TUI_DATA_WIN->regs_content.empty ()) + tui_check_and_display_highlight_if_needed (this); + if (!regs_content.empty ()) { int element_no; @@ -385,16 +382,16 @@ tui_display_registers_from_line (int line_no) { /* Make sure that we don't display off the end of the registers. */ - if (line_no >= TUI_DATA_WIN->last_regs_line_no ()) + if (line_no >= last_regs_line_no ()) { - if ((line_no = TUI_DATA_WIN->line_from_reg_element_no ( - TUI_DATA_WIN->regs_content.size () - 1)) < 0) + line_no = line_from_reg_element_no (regs_content.size () - 1); + if (line_no < 0) line_no = 0; } } - element_no = TUI_DATA_WIN->first_reg_element_no_inline (line_no); - if (element_no < TUI_DATA_WIN->regs_content.size ()) + 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); else line_no = (-1); diff --git a/gdb/tui/tui-regs.h b/gdb/tui/tui-regs.h index c99910b2c7e..354605c96f2 100644 --- a/gdb/tui/tui-regs.h +++ b/gdb/tui/tui-regs.h @@ -26,7 +26,5 @@ 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); #endif /* TUI_TUI_REGS_H */ diff --git a/gdb/tui/tui-windata.c b/gdb/tui/tui-windata.c index abbed3f16a1..9256e0e26b6 100644 --- a/gdb/tui/tui-windata.c +++ b/gdb/tui/tui-windata.c @@ -103,7 +103,7 @@ tui_data_window::display_all_data () erase_data_content (NULL); delete_data_content_windows (); tui_check_and_display_highlight_if_needed (this); - tui_display_registers_from (0); + display_registers_from (0); } } @@ -127,7 +127,7 @@ tui_data_window::refresh_all () if (first_line >= 0) { erase_data_content (NULL); - tui_display_registers_from_line (first_line); + display_registers_from_line (first_line); } } } @@ -154,7 +154,7 @@ tui_data_window::do_scroll_vertical (int num_to_scroll) first_line += num_to_scroll; erase_data_content (NULL); delete_data_content_windows (); - tui_display_registers_from_line (first_line); + display_registers_from_line (first_line); } }