summaryrefslogblamecommitdiff
path: root/sysutils/cd-write/files/patch-1
blob: 7c6c45d63059c11cffbe087f265be62c495e2184 (plain) (tree)
1
2
3
4
5
6
7
8






                                                                      
                                                             








                                                                       

                               































































































                                                                         
--- c++tk/tk.tcl.orig	Thu Sep 25 03:43:23 1997
+++ c++tk/tk.tcl	Mon May  3 23:16:51 1999
@@ -3,7 +3,7 @@
 # Initialization script normally executed in the interpreter for each
 # Tk-based application.  Arranges class bindings for widgets.
 #
-# SCCS: @(#) tk.tcl 1.87 96/09/30 09:28:02
+# RCS: @(#) $Id: patch-1,v 1.1 1999/05/03 22:49:45 jmz Exp $
 #
 # Copyright (c) 1992-1994 The Regents of the University of California.
 # Copyright (c) 1994-1996 Sun Microsystems, Inc.
@@ -13,8 +13,8 @@
 
 # Insist on running with compatible versions of Tcl and Tk.
 
-package require -exact Tk 4.2
-package require -exact Tcl 7.6
+package require -exact Tk 8.2
+package require -exact Tcl 8.2
 
 
 # Turn off strict Motif look and feel as a default.
@@ -32,13 +32,23 @@
 # screen -		The name of the new screen.
 
 proc tkScreenChanged screen {
-    set disp [file rootname $screen]
+    set x [string last . $screen]
+    if {$x > 0} {
+	set disp [string range $screen 0 [expr {$x - 1}]]
+    } else {
+	set disp $screen
+    }
+
     uplevel #0 upvar #0 tkPriv.$disp tkPriv
     global tkPriv
-    if [info exists tkPriv] {
+    global tcl_platform
+
+    if {[info exists tkPriv]} {
 	set tkPriv(screen) $screen
 	return
     }
+    set tkPriv(activeMenu) {}
+    set tkPriv(activeItem) {}
     set tkPriv(afterId) {}
     set tkPriv(buttons) 0
     set tkPriv(buttonWindow) {}
@@ -48,14 +58,17 @@
     set tkPriv(initPos) {}
     set tkPriv(inMenubutton) {}
     set tkPriv(listboxPrev) {}
+    set tkPriv(menuBar) {}
     set tkPriv(mouseMoved) 0
     set tkPriv(oldGrab) {}
     set tkPriv(popup) {}
     set tkPriv(postedMb) {}
     set tkPriv(pressX) 0
     set tkPriv(pressY) 0
+    set tkPriv(prevPos) 0
     set tkPriv(screen) $screen
     set tkPriv(selectMode) char
+    set tkPriv(tearoff) 1
     set tkPriv(window) {}
 }
 
@@ -76,7 +89,7 @@
 proc tkEventMotifBindings {n1 dummy dummy} {
     upvar $n1 name
     
-    if $name {
+    if {$name} {
 	set op delete
     } else {
 	set op add
@@ -94,15 +107,17 @@
 	event add <<Cut>> <Control-Key-x> <Key-F20> 
 	event add <<Copy>> <Control-Key-c> <Key-F16>
 	event add <<Paste>> <Control-Key-v> <Key-F18>
+	event add <<PasteSelection>> <ButtonRelease-2>
 	trace variable tk_strictMotif w tkEventMotifBindings
 	set tk_strictMotif $tk_strictMotif
 
+
 # ----------------------------------------------------------------------
 # Default bindings for keyboard traversal.
 # ----------------------------------------------------------------------
 
-bind all <Tab> {focus [tk_focusNext %W]}
-bind all <Shift-Tab> {focus [tk_focusPrev %W]}
+bind all <Tab> {tkTabToWindow [tk_focusNext %W]}
+bind all <Shift-Tab> {tkTabToWindow [tk_focusPrev %W]}
 
 # tkCancelRepeat --
 # This procedure is invoked to cancel an auto-repeat action described
@@ -117,4 +132,19 @@
     global tkPriv
     after cancel $tkPriv(afterId)
     set tkPriv(afterId) {}
+}
+
+# tkTabToWindow --
+# This procedure moves the focus to the given widget.  If the widget
+# is an entry, it selects the entire contents of the widget.
+#
+# Arguments:
+# w - Window to which focus should be set.
+
+proc tkTabToWindow {w} {
+    if {"[winfo class $w]" == "Entry"} {
+	$w select range 0 end
+	$w icur end
+    }
+    focus $w
 }