Introduce max_height method
[deliverable/binutils-gdb.git] / gdb / tui / tui-wingeneral.c
index 542881779fa5c3c459962dda05d654aacf4dd019..4d168af0c0952d026cc848abcc3bc2d67e90789c 100644 (file)
@@ -161,7 +161,7 @@ tui_make_window (struct tui_gen_win_info *win_info, int box_it)
     {
       if (box_it == BOX_WINDOW)
        box_win (win_info, NO_HILITE);
-      win_info->is_visible = TRUE;
+      win_info->is_visible = true;
       scrollok (handle, TRUE);
     }
 }
@@ -171,7 +171,7 @@ tui_make_window (struct tui_gen_win_info *win_info, int box_it)
    delete the entire window when making it visible, and create it
    again when making it visible.  */
 static void
-make_visible (struct tui_gen_win_info *win_info, int visible)
+make_visible (struct tui_gen_win_info *win_info, bool visible)
 {
   /* Don't tear down/recreate command window.  */
   if (win_info->type == CMD_WIN)
@@ -184,14 +184,14 @@ make_visible (struct tui_gen_win_info *win_info, int visible)
          tui_make_window (win_info,
                           (win_info->type != CMD_WIN
                            && !tui_win_is_auxillary (win_info->type)));
-         win_info->is_visible = TRUE;
+         win_info->is_visible = true;
        }
     }
   else if (!visible
           && win_info->is_visible
           && win_info->handle != NULL)
     {
-      win_info->is_visible = FALSE;
+      win_info->is_visible = false;
       tui_delete_win (win_info->handle);
       win_info->handle = NULL;
     }
@@ -202,36 +202,43 @@ make_visible (struct tui_gen_win_info *win_info, int visible)
 void
 tui_make_visible (struct tui_gen_win_info *win_info)
 {
-  make_visible (win_info, 1);
+  make_visible (win_info, true);
 }
 
 void
 tui_make_invisible (struct tui_gen_win_info *win_info)
 {
-  make_visible (win_info, 0);
+  make_visible (win_info, false);
 }
 
+/* See tui-data.h.  */
+
+void
+tui_win_info::make_visible (bool visible)
+{
+  ::make_visible (&generic, visible);
+}
+
+/* See tui-data.h.  */
+
+void
+tui_source_window_base::make_visible (bool visible)
+{
+  ::make_visible (execution_info, visible);
+  tui_win_info::make_visible (visible);
+}
 
 /* Makes all windows invisible (except the command and locator
    windows).  */
 static void
-make_all_visible (int visible)
+make_all_visible (bool visible)
 {
   int i;
 
   for (i = 0; i < MAX_MAJOR_WINDOWS; i++)
     {
-      if (tui_win_list[i] != NULL
-         && ((tui_win_list[i])->generic.type) != CMD_WIN)
-       {
-         if (tui_win_is_source_type ((tui_win_list[i])->generic.type))
-           {
-             tui_source_window_base *base
-               = (tui_source_window_base *) tui_win_list[i];
-             make_visible (base->execution_info, visible);
-           }
-         make_visible (&tui_win_list[i]->generic, visible);
-       }
+      if (tui_win_list[i] != NULL)
+       tui_win_list[i]->make_visible (visible);
     }
 
   return;
@@ -240,13 +247,32 @@ make_all_visible (int visible)
 void
 tui_make_all_visible (void)
 {
-  make_all_visible (1);
+  make_all_visible (true);
 }
 
 void
 tui_make_all_invisible (void)
 {
-  make_all_visible (0);
+  make_all_visible (false);
+}
+
+/* See tui-data.h.  */
+
+void
+tui_win_info::refresh ()
+{
+  touchwin (generic.handle);
+  tui_refresh_win (&generic);
+}
+
+/* See tui-data.h.  */
+
+void
+tui_source_window_base::refresh ()
+{
+  touchwin (execution_info->handle);
+  tui_refresh_win (execution_info);
+  tui_win_info::refresh ();
 }
 
 /* Function to refresh all the windows currently displayed.  */
@@ -260,17 +286,7 @@ tui_refresh_all (struct tui_win_info **list)
   for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++)
     {
       if (list[type] && list[type]->generic.is_visible)
-       {
-         if (type == SRC_WIN || type == DISASSEM_WIN)
-           {
-             tui_source_window_base *base
-               = (tui_source_window_base *) list[type];
-             touchwin (base->execution_info->handle);
-             tui_refresh_win (base->execution_info);
-           }
-         touchwin (list[type]->generic.handle);
-         tui_refresh_win (&list[type]->generic);
-       }
+       list[type]->refresh ();
     }
   if (locator->is_visible)
     {
This page took 0.025086 seconds and 4 git commands to generate.