GDB (xrefs)
Loading...
Searching...
No Matches
gdb
tui
tui-command.c
Go to the documentation of this file.
1
/* Specific command window processing.
2
3
Copyright (C) 1998-2023 Free Software Foundation, Inc.
4
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
11
the Free Software Foundation; either version 3 of the License, or
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
20
along with this program. If not, see <http://www.gnu.org/licenses/>. */
21
22
#include "
defs.h
"
23
#include "
tui/tui.h
"
24
#include "
tui/tui-data.h
"
25
#include "
tui/tui-win.h
"
26
#include "
tui/tui-io.h
"
27
#include "
tui/tui-command.h
"
28
#include "
tui/tui-wingeneral.h
"
29
30
#include "
gdb_curses.h
"
31
32
/* See tui-command.h. */
33
34
void
35
tui_cmd_window::resize
(
int
height_,
int
width_,
int
origin_x,
int
origin_y)
36
{
37
width
= width_;
38
height
= height_;
39
x
= origin_x;
40
y
= origin_y;
41
42
if
(
handle
==
nullptr
)
43
make_window
();
44
else
45
{
46
/* Another reason we don't call the base class method here is
47
that for the command window in particular, we want to avoid
48
destroying the underlying handle. We don't currently track
49
the contents of this window, and so have no way to re-render
50
it. However we can at least move it and keep the old size if
51
wresize isn't available. */
52
#ifdef HAVE_WRESIZE
53
wresize (
handle
.get (),
height
,
width
);
54
#endif
55
mvwin (
handle
.get (),
y
,
x
);
56
wmove (
handle
.get (), 0, 0);
57
}
58
}
59
60
/* See tui-command.h. */
61
62
void
63
tui_refresh_cmd_win
(
void
)
64
{
65
WINDOW *w =
TUI_CMD_WIN
->handle.get ();
66
67
tui_wrefresh
(w);
68
69
/* FIXME: It's not clear why this is here.
70
It was present in the original tui_puts code and is kept in order to
71
not introduce some subtle breakage. */
72
fflush (stdout);
73
}
defs.h
gdb_curses.h
tui_cmd_window::resize
void resize(int height, int width, int origin_x, int origin_y) override
Definition
tui-command.c:35
tui_win_info::height
int height
Definition
tui-data.h:162
tui_win_info::width
int width
Definition
tui-data.h:160
tui_win_info::x
int x
Definition
tui-data.h:164
tui_win_info::y
int y
Definition
tui-data.h:165
tui_win_info::make_window
virtual void make_window()
Definition
tui-wingeneral.c:166
tui_win_info::handle
std::unique_ptr< WINDOW, curses_deleter > handle
Definition
tui-data.h:158
tui_refresh_cmd_win
void tui_refresh_cmd_win(void)
Definition
tui-command.c:63
tui-command.h
tui-data.h
TUI_CMD_WIN
#define TUI_CMD_WIN
Definition
tui-data.h:198
tui-io.h
tui-win.h
tui_wrefresh
void tui_wrefresh(WINDOW *win)
Definition
tui-wingeneral.c:65
tui-wingeneral.h
tui.h
Generated by
1.10.0