Change inferior thread list to be a thread map
[deliverable/binutils-gdb.git] / gdb / tui / tui-command.c
index 1a269e7fb519d77143471d7e8cea180a356692b4..e4c3a1b749161298a057a9e83339793951222d38 100644 (file)
 #include "tui/tui-win.h"
 #include "tui/tui-io.h"
 #include "tui/tui-command.h"
+#include "tui/tui-wingeneral.h"
 
 #include "gdb_curses.h"
-/*****************************************
-** STATIC LOCAL FUNCTIONS FORWARD DECLS    **
-******************************************/
 
+/* See tui-command.h.  */
 
+int
+tui_cmd_window::max_height () const
+{
+  return tui_term_height () - 4;
+}
 
-/*****************************************
-** PUBLIC FUNCTIONS                        **
-******************************************/
+void
+tui_cmd_window::resize (int height_, int width_, int origin_x, int origin_y)
+{
+  width = width_;
+  height = height_;
+  if (height > 1)
+    {
+      /* Note this differs from the base class implementation, because
+        this window can't be boxed.  */
+      viewport_height = height - 1;
+    }
+  else
+    viewport_height = 1;
+  x = origin_x;
+  y = origin_y;
+
+  if (handle == nullptr)
+    make_window ();
+  else
+    {
+      /* Another reason we don't call the base class method here is
+        that for the command window in particular, we want to avoid
+        destroying the underlying handle.  We don't currently track
+        the contents of this window, and so have no way to re-render
+        it.  However we can at least move it and keep the old size if
+        wresize isn't available.  */
+#ifdef HAVE_WRESIZE
+      wresize (handle.get (), height, width);
+#endif
+      mvwin (handle.get (), y, x);
+      wmove (handle.get (), 0, 0);
+    }
+}
 
 /* See tui-command.h.  */
 
 void
 tui_refresh_cmd_win (void)
 {
-  WINDOW *w = TUI_CMD_WIN->handle;
+  WINDOW *w = TUI_CMD_WIN->handle.get ();
 
   wrefresh (w);
 
This page took 0.028713 seconds and 4 git commands to generate.