golden hour
/lib64/tcl8.5/Tix8.4.3
⬆️ Go Up
Upload
File/Folder
Size
Actions
Balloon.tcl
12.97 KB
Del
OK
BtnBox.tcl
2.61 KB
Del
OK
CObjView.tcl
7.56 KB
Del
OK
ChkList.tcl
4.97 KB
Del
OK
ComboBox.tcl
35.42 KB
Del
OK
Compat.tcl
870 B
Del
OK
Console.tcl
14.95 KB
Del
OK
Control.tcl
12.11 KB
Del
OK
DefSchm.tcl
2.94 KB
Del
OK
DialogS.tcl
4.2 KB
Del
OK
DirBox.tcl
5.3 KB
Del
OK
DirDlg.tcl
2.15 KB
Del
OK
DirList.tcl
6.9 KB
Del
OK
DirTree.tcl
8.76 KB
Del
OK
DragDrop.tcl
3.93 KB
Del
OK
DtlList.tcl
1002 B
Del
OK
EFileBox.tcl
11.12 KB
Del
OK
EFileDlg.tcl
1.68 KB
Del
OK
Event.tcl
5.11 KB
Del
OK
FileBox.tcl
14 KB
Del
OK
FileCbx.tcl
2.42 KB
Del
OK
FileDlg.tcl
2.13 KB
Del
OK
FileEnt.tcl
7.15 KB
Del
OK
FloatEnt.tcl
3.1 KB
Del
OK
Grid.tcl
21.16 KB
Del
OK
HList.tcl
17.72 KB
Del
OK
HListDD.tcl
4.39 KB
Del
OK
IconView.tcl
5.97 KB
Del
OK
Init.tcl
6.05 KB
Del
OK
LabEntry.tcl
2.09 KB
Del
OK
LabFrame.tcl
1.15 KB
Del
OK
LabWidg.tcl
3.86 KB
Del
OK
ListNBk.tcl
3.5 KB
Del
OK
Meter.tcl
3.04 KB
Del
OK
MultView.tcl
3.62 KB
Del
OK
NoteBook.tcl
6.02 KB
Del
OK
OldUtil.tcl
2.98 KB
Del
OK
OptMenu.tcl
9.17 KB
Del
OK
PanedWin.tcl
27.68 KB
Del
OK
PopMenu.tcl
5.37 KB
Del
OK
Primitiv.tcl
10.28 KB
Del
OK
README.txt
987 B
Del
OK
ResizeH.tcl
12.94 KB
Del
OK
SGrid.tcl
5.8 KB
Del
OK
SHList.tcl
3.7 KB
Del
OK
SListBox.tcl
6.97 KB
Del
OK
STList.tcl
2.37 KB
Del
OK
SText.tcl
3.09 KB
Del
OK
SWidget.tcl
9.52 KB
Del
OK
SWindow.tcl
6.75 KB
Del
OK
Select.tcl
7.04 KB
Del
OK
Shell.tcl
1.06 KB
Del
OK
SimpDlg.tcl
1.13 KB
Del
OK
StackWin.tcl
1.95 KB
Del
OK
StatBar.tcl
1.31 KB
Del
OK
StdBBox.tcl
1.62 KB
Del
OK
StdShell.tcl
1.15 KB
Del
OK
TList.tcl
17.59 KB
Del
OK
Tix.tcl
9.51 KB
Del
OK
Tree.tcl
4.57 KB
Del
OK
Utils.tcl
10.54 KB
Del
OK
VResize.tcl
4.95 KB
Del
OK
VStack.tcl
9.42 KB
Del
OK
VTree.tcl
4.31 KB
Del
OK
Variable.tcl
2.5 KB
Del
OK
WInfo.tcl
965 B
Del
OK
bitmaps
-
Del
OK
fs.tcl
3.9 KB
Del
OK
html
-
Del
OK
libTix.so
320.71 KB
Del
OK
license.terms
2.76 KB
Del
OK
pkgIndex.tcl
122 B
Del
OK
pref
-
Del
OK
Edit: EFileBox.tcl
# -*- 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 "<Return>"} { 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 }
Save