mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
3df505f60e
The TUI currently has two different ways to resize a window: the resize method, and the methods make_invisible_and_set_new_height and make_visible_with_new_height. There's no deep reason to have two different ways to resize a window, so this patch unifies them, leaving just the "resize" method. This also changes the locator to be handled more like an ordinary window and less like an adjunct of the associated source window. gdb/ChangeLog 2019-08-15 Tom Tromey <tom@tromey.com> * tui/tui-io.c (tui_puts_internal): Check TUI_CMD_WIN before calling update_cmdwin_start_line. * tui/tui-winsource.h (struct tui_source_window_base) <do_make_visible_with_new_height, set_new_height>: Don't declare. <rerender>: Declare. * tui/tui-winsource.c (tui_source_window_base::update_tab_width): Call rerender. (tui_source_window_base::set_new_height): Remove. (tui_source_window_base::rerender): Rename from do_make_visible_with_new_height. * tui/tui-win.c (tui_resize_all, tui_adjust_win_heights): Use resize method. (tui_win_info::make_invisible_and_set_new_height) (tui_win_info::make_visible_with_new_height): Remove. * tui/tui-stack.h (struct tui_locator_window) <rerender>: Declare. * tui/tui-stack.c (tui_locator_window::rerender): New method. * tui/tui-regs.h (struct tui_data_window) <set_new_height, do_make_visible_with_new_height>: Don't declare. <rerender>: Declare. * tui/tui-regs.c (tui_data_window::rerender): Rename from set_new_height. (tui_data_window::do_make_visible_with_new_height): Remove. * tui/tui-layout.c (show_source_disasm_command, show_data): Don't call tui_show_locator_content. (tui_gen_win_info::resize): Call rerender. (show_source_or_disasm_and_command): Don't call tui_show_locator_content. * tui/tui-data.h (struct tui_gen_win_info) <rerender>: New method. (struct tui_win_info) <rerender>: Declare. <set_new_height, make_invisible_and_set_new_height, make_visible_with_new_height>: Don't declare. * tui/tui-data.c (tui_win_list::rerender): New method. * tui/tui-command.h (struct tui_cmd_window) <do_make_visible_with_new_height>: Don't declare. * tui/tui-command.c (tui_cmd_window::do_make_visible_with_new_height): Remove. gdb/testsuite/ChangeLog 2019-08-15 Tom Tromey <tom@tromey.com> * gdb.tui/empty.exp: Enable resizing tests.
83 lines
1.8 KiB
C++
83 lines
1.8 KiB
C++
/* Specific command window processing.
|
|
|
|
Copyright (C) 1998-2019 Free Software Foundation, Inc.
|
|
|
|
Contributed by Hewlett-Packard Company.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#ifndef TUI_TUI_COMMAND_H
|
|
#define TUI_TUI_COMMAND_H
|
|
|
|
#include "tui/tui-data.h"
|
|
|
|
/* The TUI command window. */
|
|
struct tui_cmd_window : public tui_win_info
|
|
{
|
|
tui_cmd_window ()
|
|
: tui_win_info (CMD_WIN)
|
|
{
|
|
can_highlight = false;
|
|
}
|
|
|
|
DISABLE_COPY_AND_ASSIGN (tui_cmd_window);
|
|
|
|
int max_height () const override;
|
|
|
|
void refresh_window () override
|
|
{
|
|
}
|
|
|
|
const char *name () const override
|
|
{
|
|
return CMD_NAME;
|
|
}
|
|
|
|
bool can_scroll () const override
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool can_box () const override
|
|
{
|
|
return false;
|
|
}
|
|
|
|
void resize (int height, int width, int origin_x, int origin_y) override;
|
|
|
|
void make_visible (bool visible) override
|
|
{
|
|
/* The command window can't be made invisible. */
|
|
}
|
|
|
|
int start_line = 0;
|
|
|
|
protected:
|
|
|
|
void do_scroll_vertical (int num_to_scroll) override
|
|
{
|
|
}
|
|
|
|
void do_scroll_horizontal (int num_to_scroll) override
|
|
{
|
|
}
|
|
};
|
|
|
|
/* Refresh the command window. */
|
|
extern void tui_refresh_cmd_win (void);
|
|
|
|
#endif /* TUI_TUI_COMMAND_H */
|