binutils-gdb/gdb/tui
Tom Tromey 1df2f9ef6c Style disassembly in the TUI
This patch changes the TUI disassembly window to style its contents.
The styling should be identical to what is seen in the CLI.  This
involved a bit of rearrangement, so that the source and disassembly
windows could share both the copy_source_line utility function, and
the ability to react to changes in "set style enabled".

This version introduces a new function to strip the styling from the
address string when computing the length.  As a byproduct, it also
removes the unused "insn_size" computation from
tui_disasm_window::set_contents.

gdb/ChangeLog
2019-11-05  Tom Tromey  <tom@tromey.com>

	* tui/tui-source.h (struct tui_source_window): Inline
	constructor.  Remove destructor.
	<style_changed, m_observable>: Move to superclass.
	* tui/tui-winsource.h (tui_copy_source_line): Declare.
	(struct tui_source_window_base): Move private members to end.
	<style_changed, m_observable>: Move from tui_source_window.
	* tui/tui-winsource.c (tui_copy_source_line): Move from
	tui-source.c.  Rename from copy_source_line.  Add special handling
	for negative line number.
	(tui_source_window_base::style_changed): Move from
	tui_source_window.
	(tui_source_window_base): Register observer.
	(~tui_source_window_base): New.
	* tui/tui-source.c (copy_source_line): Move to tui-winsource.c;
	rename.
	(tui_source_window::set_contents): Use tui_copy_source_line.
	(tui_source_window::tui_source_window): Move to tui-source.h.
	(tui_source_window::~tui_source_window): Remove.
	(tui_source_window::style_changed): Move to superclass.
	* tui/tui-disasm.c (tui_disassemble): Create string file with
	styling, when possible.  Add "addr_size" parameter.
	(tui_disasm_window::set_contents): Use tui_copy_source_line.
	Don't compute maximum size.
	(len_without_escapes): New function

Change-Id: I8722635eeecbbb1633d943a65b856404c2d467b0
2019-11-05 15:23:36 -07:00
..
ChangeLog-1998-2003
tui-command.c Make TUI window handle a unique_ptr 2019-10-09 16:50:35 -06:00
tui-command.h TUI resize unification 2019-08-15 14:17:11 -06:00
tui-data.c Make TUI window handle a unique_ptr 2019-10-09 16:50:35 -06:00
tui-data.h [gdb] Fix more typos in comments (2) 2019-10-26 09:55:32 +02:00
tui-disasm.c Style disassembly in the TUI 2019-11-05 15:23:36 -07:00
tui-disasm.h Some i18n fixes for the TUI 2019-08-20 16:22:03 -06:00
tui-file.c Update copyright year range in all GDB files. 2019-01-01 10:01:51 +04:00
tui-file.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
tui-hooks.c Change tui_check_register_values to be a method 2019-08-20 16:45:50 -06:00
tui-hooks.h Normalize include guards in gdb 2019-02-07 03:27:23 -07:00
tui-interp.c Remove tui_initialize_static_data 2019-08-15 12:29:28 -06:00
tui-io.c [gdb] Fix more typos in comments (2) 2019-10-26 09:55:32 +02:00
tui-io.h Change tui_data_item_window::content to be a unique_xmalloc_ptr 2019-08-20 16:45:50 -06:00
tui-layout.c Make TUI window handle a unique_ptr 2019-10-09 16:50:35 -06:00
tui-layout.h Remove tui_default_win_viewport_height 2019-10-09 16:50:33 -06:00
tui-out.c Introduce metadata style 2019-10-01 15:12:40 -06:00
tui-out.h Introduce metadata style 2019-10-01 15:12:40 -06:00
tui-regs.c Don't call erase_data_content from tui_data_window::show_registers 2019-10-09 16:50:36 -06:00
tui-regs.h Rename private data members of tui_data_window 2019-09-20 13:49:10 -06:00
tui-source.c Style disassembly in the TUI 2019-11-05 15:23:36 -07:00
tui-source.h Style disassembly in the TUI 2019-11-05 15:23:36 -07:00
tui-stack.c Make TUI window handle a unique_ptr 2019-10-09 16:50:35 -06:00
tui-stack.h Change members of tui_locator_window to std::string 2019-09-20 13:49:10 -06:00
tui-win.c [gdb] Fix more typos in comments (2) 2019-10-26 09:55:32 +02:00
tui-win.h Introduce methods for scrolling 2019-06-25 07:48:28 -06:00
tui-wingeneral.c Make TUI window handle a unique_ptr 2019-10-09 16:50:35 -06:00
tui-wingeneral.h Make TUI window handle a unique_ptr 2019-10-09 16:50:35 -06:00
tui-winsource.c Style disassembly in the TUI 2019-11-05 15:23:36 -07:00
tui-winsource.h Style disassembly in the TUI 2019-11-05 15:23:36 -07:00
tui.c [gdb] Fix more typos in comments (2) 2019-10-26 09:55:32 +02:00
tui.h Remove two TUI comments 2019-10-09 16:50:33 -06:00