Move locator code to tui-stack.c

The locator is mostly implemented in tui-stack.c.  This moves the
remaining bits to tui-stack.c and tui-stack.h, as appropriate.

gdb/ChangeLog
2019-08-15  Tom Tromey  <tom@tromey.com>

	* tui/tui-wingeneral.c: Include tui-stack.h.
	* tui/tui-stack.h (MAX_LOCATOR_ELEMENT_LEN)
	(struct tui_locator_window): Move from tui-data.h.
	* tui/tui-stack.c (_locator, tui_locator_win_info_ptr)
	(tui_initialize_static_data): Move from tui-data.c.
	* tui/tui-data.h (MAX_LOCATOR_ELEMENT_LEN)
	(struct tui_locator_window): Move to tui-stack.c.
	* tui/tui-data.c (_locator, tui_locator_win_info_ptr)
	(tui_initialize_static_data): Move to tui-stack.c.
This commit is contained in:
Tom Tromey 2019-07-06 11:32:06 -06:00
parent ed4a1084d7
commit f2dda47784
6 changed files with 65 additions and 50 deletions

View File

@ -1,3 +1,15 @@
2019-08-15 Tom Tromey <tom@tromey.com>
* tui/tui-wingeneral.c: Include tui-stack.h.
* tui/tui-stack.h (MAX_LOCATOR_ELEMENT_LEN)
(struct tui_locator_window): Move from tui-data.h.
* tui/tui-stack.c (_locator, tui_locator_win_info_ptr)
(tui_initialize_static_data): Move from tui-data.c.
* tui/tui-data.h (MAX_LOCATOR_ELEMENT_LEN)
(struct tui_locator_window): Move to tui-stack.c.
* tui/tui-data.c (_locator, tui_locator_win_info_ptr)
(tui_initialize_static_data): Move to tui-stack.c.
2019-08-15 Tom Tromey <tom@tromey.com>
* tui/tui-layout.c (show_source_disasm_command)

View File

@ -36,7 +36,6 @@ struct tui_win_info *tui_win_list[MAX_MAJOR_WINDOWS];
** Private data
****************************/
static int term_height, term_width;
static struct tui_locator_window _locator;
static std::vector<tui_source_window_base *> source_windows;
static struct tui_win_info *win_with_focus = NULL;
@ -128,15 +127,6 @@ tui_add_to_source_windows (struct tui_source_window_base *win_info)
source_windows.push_back (win_info);
}
/* Accessor for the locator win info. Answers a pointer to the static
locator win info struct. */
struct tui_locator_window *
tui_locator_win_info_ptr (void)
{
return &_locator;
}
/* Accessor for the term_height. */
int
tui_term_height (void)
@ -253,21 +243,6 @@ tui_partial_win_by_name (const char *name)
return NULL;
}
void
tui_initialize_static_data ()
{
tui_gen_win_info *win = tui_locator_win_info_ptr ();
win->width =
win->height =
win->origin.x =
win->origin.y =
win->viewport_height = 0;
win->handle = NULL;
win->is_visible = false;
win->title = 0;
}
/* See tui-data.h. */
void

View File

@ -148,31 +148,6 @@ struct tui_line_or_address
} u;
};
#ifdef PATH_MAX
# define MAX_LOCATOR_ELEMENT_LEN PATH_MAX
#else
# define MAX_LOCATOR_ELEMENT_LEN 1024
#endif
/* Locator window class. */
struct tui_locator_window : public tui_gen_win_info
{
tui_locator_window ()
: tui_gen_win_info (LOCATOR_WIN)
{
full_name[0] = 0;
proc_name[0] = 0;
}
char full_name[MAX_LOCATOR_ELEMENT_LEN];
char proc_name[MAX_LOCATOR_ELEMENT_LEN];
int line_no = 0;
CORE_ADDR addr = 0;
/* Architecture associated with code at this location. */
struct gdbarch *gdbarch = nullptr;
};
/* This defines information about each logical window. */
struct tui_win_info : public tui_gen_win_info
{

View File

@ -39,6 +39,8 @@
#include "gdb_curses.h"
static struct tui_locator_window _locator;
/* Get a printable name for the function at the address.
The symbol name is demangled if demangling is turned on.
Returns a pointer to a static area holding the result. */
@ -56,6 +58,29 @@ static int tui_set_locator_info (struct gdbarch *gdbarch,
static void tui_update_command (const char *, int);
/* Accessor for the locator win info. Answers a pointer to the static
locator win info struct. */
struct tui_locator_window *
tui_locator_win_info_ptr (void)
{
return &_locator;
}
void
tui_initialize_static_data ()
{
tui_gen_win_info *win = tui_locator_win_info_ptr ();
win->width =
win->height =
win->origin.x =
win->origin.y =
win->viewport_height = 0;
win->handle = NULL;
win->is_visible = false;
win->title = 0;
}
/* Create the status line to display as much information as we can on
this single line: target name, process number, current function,
current line, current PC, SingleKey mode. */

View File

@ -22,8 +22,35 @@
#ifndef TUI_TUI_STACK_H
#define TUI_TUI_STACK_H
#include "tui/tui-data.h"
struct frame_info;
#ifdef PATH_MAX
# define MAX_LOCATOR_ELEMENT_LEN PATH_MAX
#else
# define MAX_LOCATOR_ELEMENT_LEN 1024
#endif
/* Locator window class. */
struct tui_locator_window : public tui_gen_win_info
{
tui_locator_window ()
: tui_gen_win_info (LOCATOR_WIN)
{
full_name[0] = 0;
proc_name[0] = 0;
}
char full_name[MAX_LOCATOR_ELEMENT_LEN];
char proc_name[MAX_LOCATOR_ELEMENT_LEN];
int line_no = 0;
CORE_ADDR addr = 0;
/* Architecture associated with code at this location. */
struct gdbarch *gdbarch = nullptr;
};
extern void tui_update_locator_fullname (const char *);
extern void tui_show_locator_content (void);
extern int tui_show_frame_info (struct frame_info *);

View File

@ -24,6 +24,7 @@
#include "tui/tui-data.h"
#include "tui/tui-wingeneral.h"
#include "tui/tui-win.h"
#include "tui/tui-stack.h"
#include "gdb_curses.h"