1 /* TUI display source/assembly window. 2 3 Copyright 1998, 1999, 2000, 2001, 2002, 2004 Free Software 4 Foundation, Inc. 5 6 Contributed by Hewlett-Packard Company. 7 8 This file is part of GDB. 9 10 This program is free software; you can redistribute it and/or modify 11 it under the terms of the GNU General Public License as published by 12 the Free Software Foundation; either version 2 of the License, or 13 (at your option) any later version. 14 15 This program is distributed in the hope that it will be useful, 16 but WITHOUT ANY WARRANTY; without even the implied warranty of 17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 GNU General Public License for more details. 19 20 You should have received a copy of the GNU General Public License 21 along with this program; if not, write to the Free Software 22 Foundation, Inc., 59 Temple Place - Suite 330, 23 Boston, MA 02111-1307, USA. */ 24 25 #ifndef TUI_SOURCEWIN_H 26 #define TUI_SOURCEWIN_H 27 28 #include "tui/tui-data.h" 29 30 struct tui_win_info; 31 32 /* Update the execution windows to show the active breakpoints. This 33 is called whenever a breakpoint is inserted, removed or has its 34 state changed. */ 35 extern void tui_update_all_breakpoint_info (void); 36 37 /* Scan the source window and the breakpoints to update the hasBreak 38 information for each line. Returns 1 if something changed and the 39 execution window must be refreshed. */ 40 extern int tui_update_breakpoint_info (struct tui_win_info * win, 41 int current_only); 42 43 /* Function to display the "main" routine. */ 44 extern void tui_display_main (void); 45 extern void tui_update_source_window (struct tui_win_info *, struct symtab *, 46 union tui_line_or_address, int); 47 extern void tui_update_source_window_as_is (struct tui_win_info *, 48 struct symtab *, 49 union tui_line_or_address, int); 50 extern void tui_update_source_windows_with_addr (CORE_ADDR); 51 extern void tui_update_source_windows_with_line (struct symtab *, int); 52 extern void tui_clear_source_content (struct tui_win_info *, int); 53 extern void tui_erase_source_content (struct tui_win_info *, int); 54 extern void tui_show_source_content (struct tui_win_info *); 55 extern void tui_horizontal_source_scroll (struct tui_win_info *, 56 enum tui_scroll_direction, int); 57 extern enum tui_status tui_set_exec_info_content (struct tui_win_info *); 58 extern void tui_show_exec_info_content (struct tui_win_info *); 59 extern void tui_erase_exec_info_content (struct tui_win_info *); 60 extern void tui_clear_exec_info_content (struct tui_win_info *); 61 extern void tui_update_exec_info (struct tui_win_info *); 62 63 extern void tui_set_is_exec_point_at (union tui_line_or_address, 64 struct tui_win_info *); 65 extern enum tui_status tui_alloc_source_buffer (struct tui_win_info *); 66 extern int tui_line_is_displayed (int, struct tui_win_info *, int); 67 extern int tui_addr_is_displayed (CORE_ADDR, struct tui_win_info *, int); 68 69 70 /* Constant definitions. */ 71 #define SCROLL_THRESHOLD 2 /* threshold for lazy scroll */ 72 73 #endif 74