Move source window common to code to tui-winsource.[ch]
[deliverable/binutils-gdb.git] / gdb / tui / tui-source.h
CommitLineData
f377b406 1/* TUI display source window.
a358af15 2
42a4f53d 3 Copyright (C) 1998-2019 Free Software Foundation, Inc.
a358af15 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_SOURCE_H
23#define TUI_TUI_SOURCE_H
a358af15
AC
24
25#include "tui/tui-data.h"
5104fe36 26#include "tui-winsource.h"
c906108c 27
a358af15 28struct symtab;
bfad4537
TT
29
30/* A TUI source window. */
31
32struct tui_source_window : public tui_source_window_base
33{
34 tui_source_window ();
35 ~tui_source_window ();
36
37 DISABLE_COPY_AND_ASSIGN (tui_source_window);
38
39 const char *name () const override
40 {
41 return SRC_NAME;
42 }
43
5104fe36
TT
44 /* Return true if the location LOC corresponds to the line number
45 LINE_NO in this source window; false otherwise. */
bfad4537
TT
46 bool location_matches_p (struct bp_location *loc, int line_no) override;
47
48 bool showing_source_p (const char *filename) const;
49
50protected:
51
52 void do_scroll_vertical (int num_to_scroll) override;
53
54private:
55
56 void style_changed ();
57
58 /* A token used to register and unregister an observer. */
59 gdb::observers::token m_observable;
60};
f80bda8e 61
5813316f
TT
62extern enum tui_status tui_set_source_content (tui_source_window_base *,
63 struct symtab *,
08ef48c5 64 int, int);
5813316f
TT
65extern void tui_show_symtab_source (tui_source_window_base *,
66 struct gdbarch *, struct symtab *,
08ef48c5
MS
67 struct tui_line_or_address,
68 int);
c906108c 69
1a5c2598 70#endif /* TUI_TUI_SOURCE_H */
This page took 2.207368 seconds and 4 git commands to generate.