mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-28 15:18:37 +08:00
Introduce two more tui_data_window methods
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. gdb/ChangeLog 2019-07-17 Tom Tromey <tom@tromey.com> * 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) <display_registers_from, display_registers_from_line>: New methods.
This commit is contained in:
@ -1,3 +1,18 @@
|
|||||||
|
2019-07-17 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* 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) <display_registers_from,
|
||||||
|
display_registers_from_line>: New methods.
|
||||||
|
|
||||||
2019-07-17 Tom Tromey <tom@tromey.com>
|
2019-07-17 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* tui/tui-windata.h (tui_erase_data_content): Don't declare.
|
* tui/tui-windata.h (tui_erase_data_content): Don't declare.
|
||||||
|
@ -513,6 +513,17 @@ struct tui_data_window : public tui_win_info
|
|||||||
|
|
||||||
void erase_data_content (const char *prompt);
|
void erase_data_content (const char *prompt);
|
||||||
|
|
||||||
|
/* 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);
|
||||||
|
|
||||||
|
/* 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:
|
protected:
|
||||||
|
|
||||||
void do_scroll_vertical (int num_to_scroll) override;
|
void do_scroll_vertical (int num_to_scroll) override;
|
||||||
|
@ -244,19 +244,17 @@ tui_show_register_group (struct reggroup *group,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Function to display the registers in the content from
|
/* See tui-data.h. */
|
||||||
'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
|
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 j, item_win_width, cur_y;
|
||||||
|
|
||||||
int max_len = 0;
|
int max_len = 0;
|
||||||
for (auto &&data_item_win : TUI_DATA_WIN->regs_content)
|
for (auto &&data_item_win : regs_content)
|
||||||
{
|
{
|
||||||
char *p;
|
char *p;
|
||||||
int len;
|
int len;
|
||||||
@ -278,28 +276,25 @@ tui_display_registers_from (int start_element_no)
|
|||||||
item_win_width = max_len + 1;
|
item_win_width = max_len + 1;
|
||||||
int i = start_element_no;
|
int i = start_element_no;
|
||||||
|
|
||||||
TUI_DATA_WIN->regs_column_count =
|
regs_column_count = (width - 2) / item_win_width;
|
||||||
(TUI_DATA_WIN->width - 2) / item_win_width;
|
if (regs_column_count == 0)
|
||||||
if (TUI_DATA_WIN->regs_column_count == 0)
|
regs_column_count = 1;
|
||||||
TUI_DATA_WIN->regs_column_count = 1;
|
item_win_width = (width - 2) / regs_column_count;
|
||||||
item_win_width =
|
|
||||||
(TUI_DATA_WIN->width - 2) / TUI_DATA_WIN->regs_column_count;
|
|
||||||
|
|
||||||
/* Now create each data "sub" window, and write the display into
|
/* Now create each data "sub" window, and write the display into
|
||||||
it. */
|
it. */
|
||||||
cur_y = 1;
|
cur_y = 1;
|
||||||
while (i < TUI_DATA_WIN->regs_content.size ()
|
while (i < regs_content.size ()
|
||||||
&& cur_y <= TUI_DATA_WIN->viewport_height)
|
&& cur_y <= viewport_height)
|
||||||
{
|
{
|
||||||
for (j = 0;
|
for (j = 0;
|
||||||
j < TUI_DATA_WIN->regs_column_count
|
j < regs_column_count && i < regs_content.size ();
|
||||||
&& i < TUI_DATA_WIN->regs_content.size ();
|
|
||||||
j++)
|
j++)
|
||||||
{
|
{
|
||||||
struct tui_data_item_window *data_item_win;
|
struct tui_data_item_window *data_item_win;
|
||||||
|
|
||||||
/* Create the window if necessary. */
|
/* 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
|
if (data_item_win->handle != NULL
|
||||||
&& (data_item_win->height != 1
|
&& (data_item_win->height != 1
|
||||||
|| data_item_win->width != item_win_width
|
|| data_item_win->width != item_win_width
|
||||||
@ -362,20 +357,17 @@ tui_display_reg_element_at_line (int start_element_no,
|
|||||||
= (TUI_DATA_WIN->first_reg_element_no_inline
|
= (TUI_DATA_WIN->first_reg_element_no_inline
|
||||||
(first_line_on_last_page));
|
(first_line_on_last_page));
|
||||||
}
|
}
|
||||||
tui_display_registers_from (element_no);
|
TUI_DATA_WIN->display_registers_from (element_no);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* See tui-data.h. */
|
||||||
|
|
||||||
|
|
||||||
/* 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
|
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);
|
tui_check_and_display_highlight_if_needed (this);
|
||||||
if (!TUI_DATA_WIN->regs_content.empty ())
|
if (!regs_content.empty ())
|
||||||
{
|
{
|
||||||
int element_no;
|
int element_no;
|
||||||
|
|
||||||
@ -385,16 +377,16 @@ tui_display_registers_from_line (int line_no)
|
|||||||
{
|
{
|
||||||
/* Make sure that we don't display off the end of the
|
/* Make sure that we don't display off the end of the
|
||||||
registers. */
|
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 (
|
line_no = line_from_reg_element_no (regs_content.size () - 1);
|
||||||
TUI_DATA_WIN->regs_content.size () - 1)) < 0)
|
if (line_no < 0)
|
||||||
line_no = 0;
|
line_no = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
element_no = TUI_DATA_WIN->first_reg_element_no_inline (line_no);
|
element_no = first_reg_element_no_inline (line_no);
|
||||||
if (element_no < TUI_DATA_WIN->regs_content.size ())
|
if (element_no < regs_content.size ())
|
||||||
tui_display_reg_element_at_line (element_no, line_no);
|
tui_display_reg_element_at_line (element_no, line_no);
|
||||||
else
|
else
|
||||||
line_no = (-1);
|
line_no = (-1);
|
||||||
|
@ -26,7 +26,5 @@
|
|||||||
|
|
||||||
extern void tui_check_register_values (struct frame_info *);
|
extern void tui_check_register_values (struct frame_info *);
|
||||||
extern void tui_show_registers (struct reggroup *group);
|
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 */
|
#endif /* TUI_TUI_REGS_H */
|
||||||
|
@ -101,7 +101,7 @@ tui_data_window::display_all_data ()
|
|||||||
erase_data_content (NULL);
|
erase_data_content (NULL);
|
||||||
delete_data_content_windows ();
|
delete_data_content_windows ();
|
||||||
tui_check_and_display_highlight_if_needed (this);
|
tui_check_and_display_highlight_if_needed (this);
|
||||||
tui_display_registers_from (0);
|
display_registers_from (0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -125,7 +125,7 @@ tui_data_window::refresh_all ()
|
|||||||
if (first_line >= 0)
|
if (first_line >= 0)
|
||||||
{
|
{
|
||||||
erase_data_content (NULL);
|
erase_data_content (NULL);
|
||||||
tui_display_registers_from_line (first_line);
|
display_registers_from_line (first_line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -152,7 +152,7 @@ tui_data_window::do_scroll_vertical (int num_to_scroll)
|
|||||||
first_line += num_to_scroll;
|
first_line += num_to_scroll;
|
||||||
erase_data_content (NULL);
|
erase_data_content (NULL);
|
||||||
delete_data_content_windows ();
|
delete_data_content_windows ();
|
||||||
tui_display_registers_from_line (first_line);
|
display_registers_from_line (first_line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user