You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
5.7 KiB
Plaintext
164 lines
5.7 KiB
Plaintext
# SrcTextWin class definition, for Insight
|
|
# Copyright (C) 1997, 1998, 1999, 2001 Red Hat, Inc.
|
|
#
|
|
# This program is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License (GPL) as published by
|
|
# the Free Software Foundation; either version 2 of the License, or (at
|
|
# your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
|
|
|
|
itcl::class SrcTextWin {
|
|
inherit itk::Widget GDBWin
|
|
|
|
public {
|
|
variable Tracing ;# 1 if we are running in trace mode
|
|
variable Browsing 0 ;# 1 if we are browsing a trace experiment
|
|
variable parent {} ;# the parent SrcWin
|
|
variable ignore_var_balloons 0; # ignore all variable balloons
|
|
|
|
# Set the height of the src window
|
|
variable textheight 5i {
|
|
catch {$itk_interior.p configure -height $itk_option(-textheight)}
|
|
}
|
|
|
|
method constructor {args}
|
|
method destructor {}
|
|
method disassembly_changed {}
|
|
method reconfig {}
|
|
method trace_find_hook {mode from_tty}
|
|
method set_control_mode {mode}
|
|
method build_popups {}
|
|
method build_win {}
|
|
method SetRunningState {state}
|
|
method enable {on}
|
|
method setTabs {win {asm S}}
|
|
method enable_disable_src_tags {win how}
|
|
method config_win {win {asm S}}
|
|
method addPopup {menu label command {abg {}} {browse 1} {run 1}}
|
|
method updateBalloon {}
|
|
method ClearTags {}
|
|
method FillSource {winname tagname filename funcname line addr pc_addr lib}
|
|
method FillAssembly {winname tagname filename funcname line addr pc_addr lib}
|
|
method FillMixed {winname tagname filename funcname line addr pc_addr lib}
|
|
method location {tagname filename funcname line addr pc_addr lib}
|
|
method LoadFile {winname name lib mtime_changed}
|
|
method display_line { win line }
|
|
method display_breaks {}
|
|
method insertBreakTag {win linenum tag}
|
|
method removeBreakTag {win linenum tag }
|
|
method bp {action bpnum addr {linenum {}} {file {}} {type 0} {enabled 0} {thread -1}}
|
|
method do_bp { win action linenum type bpnum enabled thread asm}
|
|
method hasBP {win line}
|
|
method hasTP {win line}
|
|
method report_source_location {}
|
|
method lookup_line {win y}
|
|
method continue_to_here {{win {}} {y -1} {threads -1}}
|
|
method jump_to_here {{win {}} {y -1} {threads -1}}
|
|
method set_bp_at_line {{type N} {win {}} {y -1} {threads "-1"}}
|
|
method remove_bp_at_line {{win {}} {y -1}}
|
|
method enable_disable_at_line {action}
|
|
method set_tp_at_line {{win {}} {y -1}}
|
|
method next_hit_at_line {{win {}} {y -1}}
|
|
method remove_tp_at_line {{win {}} {y -1}}
|
|
method do_tag_popup {name X Y y}
|
|
method do_source_popup { X Y x y }
|
|
method addToWatch {var}
|
|
method do_key {key}
|
|
method mode_get {}
|
|
method mode_set {new_mode {go 1}}
|
|
method cancelMotion {}
|
|
method motion {type win x y}
|
|
method showBPBalloon {win x y}
|
|
method showBalloon {win x y}
|
|
method getVariable {x y {line {}}}
|
|
method trace_help {args}
|
|
method line_is_executable {win line}
|
|
method tracepoint_range {win low high}
|
|
method search {exp direction}
|
|
method LoadFromCache {pname name asm lib}
|
|
method UnLoadFromCache {pname oldpane name asm lib}
|
|
method print {top}
|
|
method ask_thread_bp {}
|
|
method do_thread_bp {listbox}
|
|
method test_get {var}
|
|
method clear_file {}
|
|
method get_file {}
|
|
method set_tag_to_stack {}
|
|
|
|
# GDB Events
|
|
method breakpoint {event}
|
|
method tracepoint {event}
|
|
method set_variable {event}
|
|
}
|
|
|
|
private {
|
|
variable top ;# toplevel window
|
|
variable twin ;# top text window of pane
|
|
variable _tpane ;# top pane name
|
|
variable bwin "" ;# bottom text window of pane
|
|
variable _bpane "" ;# bottom pane name
|
|
|
|
variable do_display_breaks 0 ;# flag
|
|
variable popups
|
|
|
|
variable timeoutID {} ;# The timeout ID for the variable balloon help
|
|
variable UseVariableBalloons
|
|
|
|
variable mode_changed 0
|
|
variable current ;# our current state
|
|
variable pc ;# where the PC is now
|
|
variable oldmode "" ;# remember the mode we want, even if we can't have it
|
|
|
|
variable Running 0 ;# another way to disable things while target is active
|
|
variable Linenums ;# use linenumbers?
|
|
variable SearchIndex 1.0 ;# static
|
|
variable id ;#thread id to line mapping
|
|
# needed for assembly support
|
|
variable _map
|
|
variable Cname "" ;# cache index name for _map
|
|
# cache is not shared among windows yet. That could be a later
|
|
# optimization
|
|
variable Stwc ;# Source Text Window Cache
|
|
variable filenum 0
|
|
|
|
# The variable object which the variable balloon describes
|
|
variable _balloon_var {}
|
|
|
|
method balloon_value {variable}
|
|
method _mtime_changed {filename}
|
|
method _initialize_srctextwin {}
|
|
method _clear_cache {}
|
|
method _highlightAsmLine {win addr pc_addr tagname filename funcname} {}
|
|
|
|
proc makeBreakDot {size colorList {image {}}}
|
|
}
|
|
|
|
|
|
|
|
# common variables are shared among all objects of this type
|
|
# break_images stores the images associated with the break dot.
|
|
# bp
|
|
# temp_bp
|
|
# disabled_bp
|
|
# tp
|
|
# thread_bp
|
|
protected common break_images
|
|
|
|
# This is the list of bp types. Be nice, and don't put spaces in
|
|
# any of the elements of this list...
|
|
protected common bp_types {bp temp_bp disabled_bp thread_bp}
|
|
|
|
# This variable is used in the "Continue to here" case, where we are
|
|
# disabling then reenabling breakpoints behind the user's back to
|
|
# implement this feature, but we don't want the user to see this...
|
|
protected common dont_change_appearance 0
|
|
|
|
protected common TimeOut 100 ;# The timeout value for variable balloon help
|
|
|
|
}
|