Replace most calls to help_list and cmd_show_list
[deliverable/binutils-gdb.git] / gdb / tui / tui-stack.h
index f58963974b624167c9d22145600dbe5416cdbf4b..fde7c6dd2c938a41f6d6e5f770a6bc6f3e0d6152 100644 (file)
@@ -1,6 +1,6 @@
 /* TUI display locator.
 
-   Copyright (C) 1998-2013 Free Software Foundation, Inc.
+   Copyright (C) 1998-2020 Free Software Foundation, Inc.
 
    Contributed by Hewlett-Packard Company.
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef TUI_STACK_H
-#define TUI_STACK_H
+#ifndef TUI_TUI_STACK_H
+#define TUI_TUI_STACK_H
+
+#include "tui/tui-data.h"
 
 struct frame_info;
 
-extern void tui_update_locator_filename (const char *);
+/* Locator window class.  */
+
+struct tui_locator_window : public tui_gen_win_info
+{
+  tui_locator_window ()
+  {
+    full_name[0] = 0;
+    proc_name[0] = 0;
+  }
+
+  int max_height () const override
+  {
+    return 1;
+  }
+
+  int min_height () const override
+  {
+    return 1;
+  }
+
+  void rerender () override;
+
+  /* Update the locator, with the provided arguments.
+
+     Returns true if any of the locator's fields were actually
+     changed, and false otherwise.  */
+  bool set_locator_info (struct gdbarch *gdbarch,
+                        const struct symtab_and_line &sal,
+                        const char *procname);
+
+  /* Set the full_name portion of the locator.  */
+  void set_locator_fullname (const char *fullname);
+
+  std::string full_name;
+  std::string proc_name;
+  int line_no = 0;
+  CORE_ADDR addr = 0;
+  /* Architecture associated with code at this location.  */
+  struct gdbarch *gdbarch = nullptr;
+
+private:
+
+  /* Create the status line to display as much information as we can
+     on this single line: target name, process number, current
+     function, current line, current PC, SingleKey mode.  */
+
+  std::string make_status_line () const;
+};
+
+extern void tui_update_locator_fullname (struct symtab *symtab);
 extern void tui_show_locator_content (void);
-extern void tui_show_frame_info (struct frame_info *);
+extern bool tui_show_frame_info (struct frame_info *);
 
-#endif
+#endif /* TUI_TUI_STACK_H */
This page took 0.033698 seconds and 4 git commands to generate.