/* Data/register window display.
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007
- Free Software Foundation, Inc.
+ Copyright (C) 1998-2019 Free Software Foundation, Inc.
Contributed by Hewlett-Packard Company.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
#include "tui/tui.h"
#include "tui/tui-data.h"
#include "tui/tui-wingeneral.h"
#include "tui/tui-regs.h"
-
-#include "gdb_string.h"
+#include "tui/tui-windata.h"
#include "gdb_curses.h"
{
struct tui_gen_win_info *data_item_win;
- data_item_win = &((tui_win_content)
- TUI_DATA_WIN->generic.content)[i]->which_element.data_window;
- if (data_item_win->handle != (WINDOW *) NULL
+ data_item_win
+ = &TUI_DATA_WIN->generic.content[i]->which_element.data_window;
+ if (data_item_win->handle != NULL
&& data_item_win->is_visible)
element_no = i;
}
}
-/* Answer the index of the first element in line_no. If line_no is
- past the data area (-1) is returned. */
-int
-tui_first_data_element_no_in_line (int line_no)
-{
- int first_element_no = (-1);
-
- /* First see if there is a register on line_no, and if so, set the
- first element number. */
- if ((first_element_no = tui_first_reg_element_no_inline (line_no)) == -1)
- { /* Looking at the general data, the 1st element on line_no. */
- }
-
- return first_element_no;
-}
-
-
/* Function to delete all the item windows in the data window. This
is usually done when the data window is scrolled. */
void
for (i = 0; (i < TUI_DATA_WIN->generic.content_size); i++)
{
- data_item_win_ptr = &((tui_win_content)
- TUI_DATA_WIN->generic.content)[i]->which_element.data_window;
+ data_item_win_ptr
+ = &TUI_DATA_WIN->generic.content[i]->which_element.data_window;
tui_delete_win (data_item_win_ptr->handle);
- data_item_win_ptr->handle = (WINDOW *) NULL;
+ data_item_win_ptr->handle = NULL;
data_item_win_ptr->is_visible = FALSE;
}
}
void
-tui_erase_data_content (char *prompt)
+tui_erase_data_content (const char *prompt)
{
werase (TUI_DATA_WIN->generic.handle);
tui_check_and_display_highlight_if_needed (TUI_DATA_WIN);
- if (prompt != (char *) NULL)
+ if (prompt != NULL)
{
int half_width = (TUI_DATA_WIN->generic.width - 2) / 2;
int x_pos;
mvwaddstr (TUI_DATA_WIN->generic.handle,
(TUI_DATA_WIN->generic.height / 2),
x_pos,
- prompt);
+ (char *) prompt);
}
wrefresh (TUI_DATA_WIN->generic.handle);
}
tui_erase_data_content (NO_DATA_STRING);
else
{
- tui_erase_data_content ((char *) NULL);
+ tui_erase_data_content (NULL);
tui_delete_data_content_windows ();
tui_check_and_display_highlight_if_needed (TUI_DATA_WIN);
tui_display_registers_from (0);
/* Then display the other data. */
- if (TUI_DATA_WIN->detail.data_display_info.data_content !=
- (tui_win_content) NULL
+ if (TUI_DATA_WIN->detail.data_display_info.data_content != NULL
&& TUI_DATA_WIN->detail.data_display_info.data_content_count > 0)
{
}
tui_display_registers_from_line (_line_no, TRUE);
else
{
- int element_no, start_line_no;
int regs_last_line = tui_last_regs_line_no ();
if (first_line >= 0)
{
- tui_erase_data_content ((char *) NULL);
+ tui_erase_data_content (NULL);
if (!reuse_windows)
tui_delete_data_content_windows ();
tui_display_data_from_line (first_line);
void
tui_refresh_data_win (void)
{
- tui_erase_data_content ((char *) NULL);
+ tui_erase_data_content (NULL);
if (TUI_DATA_WIN->generic.content_size > 0)
{
int first_element = tui_first_data_item_displayed ();
data_item_ptr = &TUI_DATA_WIN->detail.data_display_info.
data_content[i]->which_element.data_window;
data_element_ptr = &((tui_win_content)
- data_item_win_ptr->content)[0]->which_element.data;
+ data_item_win_ptr->content)[0]->which_element.data;
if value
has changed (data_element_ptr, frame, &new_value)
{
data_element_ptr->value = new_value;
- update the display with the new value, hiliting it.
+ update the display with the newobj value, hiliting it.
}
#endif
}
int first_line = (-1);
first_element_no = tui_first_data_item_displayed ();
- if (first_element_no < TUI_DATA_WIN->detail.data_display_info.regs_content_count)
+ if (first_element_no
+ < TUI_DATA_WIN->detail.data_display_info.regs_content_count)
first_line = tui_line_from_reg_element_no (first_element_no);
else
{ /* Calculate the first line from the element number which is in
if (first_line >= 0)
{
- int last_element_no, last_line;
-
if (scroll_direction == FORWARD_SCROLL)
first_line += num_to_scroll;
else
first_line -= num_to_scroll;
- tui_erase_data_content ((char *) NULL);
+ tui_erase_data_content (NULL);
tui_delete_data_content_windows ();
tui_display_data_from_line (first_line);
}