/usr/lib64/tcl8.5/Tix8.4.3
NameSizeModeActions
bitmaps/-0755rm
html/-0755rm
pref/-0755rm
Balloon.tcl132850644editdlrm
BtnBox.tcl26710644editdlrm
ChkList.tcl50870644editdlrm
CObjView.tcl77380644editdlrm
ComboBox.tcl362710644editdlrm
Compat.tcl8700644editdlrm
Console.tcl153110644editdlrm
Control.tcl124020644editdlrm
DefSchm.tcl30130644editdlrm
DialogS.tcl42960644editdlrm
DirBox.tcl54250644editdlrm
DirDlg.tcl22060644editdlrm
DirList.tcl70640644editdlrm
DirTree.tcl89720644editdlrm
DragDrop.tcl40250644editdlrm
DtlList.tcl10020644editdlrm
EFileBox.tcl113900644editdlrm
EFileDlg.tcl17180644editdlrm
Event.tcl52310644editdlrm
FileBox.tcl143360644editdlrm
FileCbx.tcl24830644editdlrm
FileDlg.tcl21850644editdlrm
FileEnt.tcl73190644editdlrm
FloatEnt.tcl31760644editdlrm
fs.tcl39950644editdlrm
Grid.tcl216650644editdlrm
HList.tcl181480644editdlrm
HListDD.tcl45000644editdlrm
IconView.tcl61100644editdlrm
Init.tcl61990644editdlrm
LabEntry.tcl21430644editdlrm
LabFrame.tcl11810644editdlrm
LabWidg.tcl39510644editdlrm
libTix.so3182720755editdlrm
license.terms28280644editdlrm
ListNBk.tcl35810644editdlrm
Meter.tcl31140644editdlrm
MultView.tcl37040644editdlrm
NoteBook.tcl61600644editdlrm
OldUtil.tcl30560644editdlrm
OptMenu.tcl93920644editdlrm
PanedWin.tcl283470644editdlrm
pkgIndex.tcl1220644editdlrm
PopMenu.tcl55000644editdlrm
Primitiv.tcl105270644editdlrm
README.txt9870644editdlrm
ResizeH.tcl132470644editdlrm
Select.tcl72040644editdlrm
SGrid.tcl59350644editdlrm
Shell.tcl10820644editdlrm
SHList.tcl37930644editdlrm
SimpDlg.tcl11570644editdlrm
SListBox.tcl71380644editdlrm
StackWin.tcl19920644editdlrm
StatBar.tcl13390644editdlrm
StdBBox.tcl16560644editdlrm
StdShell.tcl11730644editdlrm
SText.tcl31630644editdlrm
STList.tcl24280644editdlrm
SWidget.tcl97480644editdlrm
SWindow.tcl69080644editdlrm
Tix.tcl97370644editdlrm
TList.tcl180090644editdlrm
Tree.tcl46790644editdlrm
Utils.tcl107880644editdlrm
Variable.tcl25630644editdlrm
VResize.tcl50690644editdlrm
VStack.tcl96510644editdlrm
VTree.tcl44100644editdlrm
WInfo.tcl9650644editdlrm
Edit: /usr/lib64/tcl8.5/Tix8.4.3/EFileBox.tcl (11390B)
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- # # $Id: EFileBox.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $ # # EFileBox.tcl -- # # Implements the Extended File Selection Box widget. # # 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. # # # ToDo # (1) If user has entered an invalid directory, give an error dialog # tixWidgetClass tixExFileSelectBox { -classname TixExFileSelectBox -superclass tixPrimitive -method { filter invoke } -flag { -browsecmd -command -dialog -dir -dircmd -directory -disablecallback -filetypes -pattern -selection -showhidden -value } -forcecall { -filetypes } -configspec { {-browsecmd browseCmd BrowseCmd ""} {-command command Command ""} {-dialog dialog Dialog ""} {-dircmd dirCmd DirCmd ""} {-directory directory Directory ""} {-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean} {-filetypes fileTypes FileTypes ""} {-pattern pattern Pattern *} {-showhidden showHidden ShowHidden 0 tixVerifyBoolean} {-value value Value ""} } -alias { {-dir -directory} {-selection -value} } -default { {*dir.label {Directories:}} {*dir.editable true} {*dir.history true} {*dir*listbox.height 5} {*file.label Files:} {*file.editable true} {*file.history false} {*file*listbox.height 5} {*types.label {List Files of Type:}} {*types*listbox.height 3} {*TixComboBox.labelSide top} {*TixComboBox*Label.anchor w} {*dir.label.underline 0} {*file.label.underline 0} {*types.label.underline 14} {*TixComboBox.anchor e} {*TixHList.height 7} {*filelist*listbox.height 7} {*hidden.wrapLength 3c} {*hidden.justify left} } } proc tixExFileSelectBox:InitWidgetRec {w} { upvar #0 $w data global env tixChainMethod $w InitWidgetRec if {$data(-directory) eq ""} { set data(-directory) [pwd] } set data(oldDir) "" set data(flag) 0 } #---------------------------------------------------------------------- # Construct widget #---------------------------------------------------------------------- proc tixExFileSelectBox:ConstructWidget {w} { upvar #0 $w data tixChainMethod $w ConstructWidget # listbox frame set lf [frame $w.lf] # The pane that contains the two listboxes # set pane [tixPanedWindow $lf.pane -orientation horizontal] set dpane [$pane add 1 -size 160] set fpane [$pane add 2 -size 160] $dpane config -relief flat $fpane config -relief flat # The File List Pane # set data(w:file) [tixComboBox $fpane.file\ -command [list tixExFileSelectBox:Cmd-FileCombo $w]\ -prunehistory true \ -options { label.anchor w }] set data(w:filelist) \ [tixScrolledListBox $fpane.filelist \ -command [list tixExFileSelectBox:Cmd-FileList $w 1] \ -browsecmd [list tixExFileSelectBox:Cmd-FileList $w 0]] pack $data(w:file) -padx 8 -pady 4 -side top -fill x pack $data(w:filelist) -padx 8 -pady 4 -side top -fill both -expand yes # The Directory Pane # set data(w:dir) [tixComboBox $dpane.dir \ -command [list tixExFileSelectBox:Cmd-DirCombo $w]\ -prunehistory true \ -options { label.anchor w }] set data(w:dirlist) \ [tixDirList $dpane.dirlist \ -command [list tixExFileSelectBox:Cmd-DirList $w]\ -browsecmd [list tixExFileSelectBox:Browse-DirList $w]] pack $data(w:dir) -padx 8 -pady 4 -side top -fill x pack $data(w:dirlist) -padx 8 -pady 4 -side top -fill both -expand yes # The file types listbox # set data(w:types) [tixComboBox $lf.types\ -command [list tixExFileSelectBox:Cmd-TypeCombo $w]\ -options { label.anchor w }] pack $data(w:types) -padx 12 -pady 4 -side bottom -fill x -anchor w pack $pane -side top -padx 4 -pady 4 -expand yes -fill both # Buttons to the right # set bf [frame $w.bf] set data(w:ok) [button $bf.ok -text Ok -width 6 \ -underline 0 -command [list tixExFileSelectBox:Ok $w]] set data(w:cancel) [button $bf.cancel -text Cancel -width 6 \ -underline 0 -command [list tixExFileSelectBox:Cancel $w]] set data(w:hidden) [checkbutton $bf.hidden -text "Show Hidden Files"\ -underline 0\ -variable [format %s(-showhidden) $w] -onvalue 1 -offvalue 0\ -command [list tixExFileSelectBox:SetShowHidden $w]] pack $data(w:ok) $data(w:cancel) $data(w:hidden)\ -side top -fill x -padx 6 -pady 3 pack $bf -side right -fill y -pady 6 pack $lf -side left -expand yes -fill both tixDoWhenMapped $w [list tixExFileSelectBox:Map $w] if {$data(-filetypes) == ""} { $data(w:types) config -state disabled } } #---------------------------------------------------------------------- # Configuration #---------------------------------------------------------------------- proc tixExFileSelectBox:config-showhidden {w value} { upvar #0 $w data set data(-showhidden) $value tixExFileSelectBox:SetShowHidden $w } # Update both DirList and {file list and dir combo} # proc tixExFileSelectBox:config-directory {w value} { upvar #0 $w data set data(-directory) [tixFSNormalize $value] tixSetSilent $data(w:dirlist) $data(-directory) tixSetSilent $data(w:dir) $data(-directory) tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w reload return $data(-directory) } proc tixExFileSelectBox:config-filetypes {w value} { upvar #0 $w data $data(w:types) subwidget listbox delete 0 end foreach name [array names data] { if {[string match type,* $name]} { catch {unset data($name)} } } if {$value == ""} { $data(w:types) config -state disabled } else { $data(w:types) config -state normal foreach type $value { $data(w:types) insert end [lindex $type 1] set data(type,[lindex $type 1]) [lindex $type 0] } tixSetSilent $data(w:types) "" } } #---------------------------------------------------------------------- # MISC Methods #---------------------------------------------------------------------- proc tixExFileSelectBox:SetShowHidden {w} { upvar #0 $w data $data(w:dirlist) config -showhidden $data(-showhidden) tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w reload } # User activates the dir combobox # # proc tixExFileSelectBox:Cmd-DirCombo {w args} { upvar #0 $w data set dir [tixEvent flag V] set dir [tixFSExternal $dir] if {![file isdirectory $dir]} { return } set dir [tixFSNormalize $dir] $data(w:dirlist) config -value $dir set data(-directory) $dir } # User activates the dir list # # proc tixExFileSelectBox:Cmd-DirList {w args} { upvar #0 $w data set dir $data(-directory) catch {set dir [tixEvent flag V]} set dir [tixFSNormalize [tixFSExternal $dir]] tixSetSilent $data(w:dir) $dir set data(-directory) $dir tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w noreload } # User activates the dir list # # proc tixExFileSelectBox:Browse-DirList {w args} { upvar #0 $w data set dir [tixEvent flag V] set dir [tixFSNormalize [tixFSExternal $dir]] tixExFileSelectBox:Cmd-DirList $w $dir } proc tixExFileSelectBox:IsPattern {w string} { return [regexp "\[\[\\\{\\*\\?\]" $string] } proc tixExFileSelectBox:Cmd-FileCombo {w value} { upvar #0 $w data if {[tixEvent type] eq ""} { tixExFileSelectBox:Ok $w } } proc tixExFileSelectBox:Ok {w} { upvar #0 $w data set value [string trim [$data(w:file) subwidget entry get]] if {$value == ""} { set value $data(-pattern) } tixSetSilent $data(w:file) $value if {[tixExFileSelectBox:IsPattern $w $value]} { set data(-pattern) $value tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w reload } else { # ensure absolute path set value [file join $data(-directory) $value]; # native set data(-value) [tixFSNativeNorm $value] tixExFileSelectBox:Invoke $w } } proc tixExFileSelectBox:Cancel {w} { upvar #0 $w data if {$data(-dialog) != ""} { eval $data(-dialog) popdown } } proc tixExFileSelectBox:Invoke {w} { upvar #0 $w data # Save some old history # $data(w:dir) addhistory [$data(w:dir) cget -value] $data(w:file) addhistory $data(-pattern) $data(w:file) addhistory $data(-value) if {$data(-dialog) != ""} { eval $data(-dialog) popdown } if {$data(-command) != "" && !$data(-disablecallback)} { set bind(specs) "%V" set bind(%V) $data(-value) tixEvalCmdBinding $w $data(-command) bind $data(-value) } } proc tixExFileSelectBox:Cmd-FileList {w invoke args} { upvar #0 $w data set index [lindex [$data(w:filelist) subwidget listbox curselection] 0] if {$index == ""} { set index 0 } set file [$data(w:filelist) subwidget listbox get $index] tixSetSilent $data(w:file) $file set value [file join $data(-directory) $file] set data(-value) [tixFSNativeNorm $value] if {$invoke == 1} { tixExFileSelectBox:Invoke $w } elseif {$data(-browsecmd) != ""} { tixEvalCmdBinding $w $data(-browsecmd) "" $data(-value) } } proc tixExFileSelectBox:Cmd-TypeCombo {w args} { upvar #0 $w data set value [tixEvent flag V] if {[info exists data(type,$value)]} { set data(-pattern) $data(type,$value) tixSetSilent $data(w:file) $data(-pattern) tixWidgetDoWhenIdle tixExFileSelectBox:LoadFiles $w reload } } proc tixExFileSelectBox:LoadFiles {w flag} { upvar #0 $w data if {$flag ne "reload" && $data(-directory) eq $data(oldDir)} { return } if {![winfo ismapped [winfo toplevel $w]]} { tixDoWhenMapped [winfo toplevel $w] \ [list tixExFileSelectBox:LoadFiles $w $flag] return } set listbox [$data(w:filelist) subwidget listbox] $listbox delete 0 end set data(-value) "" tixBusy $w on [$data(w:dirlist) subwidget hlist] # wrap in a catch so you can't get stuck in a Busy state if {[catch { foreach name [tixFSListDir $data(-directory) 0 1 0 \ $data(-showhidden) $data(-pattern)] { $listbox insert end $name } if {$data(oldDir) ne $data(-directory)} { # Otherwise if the user has already selected a file and then # presses "show hidden", the selection won't be wiped out. tixSetSilent $data(w:file) $data(-pattern) } } err]} { tixDebug "tixExFileSelectBox:LoadFiles error for $w\n$err" } set data(oldDir) $data(-directory) tixWidgetDoWhenIdle tixBusy $w off [$data(w:dirlist) subwidget hlist] } # # Called when thd listbox is first mapped proc tixExFileSelectBox:Map {w} { if {![winfo exists $w]} { return } upvar #0 $w data set bind(specs) "%V" set bind(%V) $data(-value) tixEvalCmdBinding $w bind \ [list tixExFileSelectBox:Cmd-DirList $w] $data(-directory) } #---------------------------------------------------------------------- # Public commands # #---------------------------------------------------------------------- proc tixExFileSelectBox:invoke {w} { tixExFileSelectBox:Invoke $w } proc tixExFileSelectBox:filter {w} { tixExFileSelectBox:LoadFiles $w reload }