Use "bool" in more spots in TUI
[deliverable/binutils-gdb.git] / gdb / tui / tui-stack.h
index 9ba3806bfc47923a7244e14aa4c05f93e28c78a0..0a928f328b4955c15d6b17b13c387927d272b5eb 100644 (file)
@@ -1,6 +1,6 @@
 /* TUI display locator.
 
-   Copyright (C) 1998-2013 Free Software Foundation, Inc.
+   Copyright (C) 1998-2019 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_fullname (const char *);
+/* Locator window class.  */
+
+struct tui_locator_window : public tui_gen_win_info
+{
+  tui_locator_window ()
+    : tui_gen_win_info (LOCATOR_WIN)
+  {
+    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.026726 seconds and 4 git commands to generate.