1 /* TUI display locator. 2 3 Copyright (C) 1998-2021 Free Software Foundation, Inc. 4 5 Contributed by Hewlett-Packard Company. 6 7 This file is part of GDB. 8 9 This program is free software; you can redistribute it and/or modify 10 it under the terms of the GNU General Public License as published by 11 the Free Software Foundation; either version 3 of the License, or 12 (at your option) any later version. 13 14 This program is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 GNU General Public License for more details. 18 19 You should have received a copy of the GNU General Public License 20 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 21 22 #ifndef TUI_TUI_STACK_H 23 #define TUI_TUI_STACK_H 24 25 #include "tui/tui-data.h" 26 27 struct frame_info; 28 29 /* Locator window class. */ 30 31 struct tui_locator_window : public tui_win_info 32 { 33 tui_locator_window () = default; 34 nametui_locator_window35 const char *name () const override 36 { 37 return STATUS_NAME; 38 } 39 max_heighttui_locator_window40 int max_height () const override 41 { 42 return 1; 43 } 44 min_heighttui_locator_window45 int min_height () const override 46 { 47 return 1; 48 } 49 can_boxtui_locator_window50 bool can_box () const override 51 { 52 return false; 53 } 54 can_focustui_locator_window55 bool can_focus () const override 56 { 57 return false; 58 } 59 60 void rerender () override; 61 62 protected: 63 do_scroll_verticaltui_locator_window64 void do_scroll_vertical (int n) override 65 { 66 } 67 do_scroll_horizontaltui_locator_window68 void do_scroll_horizontal (int n) override 69 { 70 } 71 72 private: 73 74 /* Create the status line to display as much information as we can 75 on this single line: target name, process number, current 76 function, current line, current PC, SingleKey mode. */ 77 78 std::string make_status_line () const; 79 }; 80 81 extern void tui_show_locator_content (void); 82 extern bool tui_show_frame_info (struct frame_info *); 83 84 #endif /* TUI_TUI_STACK_H */ 85