Change set_locator_info to take a symtab_and_line
[deliverable/binutils-gdb.git] / gdb / tui / tui-stack.h
CommitLineData
f377b406 1/* TUI display locator.
47d3492a 2
42a4f53d 3 Copyright (C) 1998-2019 Free Software Foundation, Inc.
47d3492a 4
f377b406
SC
5 Contributed by Hewlett-Packard Company.
6
7 This file is part of GDB.
8
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
a9762ec7 11 the Free Software Foundation; either version 3 of the License, or
f377b406
SC
12 (at your option) any later version.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
a9762ec7 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */
f377b406 21
1a5c2598
TT
22#ifndef TUI_TUI_STACK_H
23#define TUI_TUI_STACK_H
47d3492a 24
f2dda477
TT
25#include "tui/tui-data.h"
26
47d3492a 27struct frame_info;
c906108c 28
f2dda477
TT
29/* Locator window class. */
30
31struct tui_locator_window : public tui_gen_win_info
32{
33 tui_locator_window ()
34 : tui_gen_win_info (LOCATOR_WIN)
35 {
36 full_name[0] = 0;
37 proc_name[0] = 0;
38 }
39
c8ec2f43
TT
40 int max_height () const override
41 {
42 return 1;
43 }
44
dc7ff8a6
TT
45 int min_height () const override
46 {
47 return 1;
48 }
49
3df505f6
TT
50 void rerender () override;
51
e594a5d1
TT
52 /* Update the locator, with the provided arguments.
53
54 Returns true if any of the locator's fields were actually
55 changed, and false otherwise. */
56 bool set_locator_info (struct gdbarch *gdbarch,
0ab92974
TT
57 const struct symtab_and_line &sal,
58 const char *procname);
e594a5d1
TT
59
60 /* Set the full_name portion of the locator. */
61 void set_locator_fullname (const char *fullname);
62
9923f347
TT
63 std::string full_name;
64 std::string proc_name;
f2dda477
TT
65 int line_no = 0;
66 CORE_ADDR addr = 0;
67 /* Architecture associated with code at this location. */
68 struct gdbarch *gdbarch = nullptr;
71a25ed2
TT
69
70private:
71
72 /* Create the status line to display as much information as we can
73 on this single line: target name, process number, current
74 function, current line, current PC, SingleKey mode. */
75
76 std::string make_status_line () const;
f2dda477
TT
77};
78
c1b167d7 79extern void tui_update_locator_fullname (struct symtab *symtab);
47d3492a 80extern void tui_show_locator_content (void);
bbcbf914 81extern int tui_show_frame_info (struct frame_info *);
c906108c 82
1a5c2598 83#endif /* TUI_TUI_STACK_H */
This page took 2.22295 seconds and 4 git commands to generate.