public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Introduce reset_locator function in tui-layout.c
@ 2019-07-17 18:39 Tom Tromey
  0 siblings, 0 replies; only message in thread
From: Tom Tromey @ 2019-07-17 18:39 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1bf605de8e9ae4fcf77c21067ddaf4a242a873f7

commit 1bf605de8e9ae4fcf77c21067ddaf4a242a873f7
Author: Tom Tromey <tom@tromey.com>
Date:   Fri Jun 28 23:56:25 2019 -0600

    Introduce reset_locator function in tui-layout.c
    
    init_and_make_win in tui-layout.c is now only called for the locator
    -- earlier changes have made most of the cases here obsolete.  This
    patch removes init_and_make_win and introduces a reset_locator
    function.  Window creation is now much simpler to follow, because it
    is no longer quite so dynamic.  (Though it will become even simpler in
    coming patches.)
    
    gdb/ChangeLog
    2019-07-17  Tom Tromey  <tom@tromey.com>
    
    	* tui/tui-layout.c (show_source_disasm_command): Use
    	reset_locator.
    	(reset_locator): New function.
    	(init_and_make_win): Remove.
    	(show_source_or_disasm_and_command): Use reset_locator.

Diff:
---
 gdb/ChangeLog        |  8 +++++
 gdb/tui/tui-layout.c | 89 ++++++++++++++--------------------------------------
 2 files changed, 31 insertions(+), 66 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1c56652..76549e0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,13 @@
 2019-07-17  Tom Tromey  <tom@tromey.com>
 
+	* tui/tui-layout.c (show_source_disasm_command): Use
+	reset_locator.
+	(reset_locator): New function.
+	(init_and_make_win): Remove.
+	(show_source_or_disasm_and_command): Use reset_locator.
+
+2019-07-17  Tom Tromey  <tom@tromey.com>
+
 	* tui/tui-winsource.c (tui_set_exec_info_content): Remove
 	condition.
 	* tui/tui-wingeneral.c (tui_source_window_base::make_visible):
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 23537b7..ab849a9 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -43,10 +43,8 @@
 ** Static Local Decls
 ********************************/
 static void show_layout (enum tui_layout_type);
-static tui_gen_win_info *init_and_make_win (tui_gen_win_info *,
-					    enum tui_win_type,
-					    int, int, int, int,
-					    enum tui_box);
+static void reset_locator (tui_gen_win_info *,
+			   int, int, int, int);
 static void show_source_or_disasm_and_command (enum tui_layout_type);
 static struct tui_win_info *make_command_window (int, int);
 static struct tui_win_info *make_source_window (int, int);
@@ -614,13 +612,11 @@ show_source_disasm_command (void)
 	{
 	  tui_win_list[DISASSEM_WIN]
 	    = make_disasm_window (asm_height, src_height - 1);
-	  init_and_make_win (locator,
-			     LOCATOR_WIN,
-			     2 /* 1 */ ,
-			     tui_term_width (),
-			     0,
-			     (src_height + asm_height) - 1,
-			     DONT_BOX_WINDOW);
+	  reset_locator (locator,
+			 2 /* 1 */ ,
+			 tui_term_width (),
+			 0,
+			 (src_height + asm_height) - 1);
 	}
       else
 	{
@@ -696,13 +692,11 @@ show_data (enum tui_layout_type new_layout)
       else
 	tui_win_list[win_type]
 	  = make_disasm_window (src_height, data_height - 1);
-      init_and_make_win (locator,
-			     LOCATOR_WIN,
-			     2 /* 1 */ ,
-			     tui_term_width (),
-			     0,
-			     total_height - 1,
-			     DONT_BOX_WINDOW);
+      reset_locator (locator,
+		     2 /* 1 */ ,
+		     tui_term_width (),
+		     0,
+		     total_height - 1);
       base = (tui_source_window_base *) tui_win_list[win_type];
     }
   else
@@ -751,48 +745,13 @@ tui_gen_win_info::reset (enum tui_win_type win_type,
   origin.y = origin_y_;
 }
 
-/* init_and_make_win().
- */
-static tui_gen_win_info *
-init_and_make_win (tui_gen_win_info *win_info, 
-		   enum tui_win_type win_type,
-		   int height, int width, 
-		   int origin_x, int origin_y,
-		   enum tui_box box_it)
+static void
+reset_locator (tui_gen_win_info *win_info, 
+	       int height, int width, 
+	       int origin_x, int origin_y)
 {
-  if (win_info == NULL)
-    {
-      switch (win_type)
-	{
-	case SRC_WIN:
-	  win_info = new tui_source_window ();
-	  break;
-
-	case DISASSEM_WIN:
-	  win_info = new tui_disasm_window ();
-	  break;
-
-	case DATA_WIN:
-	  win_info = new tui_data_window ();
-	  break;
-
-	case CMD_WIN:
-	  win_info = new tui_cmd_window ();
-	  break;
-
-	case EXEC_INFO_WIN:
-	  win_info = new tui_exec_info_window ();
-	  break;
-
-	default:
-	  gdb_assert_not_reached (_("unhandled window type"));
-	}
-    }
-
-  win_info->reset (win_type, height, width, origin_x, origin_y);
-  tui_make_window (win_info, box_it);
-
-  return win_info;
+  win_info->reset (LOCATOR_WIN, height, width, origin_x, origin_y);
+  tui_make_window (win_info, DONT_BOX_WINDOW);
 }
 
 
@@ -825,13 +784,11 @@ show_source_or_disasm_and_command (enum tui_layout_type layout_type)
 	    *win_info_ptr = make_source_window (src_height - 1, 0);
 	  else
 	    *win_info_ptr = make_disasm_window (src_height - 1, 0);
-	  init_and_make_win (locator,
-			     LOCATOR_WIN,
-			     2 /* 1 */ ,
-			     tui_term_width (),
-			     0,
-			     src_height - 1,
-			     DONT_BOX_WINDOW);
+	  reset_locator (locator,
+			 2 /* 1 */ ,
+			 tui_term_width (),
+			 0,
+			 src_height - 1);
 	  base = (tui_source_window_base *) *win_info_ptr;
 	}
       else


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2019-07-17 18:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-17 18:39 [binutils-gdb] Introduce reset_locator function in tui-layout.c Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).