gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / tui / tui-command.c
CommitLineData
f377b406 1/* Specific command window processing.
f33c6cbf 2
b811d2c2 3 Copyright (C) 1998-2020 Free Software Foundation, Inc.
f33c6cbf 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 21
96ec9981 22#include "defs.h"
d7b2e967
AC
23#include "tui/tui.h"
24#include "tui/tui-data.h"
25#include "tui/tui-win.h"
26#include "tui/tui-io.h"
2c0b251b 27#include "tui/tui-command.h"
db502012 28#include "tui/tui-wingeneral.h"
f33c6cbf 29
6a83354a 30#include "gdb_curses.h"
c906108c 31
ce38393b
TT
32/* See tui-command.h. */
33
ce38393b
TT
34int
35tui_cmd_window::max_height () const
36{
37 return tui_term_height () - 4;
38}
c906108c 39
db502012
TT
40void
41tui_cmd_window::resize (int height_, int width_, int origin_x, int origin_y)
42{
43 width = width_;
44 height = height_;
fb3184d8
TT
45 x = origin_x;
46 y = origin_y;
db502012
TT
47
48 if (handle == nullptr)
ab0e1f1a 49 make_window ();
db502012
TT
50 else
51 {
52 /* Another reason we don't call the base class method here is
53 that for the command window in particular, we want to avoid
54 destroying the underlying handle. We don't currently track
55 the contents of this window, and so have no way to re-render
56 it. However we can at least move it and keep the old size if
57 wresize isn't available. */
58#ifdef HAVE_WRESIZE
7523da63 59 wresize (handle.get (), height, width);
db502012 60#endif
fb3184d8 61 mvwin (handle.get (), y, x);
7523da63 62 wmove (handle.get (), 0, 0);
db502012
TT
63 }
64}
65
518be979
DE
66/* See tui-command.h. */
67
68void
69tui_refresh_cmd_win (void)
70{
7523da63 71 WINDOW *w = TUI_CMD_WIN->handle.get ();
518be979 72
45bbae5c 73 tui_wrefresh (w);
518be979
DE
74
75 /* FIXME: It's not clear why this is here.
76 It was present in the original tui_puts code and is kept in order to
77 not introduce some subtle breakage. */
78 fflush (stdout);
79}
This page took 2.278132 seconds and 4 git commands to generate.