diff options
author | Tom Tromey <tom@tromey.com> | 2020-07-01 21:21:12 -0600 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2020-07-01 21:21:17 -0600 |
commit | 32c1e2100975c073b3c1d9e2041de9f74b6e2049 (patch) | |
tree | 6a8287214e60beafd26e079057083fa2b61d6d93 /gdb/tui/tui-data.h | |
parent | a30cb6dabb20e26dc80b0952ae709613372359f8 (diff) | |
download | gdb-32c1e2100975c073b3c1d9e2041de9f74b6e2049.zip gdb-32c1e2100975c073b3c1d9e2041de9f74b6e2049.tar.gz gdb-32c1e2100975c073b3c1d9e2041de9f74b6e2049.tar.bz2 |
Remove tui_gen_win_info
This merges the tui_gen_win_info base class with tui_win_info;
renaming the resulting class to tui_win_info.
gdb/ChangeLog
2020-07-01 Tom Tromey <tom@tromey.com>
* tui/tui-wingeneral.c (tui_win_info::refresh_window): Move from
tui_gen_win_info.
(tui_win_info::make_window): Merge with
tui_gen_win_info::make_window.
(tui_win_info::make_visible): Move from tui_gen_win_info.
* tui/tui-win.c (tui_win_info::max_width): Move from
tui_gen_win_info.
* tui/tui-layout.h (class tui_layout_window) <m_window>: Change
type.
<window_factory>: Likewise.
* tui/tui-layout.c (tui_win_info::resize): Move from
tui_gen_win_info.
(make_standard_window): Change return type.
(get_locator_window, tui_get_window_by_name): Likewise.
(tui_layout_window::apply): Remove a cast.
* tui/tui-data.h (MIN_WIN_HEIGHT): Move earlier.
(struct tui_win_info): Merge with tui_gen_win_info.
(struct tui_gen_win_info): Remove.
Diffstat (limited to 'gdb/tui/tui-data.h')
-rw-r--r-- | gdb/tui/tui-data.h | 110 |
1 files changed, 40 insertions, 70 deletions
diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h index 10dd0ae..3c14b26 100644 --- a/gdb/tui/tui-data.h +++ b/gdb/tui/tui-data.h @@ -35,27 +35,25 @@ struct curses_deleter } }; +#define MIN_WIN_HEIGHT 3 + /* Generic window information. */ -struct tui_gen_win_info +struct tui_win_info { protected: - tui_gen_win_info () = default; + tui_win_info () = default; + DISABLE_COPY_AND_ASSIGN (tui_win_info); /* This is called after the window is resized, and should update the window's contents. */ - virtual void rerender () - { - } + virtual void rerender (); virtual void make_window (); public: - tui_gen_win_info (tui_gen_win_info &&) = default; - - virtual ~tui_gen_win_info () - { - } + tui_win_info (tui_win_info &&) = default; + virtual ~tui_win_info () = default; /* Call to refresh this window. */ virtual void refresh_window (); @@ -70,10 +68,13 @@ public: } /* Compute the maximum height of this window. */ - virtual int max_height () const = 0; + virtual int max_height () const; /* Compute the minimum height of this window. */ - virtual int min_height () const = 0; + virtual int min_height () const + { + return MIN_WIN_HEIGHT; + } /* Compute the maximum width of this window. */ int max_width () const; @@ -87,7 +88,7 @@ public: /* Return true if this window can be boxed. */ virtual bool can_box () const { - return false; + return true; } /* Resize this window. The parameters are used to set the window's @@ -108,58 +109,6 @@ public: wnoutrefresh (handle.get ()); } - /* Window handle. */ - std::unique_ptr<WINDOW, curses_deleter> handle; - /* Window width. */ - int width = 0; - /* Window height. */ - int height = 0; - /* Origin of window. */ - int x = 0; - int y = 0; -}; - -/* Constant definitions. */ -#define SRC_NAME "src" -#define CMD_NAME "cmd" -#define DATA_NAME "regs" -#define DISASSEM_NAME "asm" -#define STATUS_NAME "status" -#define MIN_WIN_HEIGHT 3 - -/* This defines information about each logical window. */ -struct tui_win_info : public tui_gen_win_info -{ -protected: - - tui_win_info () = default; - DISABLE_COPY_AND_ASSIGN (tui_win_info); - - /* Scroll the contents vertically. This is only called via - forward_scroll and backward_scroll. */ - virtual void do_scroll_vertical (int num_to_scroll) = 0; - - /* Scroll the contents horizontally. This is only called via - left_scroll and right_scroll. */ - virtual void do_scroll_horizontal (int num_to_scroll) = 0; - - void rerender () override; - - void make_window () override; - -public: - - ~tui_win_info () override - { - } - - int max_height () const override; - - int min_height () const override - { - return MIN_WIN_HEIGHT; - } - /* Called after the tab width has been changed. */ virtual void update_tab_width () { @@ -185,20 +134,41 @@ public: return true; } - bool can_box () const override - { - return true; - } - void check_and_display_highlight_if_needed (); + /* Window handle. */ + std::unique_ptr<WINDOW, curses_deleter> handle; + /* Window width. */ + int width = 0; + /* Window height. */ + int height = 0; + /* Origin of window. */ + int x = 0; + int y = 0; + /* Window title to display. */ std::string title; /* Is this window highlighted? */ bool is_highlighted = false; + +protected: + + /* Scroll the contents vertically. This is only called via + forward_scroll and backward_scroll. */ + virtual void do_scroll_vertical (int num_to_scroll) = 0; + + /* Scroll the contents horizontally. This is only called via + left_scroll and right_scroll. */ + virtual void do_scroll_horizontal (int num_to_scroll) = 0; }; +/* Constant definitions. */ +#define SRC_NAME "src" +#define CMD_NAME "cmd" +#define DATA_NAME "regs" +#define DISASSEM_NAME "asm" +#define STATUS_NAME "status" /* Global Data. */ extern struct tui_win_info *tui_win_list[MAX_MAJOR_WINDOWS]; |