Introduce max_height method
This introduces the tui_win_info::max_height method and changes new_height_ok to use it, rather than checking the window type directly. gdb/ChangeLog 2019-06-25 Tom Tromey <tom@tromey.com> * tui/tui-win.c (tui_win_info::max_height) (tui_cmd_window::max_height): New methods. (new_height_ok): Call max_height. * tui/tui-data.h (struct tui_win_info, struct tui_cmd_window) <max_height>: New method.
This commit is contained in:
parent
3f02ce1e3d
commit
8903bd8a37
|
@ -1,3 +1,11 @@
|
|||
2019-06-25 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tui/tui-win.c (tui_win_info::max_height)
|
||||
(tui_cmd_window::max_height): New methods.
|
||||
(new_height_ok): Call max_height.
|
||||
* tui/tui-data.h (struct tui_win_info, struct tui_cmd_window)
|
||||
<max_height>: New method.
|
||||
|
||||
2019-06-25 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tui/tui-win.c (tui_source_window_base::set_new_height)
|
||||
|
|
|
@ -273,6 +273,9 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
/* Compute the maximum height of this window. */
|
||||
virtual int max_height () const;
|
||||
|
||||
/* Methods to scroll the contents of this window. Note that they
|
||||
are named with "_scroll" coming at the end because the more
|
||||
obvious "scroll_forward" is defined as a macro in term.h. */
|
||||
|
@ -426,6 +429,8 @@ struct tui_cmd_window : public tui_win_info
|
|||
{
|
||||
}
|
||||
|
||||
int max_height () const override;
|
||||
|
||||
int start_line = 0;
|
||||
|
||||
protected:
|
||||
|
|
|
@ -1377,6 +1377,22 @@ make_visible_with_new_height (struct tui_win_info *win_info)
|
|||
}
|
||||
|
||||
|
||||
/* See tui-data.h. */
|
||||
|
||||
int
|
||||
tui_win_info::max_height () const
|
||||
{
|
||||
return tui_term_height () - 2;
|
||||
}
|
||||
|
||||
/* See tui-data.h. */
|
||||
|
||||
int
|
||||
tui_cmd_window::max_height () const
|
||||
{
|
||||
return tui_term_height () - 4;
|
||||
}
|
||||
|
||||
static int
|
||||
new_height_ok (struct tui_win_info *primary_win_info,
|
||||
int new_height)
|
||||
|
@ -1391,12 +1407,8 @@ new_height_ok (struct tui_win_info *primary_win_info,
|
|||
diff = (new_height - primary_win_info->generic.height) * (-1);
|
||||
if (cur_layout == SRC_COMMAND || cur_layout == DISASSEM_COMMAND)
|
||||
{
|
||||
ok = ((primary_win_info->generic.type == CMD_WIN
|
||||
&& new_height <= (tui_term_height () - 4)
|
||||
&& new_height >= MIN_CMD_WIN_HEIGHT)
|
||||
|| (primary_win_info->generic.type != CMD_WIN
|
||||
&& new_height <= (tui_term_height () - 2)
|
||||
&& new_height >= MIN_WIN_HEIGHT));
|
||||
ok = (new_height <= primary_win_info->max_height ()
|
||||
&& new_height >= MIN_CMD_WIN_HEIGHT);
|
||||
if (ok)
|
||||
{ /* Check the total height. */
|
||||
struct tui_win_info *win_info;
|
||||
|
|
Loading…
Reference in New Issue