gdb/tui: Place window titles in the center of the border
In tui-wingeneral.c:box_win () a comment suggest we should display titles like this: +-WINDOW TITLE GOES HERE-+ However, we actually display them like this: +--WINDOW TITLE GOES HERE+ The former seems nicer to me, so that's what this commit does. Short titles will appear as: +-SHORT TITLE------------+ We previously didn't test the horizontal windows borders in the test suite, however, I've updated things so that we do now check for the '+-' and '-+' on the upper border, this will give us some protection. gdb/ChangeLog: * tui/tui-wingeneral.c (box_win): Position the title in the center of the border. gdb/testsuite/ChangeLog: * lib/tuiterm.exp (Term::_check_box): Check some parts of the top border. Change-Id: Iead6910e3b4e68bdf6871f861f23d2efd699faf0
This commit is contained in:
parent
d8b2f9e333
commit
9a6d629ccf
@ -1,3 +1,8 @@
|
||||
2020-01-13 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* tui/tui-wingeneral.c (box_win): Position the title in the center
|
||||
of the border.
|
||||
|
||||
2020-01-13 Simon Marchi <simon.marchi@polymtl.ca>
|
||||
|
||||
* corelow.c (core_target::get_core_register_section): Use
|
||||
|
@ -1,3 +1,8 @@
|
||||
2020-01-13 Andrew Burgess <andrew.burgess@embecosm.com>
|
||||
|
||||
* lib/tuiterm.exp (Term::_check_box): Check some parts of the top
|
||||
border.
|
||||
|
||||
2020-01-10 Tankut Baris Aktemur <tankut.baris.aktemur@intel.com>
|
||||
|
||||
* gdb.multi/multi-target.exp (setup): Factor out "info
|
||||
|
@ -569,9 +569,20 @@ namespace eval Term {
|
||||
return "lr corner"
|
||||
}
|
||||
|
||||
# Note we do not check the horizonal borders of the box. The
|
||||
# top will contain a title, and the bottom may as well, if it
|
||||
# is overlapped by some other border.
|
||||
# Note we do not check the full horizonal borders of the box.
|
||||
# The top will contain a title, and the bottom may as well, if
|
||||
# it is overlapped by some other border. However, at most a
|
||||
# title should appear as '+-VERY LONG TITLE-+', so we can
|
||||
# check for the '+-' on the left, and '-+' on the right.
|
||||
if {[get_char [expr {$x + 1}] $y] != "-"} {
|
||||
return "ul title padding"
|
||||
}
|
||||
|
||||
if {[get_char [expr {$x2 - 1}] $y] != "-"} {
|
||||
return "ul title padding"
|
||||
}
|
||||
|
||||
# Now check the vertical borders.
|
||||
for {set i [expr {$y + 1}]} {$i < $y2 - 1} {incr i} {
|
||||
if {[get_char $x $i] != "|"} {
|
||||
return "left side $i"
|
||||
|
@ -75,13 +75,13 @@ box_win (struct tui_win_info *win_info,
|
||||
int max_len = win_info->width - 2 - 2;
|
||||
|
||||
if (win_info->title.size () <= max_len)
|
||||
mvwaddstr (win, 0, 3, win_info->title.c_str ());
|
||||
mvwaddstr (win, 0, 2, win_info->title.c_str ());
|
||||
else
|
||||
{
|
||||
std::string truncated
|
||||
= "..." + win_info->title.substr (win_info->title.size ()
|
||||
- max_len + 3);
|
||||
mvwaddstr (win, 0, 3, truncated.c_str ());
|
||||
mvwaddstr (win, 0, 2, truncated.c_str ());
|
||||
}
|
||||
}
|
||||
wattroff (win, attrs);
|
||||
|
Loading…
Reference in New Issue
Block a user