Class-ify ui_out
[deliverable/binutils-gdb.git] / gdb / tui / tui.h
CommitLineData
f377b406 1/* External/Public TUI Header File.
65f05602 2
618f726f 3 Copyright (C) 1998-2016 Free Software Foundation, Inc.
65f05602 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/>. */
c906108c
SS
21
22#ifndef TUI_H
23#define TUI_H
c906108c 24
4a4b3fed
AC
25struct ui_file;
26
297d1607 27extern void strcat_to_buf (char *, int, const char *);
c906108c 28
22940a24
AC
29/* Types of error returns. */
30enum tui_status
31{
32 TUI_SUCCESS,
33 TUI_FAILURE
34};
c906108c 35
1cc6d956 36/* Types of windows. */
22940a24
AC
37enum tui_win_type
38{
39 SRC_WIN = 0,
40 DISASSEM_WIN,
41 DATA_WIN,
42 CMD_WIN,
43 /* This must ALWAYS be AFTER the major windows last. */
44 MAX_MAJOR_WINDOWS,
45 /* Auxillary windows. */
46 LOCATOR_WIN,
47 EXEC_INFO_WIN,
48 DATA_ITEM_WIN,
49 /* This must ALWAYS be next to last. */
50 MAX_WINDOWS,
51 UNDEFINED_WIN /* LAST */
52};
53
c906108c
SS
54/* GENERAL TUI FUNCTIONS */
55/* tui.c */
13274fc3
UW
56extern CORE_ADDR tui_get_low_disassembly_address (struct gdbarch *,
57 CORE_ADDR, CORE_ADDR);
58extern void tui_show_assembly (struct gdbarch *gdbarch, CORE_ADDR addr);
22940a24 59extern int tui_is_window_visible (enum tui_win_type type);
c68a6671
AC
60extern int tui_get_command_dimension (unsigned int *width,
61 unsigned int *height);
39db33d6
SC
62
63/* Initialize readline and configure the keymap for the switching
64 key shortcut. */
65extern void tui_initialize_readline (void);
66
67/* Enter in the tui mode (curses). */
68extern void tui_enable (void);
69
70/* Leave the tui mode. */
71extern void tui_disable (void);
c906108c 72
e09d2eba
SC
73enum tui_key_mode
74{
75 /* Plain command mode to enter gdb commands. */
6d012f14 76 TUI_COMMAND_MODE,
e09d2eba
SC
77
78 /* SingleKey mode with some keys bound to gdb commands. */
6d012f14 79 TUI_SINGLE_KEY_MODE,
e09d2eba 80
1cc6d956
MS
81 /* Read/edit one command and return to SingleKey after it's
82 processed. */
6d012f14 83 TUI_ONE_COMMAND_MODE
e09d2eba
SC
84};
85
86extern enum tui_key_mode tui_current_key_mode;
87
1cc6d956
MS
88/* Change the TUI key mode by installing the appropriate readline
89 keymap. */
e09d2eba
SC
90extern void tui_set_key_mode (enum tui_key_mode mode);
91
c6f60bcd
SC
92extern int tui_active;
93
56d397a3 94extern void tui_show_source (const char *fullname, int line);
c6f60bcd 95
22940a24 96/* tui-layout.c */
7bd0be3a 97extern enum tui_status tui_set_layout_by_name (const char *);
c906108c 98
6d012f14 99#endif
This page took 1.875022 seconds and 4 git commands to generate.