/* TUI data manipulation routines.
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007
- Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006, 2007, 2008,
+ 2009, 2010 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 "symtab.h"
static struct tui_list source_windows = {src_win_list, 0};
static int default_tab_len = DEFAULT_TAB_LEN;
static struct tui_win_info *win_with_focus = (struct tui_win_info *) NULL;
-static struct tui_layout_def layout_def =
-{SRC_WIN, /* DISPLAY_MODE */
- FALSE, /* SPLIT */
- TUI_UNDEFINED_REGS, /* REGS_DISPLAY_TYPE */
- TUI_SFLOAT_REGS}; /* FLOAT_REGS_DISPLAY_TYPE */
+static struct tui_layout_def layout_def = {
+ SRC_WIN, /* DISPLAY_MODE */
+ FALSE, /* SPLIT */
+ TUI_UNDEFINED_REGS, /* REGS_DISPLAY_TYPE */
+ TUI_SFLOAT_REGS}; /* FLOAT_REGS_DISPLAY_TYPE */
+
static int win_resized = FALSE;
/*********************************
** Static function forward decls
**********************************/
-static void free_content (tui_win_content, int, enum tui_win_type);
-static void free_content_elements (tui_win_content, int, enum tui_win_type);
+static void free_content (tui_win_content,
+ int,
+ enum tui_win_type);
+static void free_content_elements (tui_win_content,
+ int,
+ enum tui_win_type);
int
tui_win_has_locator (struct tui_win_info *win_info)
{
- return (win_info != NULL \
+ return (win_info != NULL
&& win_info->detail.source_info.has_locator);
}
void
-tui_set_win_highlight (struct tui_win_info *win_info, int highlight)
+tui_set_win_highlight (struct tui_win_info *win_info,
+ int highlight)
{
if (win_info != NULL)
win_info->is_highlighted = highlight;
{
case SRC_WIN:
case DISASSEM_WIN:
+ win_info->detail.source_info.gdbarch = NULL;
win_info->detail.source_info.start_line_or_addr.loa = LOA_ADDRESS;
win_info->detail.source_info.start_line_or_addr.u.addr = 0;
win_info->detail.source_info.horizontal_offset = 0;
/* Set the origin of the window. */
void
-set_gen_win_origin (struct tui_gen_win_info *win_info, int x, int y)
+set_gen_win_origin (struct tui_gen_win_info *win_info,
+ int x, int y)
{
win_info->origin.x = x;
win_info->origin.y = y;
type = cur_win->generic.type + 1;
while (type != cur_win->generic.type && (next_win == NULL))
{
- if (tui_win_list[type] && tui_win_list[type]->generic.is_visible)
+ if (tui_win_list[type]
+ && tui_win_list[type]->generic.is_visible)
next_win = tui_win_list[type];
else
{
type = cur_win->generic.type - 1;
while (type != cur_win->generic.type && (prev == NULL))
{
- if (tui_win_list[type]->generic.is_visible)
+ if (tui_win_list[type]
+ && tui_win_list[type]->generic.is_visible)
prev = tui_win_list[type];
else
{
if (tui_win_list[i] != 0)
{
char *cur_name = tui_win_name (&tui_win_list[i]->generic);
- if (strlen (name) <= strlen (cur_name) &&
- strncmp (name, cur_name, strlen (name)) == 0)
+ if (strlen (name) <= strlen (cur_name)
+ && strncmp (name, cur_name, strlen (name)) == 0)
win_info = tui_win_list[i];
}
i++;
/* init_content_element().
*/
-void
-init_content_element (struct tui_win_element *element, enum tui_win_type type)
+static void
+init_content_element (struct tui_win_element *element,
+ enum tui_win_type type)
{
element->highlight = FALSE;
switch (type)
}
}
-void
+static void
init_win_info (struct tui_win_info *win_info)
{
tui_init_generic_part (&win_info->generic);
win_info->detail.source_info.execution_info = (struct tui_gen_win_info *) NULL;
win_info->detail.source_info.has_locator = FALSE;
win_info->detail.source_info.horizontal_offset = 0;
+ win_info->detail.source_info.gdbarch = NULL;
win_info->detail.source_info.start_line_or_addr.loa = LOA_ADDRESS;
win_info->detail.source_info.start_line_or_addr.u.addr = 0;
win_info->detail.source_info.filename = 0;
there is a memory allocation error, in which case, (-1) is
returned. */
int
-tui_add_content_elements (struct tui_gen_win_info *win_info, int num_elements)
+tui_add_content_elements (struct tui_gen_win_info *win_info,
+ int num_elements)
{
struct tui_win_element *element_ptr;
int i, index_start;
void
-tui_del_data_windows (tui_win_content content, int content_size)
+tui_del_data_windows (tui_win_content content,
+ int content_size)
{
int i;
void
-tui_free_data_content (tui_win_content content, int content_size)
+tui_free_data_content (tui_win_content content,
+ int content_size)
{
int i;
}
}
free_content (content,
- content_size,
- DATA_WIN);
+ content_size,
+ DATA_WIN);
}
static void
-free_content (tui_win_content content, int content_size, enum tui_win_type win_type)
+free_content (tui_win_content content,
+ int content_size,
+ enum tui_win_type win_type)
{
if (content != (tui_win_content) NULL)
{
/* free_content_elements().
*/
static void
-free_content_elements (tui_win_content content, int content_size, enum tui_win_type type)
+free_content_elements (tui_win_content content,
+ int content_size,
+ enum tui_win_type type)
{
if (content != (tui_win_content) NULL)
{