1/* TUI display locator. 2 3 Copyright (C) 1998-2023 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 27class frame_info_ptr; 28 29/* Locator window class. */ 30 31struct tui_locator_window : public tui_win_info 32{ 33 tui_locator_window () = default; 34 35 const char *name () const override 36 { 37 return STATUS_NAME; 38 } 39 40 int max_height () const override 41 { 42 return 1; 43 } 44 45 int min_height () const override 46 { 47 return 1; 48 } 49 50 bool can_box () const override 51 { 52 return false; 53 } 54 55 bool can_focus () const override 56 { 57 return false; 58 } 59 60 void rerender () override; 61 62protected: 63 64 void do_scroll_vertical (int n) override 65 { 66 } 67 68 void do_scroll_horizontal (int n) override 69 { 70 } 71 72private: 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 81extern void tui_show_locator_content (void); 82extern bool tui_show_frame_info (frame_info_ptr); 83 84#endif /* TUI_TUI_STACK_H */ 85