Home | History | Annotate | Line # | Download | only in tui
      1      1.1  christos /* TUI status line.
      2      1.1  christos 
      3      1.1  christos    Copyright (C) 1998-2024 Free Software Foundation, Inc.
      4      1.1  christos 
      5      1.1  christos    Contributed by Hewlett-Packard Company.
      6      1.1  christos 
      7      1.1  christos    This file is part of GDB.
      8      1.1  christos 
      9      1.1  christos    This program is free software; you can redistribute it and/or modify
     10      1.1  christos    it under the terms of the GNU General Public License as published by
     11      1.1  christos    the Free Software Foundation; either version 3 of the License, or
     12      1.1  christos    (at your option) any later version.
     13      1.1  christos 
     14      1.1  christos    This program is distributed in the hope that it will be useful,
     15      1.1  christos    but WITHOUT ANY WARRANTY; without even the implied warranty of
     16      1.1  christos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17      1.1  christos    GNU General Public License for more details.
     18      1.1  christos 
     19      1.1  christos    You should have received a copy of the GNU General Public License
     20      1.1  christos    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
     21      1.1  christos 
     22  1.1.1.2  christos #ifndef GDB_TUI_TUI_STATUS_H
     23  1.1.1.2  christos #define GDB_TUI_TUI_STATUS_H
     24      1.1  christos 
     25      1.1  christos #include "tui/tui-data.h"
     26      1.1  christos 
     27      1.1  christos class frame_info_ptr;
     28      1.1  christos 
     29      1.1  christos /* Locator window class.  */
     30      1.1  christos 
     31      1.1  christos struct tui_status_window
     32      1.1  christos   : public tui_nofocus_window, tui_noscroll_window, tui_oneline_window,
     33      1.1  christos     tui_nobox_window
     34      1.1  christos {
     35      1.1  christos   tui_status_window () = default;
     36      1.1  christos 
     37      1.1  christos   const char *name () const override
     38      1.1  christos   {
     39      1.1  christos     return STATUS_NAME;
     40      1.1  christos   }
     41      1.1  christos 
     42      1.1  christos   void rerender () override;
     43      1.1  christos 
     44      1.1  christos private:
     45      1.1  christos 
     46      1.1  christos   /* Create the status line to display as much information as we can
     47      1.1  christos      on this single line: target name, process number, current
     48      1.1  christos      function, current line, current PC, SingleKey mode.  */
     49      1.1  christos 
     50      1.1  christos   std::string make_status_line () const;
     51      1.1  christos };
     52      1.1  christos 
     53  1.1.1.2  christos /* Return the instance of the status window.  */
     54  1.1.1.2  christos 
     55  1.1.1.2  christos inline tui_status_window *
     56  1.1.1.2  christos tui_status_win ()
     57  1.1.1.2  christos {
     58  1.1.1.2  christos   return dynamic_cast<tui_status_window *> (tui_win_list[STATUS_WIN]);
     59  1.1.1.2  christos }
     60  1.1.1.2  christos 
     61      1.1  christos extern void tui_show_status_content (void);
     62      1.1  christos extern void tui_show_frame_info (const frame_info_ptr &);
     63      1.1  christos 
     64  1.1.1.2  christos #endif /* GDB_TUI_TUI_STATUS_H */
     65