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.
107 lines
3.1 KiB
Plaintext
107 lines
3.1 KiB
Plaintext
15 years ago
|
# Source window class definition for GDBtk.
|
||
|
# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 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.
|
||
|
|
||
|
|
||
|
# ----------------------------------------------------------------------
|
||
|
# Implements a source display widget using primitive widgets as the
|
||
|
# building blocks.
|
||
|
#
|
||
|
# The main display for SrcWin is a SrcTextWin widget. This file
|
||
|
# should contain all the code for controlling the SrcTextWin.
|
||
|
# SrcTextWin should just display the requested file and lines, without
|
||
|
# having to be very intelligent. If there are problems, error codes
|
||
|
# should be returned and SrcWin should figure out what to do.
|
||
|
# ----------------------------------------------------------------------
|
||
|
|
||
|
itcl::class SrcWin {
|
||
|
inherit TopLevelWin GDBWin
|
||
|
|
||
|
public {
|
||
|
method constructor {args}
|
||
|
method destructor {}
|
||
|
method download_progress { section num tot {msg ""} }
|
||
|
method edit {}
|
||
|
method enable_ui { on }
|
||
|
method fillNameCB {}
|
||
|
method fillFuncCB {name}
|
||
|
method goto_func {w {val ""}}
|
||
|
method location {tag linespec}
|
||
|
method mode {w new_mode {go 1}}
|
||
|
method no_inferior {}
|
||
|
method print {}
|
||
|
method reconfig {}
|
||
|
method reset {}
|
||
|
method set_status { {msg ""} {tmp 0} }
|
||
|
method set_execution_status { {line ""} {pc ""}}
|
||
|
method stack {cmd}
|
||
|
method test_get {var {private_func 0}}
|
||
|
method toggle_updates {value}
|
||
|
method toolbar {state}
|
||
|
method inferior {action}
|
||
|
method clear_file {}
|
||
|
method get_file {}
|
||
|
method is_fixed {}
|
||
|
method search {direction string}
|
||
|
|
||
|
proc choose_and_update {}
|
||
|
proc choose_and_display {tag linespec}
|
||
|
proc point_to_main {}
|
||
|
|
||
|
#
|
||
|
# GDB Events
|
||
|
#
|
||
|
method busy {event}
|
||
|
method idle {event}
|
||
|
method update {event}
|
||
|
}
|
||
|
|
||
|
private {
|
||
|
method _build_win {}
|
||
|
method _exit {}
|
||
|
method _name {w {val ""}}
|
||
|
method _set_name { val {found 1} }
|
||
|
method _set_state {varname}
|
||
|
method _update_title {name}
|
||
|
method _update {loc}
|
||
|
method get_top {}
|
||
|
method _set_tag_to_stack {}
|
||
|
proc _choose_window {file}
|
||
|
variable _statbar
|
||
|
variable _status
|
||
|
variable _toolbar
|
||
|
variable _statusframe
|
||
|
variable top
|
||
|
variable twin
|
||
|
variable current
|
||
|
variable need_files 0
|
||
|
variable do_updates 1 ;# if the window does updates
|
||
|
variable _mangled_func
|
||
|
variable Tracing
|
||
|
variable saved_msg "" ;# static
|
||
|
|
||
|
# statics used for downloads
|
||
|
variable last_section ""
|
||
|
variable last_section_start 0
|
||
|
variable last_done 0
|
||
|
|
||
|
# These keep track of the current PC window and the list of all
|
||
|
# source windows.
|
||
|
common window_list ""
|
||
|
common pc_window ""
|
||
|
|
||
|
# fenceposts
|
||
|
variable Running 0
|
||
|
variable NoRun 0
|
||
|
}
|
||
|
}
|