--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/python-2.5.2/win32/tcl/tix8.4/Init.tcl Fri Apr 03 17:19:34 2009 +0100
@@ -0,0 +1,232 @@
+# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
+#
+# $Id: Init.tcl,v 1.15 2004/12/24 00:38:31 hobbs Exp $
+#
+# Init.tcl --
+#
+# Initializes the Tix library and performes version checking to ensure
+# the Tcl, Tk and Tix script libraries loaded matches with the binary
+# of the respective packages.
+#
+# Copyright (c) 1993-1999 Ioi Kim Lam.
+# Copyright (c) 2000-2001 Tix Project Group.
+# Copyright (c) 2004 ActiveState
+#
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+namespace eval ::tix {
+}
+
+proc tixScriptVersion {} { return $::tix_version }
+proc tixScriptPatchLevel {} { return $::tix_patchLevel }
+
+proc ::tix::Init {dir} {
+ global tix env tix_library tcl_platform auto_path
+
+ if {[info exists tix(initialized)]} {
+ return
+ }
+
+ if {![info exists tix_library]} {
+ # we're running from stand-alone module.
+ set tix_library ""
+ } elseif {[file isdir $tix_library]} {
+ if {![info exists auto_path] ||
+ [lsearch $auto_path $tix_library] == -1} {
+ lappend auto_path $tix_library
+ }
+ }
+
+ # STEP 1: Version checking
+ #
+ #
+ package require Tcl 8.4
+ package require -exact Tix 8.4
+
+ # STEP 2: Initialize file compatibility modules
+ #
+
+ foreach file {
+ fs.tcl
+ Tix.tcl Event.tcl
+ Balloon.tcl BtnBox.tcl
+ CObjView.tcl ChkList.tcl
+ ComboBox.tcl Compat.tcl
+ Console.tcl Control.tcl
+ DefSchm.tcl DialogS.tcl
+ DirBox.tcl DirDlg.tcl
+ DirList.tcl DirTree.tcl
+ DragDrop.tcl DtlList.tcl
+ EFileBox.tcl EFileDlg.tcl
+ FileBox.tcl FileCbx.tcl
+ FileDlg.tcl FileEnt.tcl
+ FloatEnt.tcl
+ Grid.tcl HList.tcl
+ HListDD.tcl IconView.tcl
+ LabEntry.tcl LabFrame.tcl
+ LabWidg.tcl ListNBk.tcl
+ Meter.tcl MultView.tcl
+ NoteBook.tcl OldUtil.tcl
+ OptMenu.tcl PanedWin.tcl
+ PopMenu.tcl Primitiv.tcl
+ ResizeH.tcl SGrid.tcl
+ SHList.tcl SListBox.tcl
+ STList.tcl SText.tcl
+ SWidget.tcl SWindow.tcl
+ Select.tcl Shell.tcl
+ SimpDlg.tcl StackWin.tcl
+ StatBar.tcl StdBBox.tcl
+ StdShell.tcl TList.tcl
+ Tree.tcl
+ Utils.tcl VResize.tcl
+ VStack.tcl VTree.tcl
+ Variable.tcl WInfo.tcl
+ } {
+ uplevel \#0 [list source [file join $dir $file]]
+ }
+
+ # STEP 3: Initialize the Tix application context
+ #
+ tixAppContext tix
+
+ # DO NOT DO THIS HERE !!
+ # This causes the global defaults to be altered, which may not
+ # be desirable. The user can call this after requiring Tix if
+ # they wish to use different defaults.
+ #
+ #tix initstyle
+
+ # STEP 4: Initialize the bindings for widgets that are implemented in C
+ #
+ foreach w {
+ HList TList Grid ComboBox Control FloatEntry
+ LabelEntry ScrolledGrid ScrolledListBox
+ } {
+ tix${w}Bind
+ }
+
+ rename ::tix::Init ""
+}
+
+# tixWidgetClassEx --
+#
+# This procedure is similar to tixWidgetClass, except it
+# performs a [subst] on the class declaration before evaluating
+# it. This gives us a chance to specify platform-specific widget
+# default without using a lot of ugly double quotes.
+#
+# The use of subst'able entries in the class declaration should
+# be restrained to widget default values only to avoid producing
+# unreadable code.
+#
+# Arguments:
+# name - The name of the class to declare.
+# classDecl - Various declarations about the class. See documentation
+# of tixWidgetClass for details.
+
+proc tixWidgetClassEx {name classDecl} {
+ tixWidgetClass $name [uplevel [list subst $classDecl]]
+}
+
+#
+# Deprecated tix* functions
+#
+interp alias {} tixFileJoin {} file join
+interp alias {} tixStrEq {} string equal
+proc tixTrue {args} { return 1 }
+proc tixFalse {args} { return 0 }
+proc tixStringSub {var fromStr toStr} {
+ upvar 1 var var
+ set var [string map $var [list $fromStr $toStr]]
+}
+proc tixGetBoolean {args} {
+ set len [llength [info level 0]]
+ set nocomplain 0
+ if {$len == 3} {
+ if {[lindex $args 0] ne "-nocomplain"} {
+ return -code error "wrong \# args:\
+ must be [lindex [info level 0] 0] ?-nocomplain? string"
+ }
+ set nocomplain 1
+ set val [lindex $args 1]
+ } elseif {$len != 2} {
+ return -code error "wrong \# args:\
+ must be [lindex [info level 0] 0] ?-nocomplain? string"
+ } else {
+ set val [lindex $args 0]
+ }
+ if {[string is boolean -strict $val] || $nocomplain} {
+ return [string is true -strict $val]
+ } elseif {$nocomplain} {
+ return 0
+ } else {
+ return -code error "\"$val\" is not a valid boolean"
+ }
+}
+interp alias {} tixVerifyBoolean {} tixGetBoolean
+proc tixGetInt {args} {
+ set len [llength [info level 0]]
+ set nocomplain 0
+ set trunc 0
+ for {set i 1} {$i < $len-1} {incr i} {
+ set arg [lindex $args 0]
+ if {$arg eq "-nocomplain"} {
+ set nocomplain 1
+ } elseif {$arg eq "-trunc"} {
+ set trunc 1
+ } else {
+ return -code error "wrong \# args: must be\
+ [lindex [info level 0] 0] ?-nocomplain? ?-trunc? string"
+ }
+ }
+ if {$i != $len-1} {
+ return -code error "wrong \# args: must be\
+ [lindex [info level 0] 0] ?-nocomplain? ?-trunc? string"
+ }
+ set val [lindex $args end]
+ set code [catch {expr {round($val)}} res]
+ if {$code} {
+ if {$nocomplain} {
+ return 0
+ } else {
+ return -code error "\"$val\" cannot be converted to integer"
+ }
+ }
+ if {$trunc} {
+ return [expr {int($val)}]
+ } else {
+ return $res
+ }
+}
+proc tixFile {option filename} {
+ set len [string length $option]
+ if {$len > 1 && [string equal -length $len $option "tildesubst"]} {
+ set code [catch {file normalize $filename} res]
+ if {$code == 0} {
+ set filename $res
+ }
+ } elseif {$len > 1 && [string equal -length $len $option "trimslash"]} {
+ # normalize extra slashes
+ set filename [file join $filename]
+ if {$filename ne "/"} {
+ set filename [string trimright $filename "/"]
+ }
+ } else {
+ return -code error "unknown option \"$option\",\
+ must be tildesubst or trimslash"
+ }
+ return $filename
+}
+
+interp alias {} tixRaiseWindow {} raise
+#proc tixUnmapWindow {w} { }
+
+#
+# if tix_library is not defined, we're running in SAM mode. ::tix::Init
+# will be called later by the Tix_Init() C code.
+#
+
+if {[info exists tix_library]} {
+ ::tix::Init [file dirname [info script]]
+}