diff options
Diffstat (limited to 'library/console.tcl')
-rw-r--r-- | library/console.tcl | 124 |
1 files changed, 62 insertions, 62 deletions
diff --git a/library/console.tcl b/library/console.tcl index e996ea5..170d898 100644 --- a/library/console.tcl +++ b/library/console.tcl @@ -4,7 +4,7 @@ # can be used by non-unix systems that do not have built-in support # for shells. # -# RCS: @(#) $Id: console.tcl,v 1.11 2001/07/03 01:03:16 hobbs Exp $ +# RCS: @(#) $Id: console.tcl,v 1.12 2001/08/01 16:21:11 dgp Exp $ # # Copyright (c) 1995-1997 Sun Microsystems, Inc. # Copyright (c) 1998-2000 Ajuba Solutions. @@ -15,13 +15,13 @@ # TODO: history - remember partially written command -# tkConsoleInit -- +# ::tk::ConsoleInit -- # This procedure constructs and configures the console windows. # # Arguments: # None. -proc tkConsoleInit {} { +proc ::tk::ConsoleInit {} { global tcl_platform if {![consoleinterp eval {set tcl_interactive}]} { @@ -40,7 +40,7 @@ proc tkConsoleInit {} { menu .menubar.file -tearoff 0 .menubar.file add command -label [::msgcat::mc "Source..."] \ - -underline 0 -command tkConsoleSource + -underline 0 -command tk::ConsoleSource .menubar.file add command -label [::msgcat::mc "Hide Console"] \ -underline 0 -command {wm withdraw .} if {[string compare $tcl_platform(platform) "macintosh"]} { @@ -69,7 +69,7 @@ proc tkConsoleInit {} { .menubar add cascade -label Help -menu .menubar.help -underline 0 menu .menubar.help -tearoff 0 .menubar.help add command -label [::msgcat::mc "About..."] \ - -underline 0 -command tkConsoleAbout + -underline 0 -command tk::ConsoleAbout } . configure -menu .menubar @@ -87,7 +87,7 @@ proc tkConsoleInit {} { } } - tkConsoleBind .console + ConsoleBind .console .console tag configure stderr -foreground red .console tag configure stdin -foreground blue @@ -98,19 +98,19 @@ proc tkConsoleInit {} { wm title . [::msgcat::mc "Console"] flush stdout .console mark set output [.console index "end - 1 char"] - tkTextSetCursor .console end + tk::TextSetCursor .console end .console mark set promptEnd insert .console mark gravity promptEnd left } -# tkConsoleSource -- +# ::tk::ConsoleSource -- # # Prompts the user for a file to source in the main interpreter. # # Arguments: # None. -proc tkConsoleSource {} { +proc ::tk::ConsoleSource {} { set filename [tk_getOpenFile -defaultextension .tcl -parent . \ -title [::msgcat::mc "Select a file to source"] \ -filetypes [list \ @@ -119,12 +119,12 @@ proc tkConsoleSource {} { if {[string compare $filename ""]} { set cmd [list source $filename] if {[catch {consoleinterp eval $cmd} result]} { - tkConsoleOutput stderr "$result\n" + ConsoleOutput stderr "$result\n" } } } -# tkConsoleInvoke -- +# ::tk::ConsoleInvoke -- # Processes the command line input. If the command is complete it # is evaled in the main interpreter. Otherwise, the continuation # prompt is added and more input may be added. @@ -132,7 +132,7 @@ proc tkConsoleSource {} { # Arguments: # None. -proc tkConsoleInvoke {args} { +proc ::tk::ConsoleInvoke {args} { set ranges [.console tag ranges input] set cmd "" if {[llength $ranges]} { @@ -145,7 +145,7 @@ proc tkConsoleInvoke {args} { } } if {[string equal $cmd ""]} { - tkConsolePrompt + ConsolePrompt } elseif {[info complete $cmd]} { .console mark set output end .console tag delete input @@ -153,51 +153,51 @@ proc tkConsoleInvoke {args} { if {[string compare $result ""]} { puts $result } - tkConsoleHistory reset - tkConsolePrompt + ConsoleHistory reset + ConsolePrompt } else { - tkConsolePrompt partial + ConsolePrompt partial } .console yview -pickplace insert } -# tkConsoleHistory -- +# ::tk::ConsoleHistory -- # This procedure implements command line history for the # console. In general is evals the history command in the -# main interpreter to obtain the history. The global variable -# histNum is used to store the current location in the history. +# main interpreter to obtain the history. The variable +# ::tk::HistNum is used to store the current location in the history. # # Arguments: # cmd - Which action to take: prev, next, reset. -set histNum 1 -proc tkConsoleHistory {cmd} { - global histNum +set ::tk::HistNum 1 +proc ::tk::ConsoleHistory {cmd} { + variable HistNum switch $cmd { prev { - incr histNum -1 - if {$histNum == 0} { + incr HistNum -1 + if {$HistNum == 0} { set cmd {history event [expr {[history nextid] -1}]} } else { - set cmd "history event $histNum" + set cmd "history event $HistNum" } if {[catch {consoleinterp eval $cmd} cmd]} { - incr histNum + incr HistNum return } .console delete promptEnd end .console insert promptEnd $cmd {input stdin} } next { - incr histNum - if {$histNum == 0} { + incr HistNum + if {$HistNum == 0} { set cmd {history event [expr {[history nextid] -1}]} - } elseif {$histNum > 0} { + } elseif {$HistNum > 0} { set cmd "" - set histNum 1 + set HistNum 1 } else { - set cmd "history event $histNum" + set cmd "history event $HistNum" } if {[string compare $cmd ""]} { catch {consoleinterp eval $cmd} cmd @@ -206,12 +206,12 @@ proc tkConsoleHistory {cmd} { .console insert promptEnd $cmd {input stdin} } reset { - set histNum 1 + set HistNum 1 } } } -# tkConsolePrompt -- +# ::tk::ConsolePrompt -- # This procedure draws the prompt. If tcl_prompt1 or tcl_prompt2 # exists in the main interpreter it will be called to generate the # prompt. Otherwise, a hard coded default prompt is printed. @@ -219,7 +219,7 @@ proc tkConsoleHistory {cmd} { # Arguments: # partial - Flag to specify which prompt to print. -proc tkConsolePrompt {{partial normal}} { +proc ::tk::ConsolePrompt {{partial normal}} { if {[string equal $partial "normal"]} { set temp [.console index "end - 1 char"] .console mark set output end @@ -239,12 +239,12 @@ proc tkConsolePrompt {{partial normal}} { } flush stdout .console mark set output $temp - tkTextSetCursor .console end + ::tk::TextSetCursor .console end .console mark set promptEnd insert .console mark gravity promptEnd left } -# tkConsoleBind -- +# ::tk::ConsoleBind -- # This procedure first ensures that the default bindings for the Text # class have been defined. Then certain bindings are overridden for # the class. @@ -252,7 +252,7 @@ proc tkConsolePrompt {{partial normal}} { # Arguments: # None. -proc tkConsoleBind {win} { +proc ::tk::ConsoleBind {win} { bindtags $win "$win Text . all" # Ignore all Alt, Meta, and Control keypresses unless explicitly bound. @@ -267,14 +267,14 @@ proc tkConsoleBind {win} { bind $win <KP_Enter> {# nothing} bind $win <Tab> { - tkConsoleInsert %W \t + tk::ConsoleInsert %W \t focus %W break } bind $win <Return> { %W mark set insert {end - 1c} - tkConsoleInsert %W "\n" - tkConsoleInvoke + tk::ConsoleInsert %W "\n" + tk::ConsoleInvoke break } bind $win <Delete> { @@ -294,16 +294,16 @@ proc tkConsoleBind {win} { foreach left {Control-a Home} { bind $win <$left> { if {[%W compare insert < promptEnd]} { - tkTextSetCursor %W {insert linestart} + tk::TextSetCursor %W {insert linestart} } else { - tkTextSetCursor %W promptEnd + tk::TextSetCursor %W promptEnd } break } } foreach right {Control-e End} { bind $win <$right> { - tkTextSetCursor %W {insert lineend} + tk::TextSetCursor %W {insert lineend} break } } @@ -339,22 +339,22 @@ proc tkConsoleBind {win} { } foreach prev {Control-p Up} { bind $win <$prev> { - tkConsoleHistory prev + tk::ConsoleHistory prev break } } foreach prev {Control-n Down} { bind $win <$prev> { - tkConsoleHistory next + tk::ConsoleHistory next break } } bind $win <Insert> { - catch {tkConsoleInsert %W [::tk::GetSelection %W PRIMARY]} + catch {tk::ConsoleInsert %W [::tk::GetSelection %W PRIMARY]} break } bind $win <KeyPress> { - tkConsoleInsert %W %A + tk::ConsoleInsert %W %A break } foreach left {Control-b Left} { @@ -362,13 +362,13 @@ proc tkConsoleBind {win} { if {[%W compare insert == promptEnd]} { break } - tkTextSetCursor %W insert-1c + tk::TextSetCursor %W insert-1c break } } foreach right {Control-f Right} { bind $win <$right> { - tkTextSetCursor %W insert+1c + tk::TextSetCursor %W insert+1c break } } @@ -399,19 +399,19 @@ proc tkConsoleBind {win} { catch { set clip [::tk::GetSelection %W CLIPBOARD] set list [split $clip \n\r] - tkConsoleInsert %W [lindex $list 0] + tk::ConsoleInsert %W [lindex $list 0] foreach x [lrange $list 1 end] { %W mark set insert {end - 1c} - tkConsoleInsert %W "\n" - tkConsoleInvoke - tkConsoleInsert %W $x + tk::ConsoleInsert %W "\n" + tk::ConsoleInvoke + tk::ConsoleInsert %W $x } } break } } -# tkConsoleInsert -- +# ::tk::ConsoleInsert -- # Insert a string into a text at the point of the insertion cursor. # If there is a selection in the text, and it covers the point of the # insertion cursor, then delete the selection before inserting. Insertion @@ -421,7 +421,7 @@ proc tkConsoleBind {win} { # w - The text window in which to insert the string # s - The string to insert (usually just a single character) -proc tkConsoleInsert {w s} { +proc ::tk::ConsoleInsert {w s} { if {[string equal $s ""]} { return } @@ -439,7 +439,7 @@ proc tkConsoleInsert {w s} { $w see insert } -# tkConsoleOutput -- +# ::tk::ConsoleOutput -- # # This routine is called directly by ConsolePutsCmd to cause a string # to be displayed in the console. @@ -448,12 +448,12 @@ proc tkConsoleInsert {w s} { # dest - The output tag to be used: either "stderr" or "stdout". # string - The string to be displayed. -proc tkConsoleOutput {dest string} { +proc ::tk::ConsoleOutput {dest string} { .console insert output $string $dest .console see insert } -# tkConsoleExit -- +# ::tk::ConsoleExit -- # # This routine is called by ConsoleEventProc when the main window of # the application is destroyed. Don't call exit - that probably already @@ -462,18 +462,18 @@ proc tkConsoleOutput {dest string} { # Arguments: # None. -proc tkConsoleExit {} { +proc ::tk::ConsoleExit {} { destroy . } -# tkConsoleAbout -- +# ::tk::ConsoleAbout -- # # This routine displays an About box to show Tcl/Tk version info. # # Arguments: # None. -proc tkConsoleAbout {} { +proc ::tk::ConsoleAbout {} { global tk_patchLevel tk_messageBox -type ok -message "[::msgcat::mc {Tcl for Windows}] Copyright \251 2000 Ajuba Solutions @@ -484,4 +484,4 @@ Tk $tk_patchLevel" # now initialize the console -tkConsoleInit +::tk::ConsoleInit |