golden hour
/usr/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: ResizeH.tcl
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- # # $Id: ResizeH.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $ # # ResizeH.tcl -- # # tixResizeHandle: A general purpose "resizing handle" # widget. You can use it to resize pictures, widgets, etc. When # using it to resize a widget, you can use the "attachwidget" # command to attach it to a widget and it will handle all the # events for you. # # Copyright (c) 1993-1999 Ioi Kim Lam. # Copyright (c) 2000-2001 Tix Project Group. # # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # # # tixWidgetClass tixResizeHandle { -classname TixResizeHandle -superclass tixVResize -method { attachwidget detachwidget hide show } -flag { -command -cursorfg -cursorbg -handlesize -hintcolor -hintwidth -x -y } -configspec { {-command command Command ""} {-cursorfg cursorFg CursorColor white} {-cursorbg cursorBg CursorColor red} {-handlesize handleSize HandleSize 6} {-hintcolor hintColor HintColor red} {-hintwidth hintWidth HintWidth 1} {-x x X 0} {-y y Y 0} } } proc tixResizeHandle:InitWidgetRec {w} { upvar #0 $w data tixChainMethod $w InitWidgetRec set data(shown) 0 set data(widget) "" } proc tixResizeHandle:ConstructWidget {w} { upvar #0 $w data tixChainMethod $w ConstructWidget # Create the hints # set data(w_ht) $w:tix_priv_ht set data(w_hb) $w:tix_priv_hb set data(w_hl) $w:tix_priv_hl set data(w_hr) $w:tix_priv_hr frame $data(w_ht) -height $data(-hintwidth) -bg $data(-background) frame $data(w_hb) -height $data(-hintwidth) -bg $data(-background) frame $data(w_hl) -width $data(-hintwidth) -bg $data(-background) frame $data(w_hr) -width $data(-hintwidth) -bg $data(-background) # Create the corner resize handles # set data(w_r00) $w # Windows don't like this # $data(rootCmd) config\ # -cursor "top_left_corner $data(-cursorbg) $data(-cursorfg)" $data(rootCmd) config -cursor top_left_corner set data(w_r01) $w:tix_priv_01 set data(w_r10) $w:tix_priv_10 set data(w_r11) $w:tix_priv_11 frame $data(w_r01) -relief $data(-relief) -bd $data(-borderwidth) \ -cursor "bottom_left_corner"\ -bg $data(-background) frame $data(w_r10) -relief $data(-relief) -bd $data(-borderwidth) \ -cursor "top_right_corner"\ -bg $data(-background) frame $data(w_r11) -relief $data(-relief) -bd $data(-borderwidth) \ -cursor "bottom_right_corner"\ -bg $data(-background) # Create the border resize handles # set data(w_bt) $w:tix_priv_bt set data(w_bb) $w:tix_priv_bb set data(w_bl) $w:tix_priv_bl set data(w_br) $w:tix_priv_br frame $data(w_bt) -relief $data(-relief) -bd $data(-borderwidth) \ -cursor "top_side"\ -bg $data(-background) frame $data(w_bb) -relief $data(-relief) -bd $data(-borderwidth) \ -cursor "bottom_side"\ -bg $data(-background) frame $data(w_bl) -relief $data(-relief) -bd $data(-borderwidth) \ -cursor "left_side"\ -bg $data(-background) frame $data(w_br) -relief $data(-relief) -bd $data(-borderwidth) \ -cursor "right_side"\ -bg $data(-background) } proc tixResizeHandle:SetBindings {w} { upvar #0 $w data tixChainMethod $w SetBindings bind $data(w_r00) <1> \ "tixResizeHandle:dragstart $w $data(w_r00) 1 %X %Y {1 1 -1 -1}" bind $data(w_r01) <1> \ "tixResizeHandle:dragstart $w $data(w_r01) 1 %X %Y {1 0 -1 1}" bind $data(w_r10) <1> \ "tixResizeHandle:dragstart $w $data(w_r10) 1 %X %Y {0 1 1 -1}" bind $data(w_r11) <1> \ "tixResizeHandle:dragstart $w $data(w_r11) 1 %X %Y {0 0 1 1}" bind $data(w_bt) <1> \ "tixResizeHandle:dragstart $w $data(w_bt) 1 %X %Y {0 1 0 -1}" bind $data(w_bb) <1> \ "tixResizeHandle:dragstart $w $data(w_bb) 1 %X %Y {0 0 0 1}" bind $data(w_bl) <1> \ "tixResizeHandle:dragstart $w $data(w_bl) 1 %X %Y {1 0 -1 0}" bind $data(w_br) <1> \ "tixResizeHandle:dragstart $w $data(w_br) 1 %X %Y {0 0 1 0}" foreach win [list \ $data(w_r00)\ $data(w_r01)\ $data(w_r10)\ $data(w_r11)\ $data(w_bt)\ $data(w_bb)\ $data(w_bl)\ $data(w_br)\ ] { bind $win <B1-Motion> "tixVResize:drag $w %X %Y" bind $win <ButtonRelease-1> "tixVResize:dragend $w $win 0 %X %Y" bind $win <Any-Escape> "tixVResize:dragend $w $win 1 0 0" } } #---------------------------------------------------------------------- # Config Methods #---------------------------------------------------------------------- proc tixResizeHandle:config-width {w value} { tixWidgetDoWhenIdle tixResizeHandle:ComposeWindow $w } proc tixResizeHandle:config-height {w value} { tixWidgetDoWhenIdle tixResizeHandle:ComposeWindow $w } proc tixResizeHandle:config-x {w value} { tixWidgetDoWhenIdle tixResizeHandle:ComposeWindow $w } proc tixResizeHandle:config-y {w value} { tixWidgetDoWhenIdle tixResizeHandle:ComposeWindow $w } #---------------------------------------------------------------------- # Public Methods #---------------------------------------------------------------------- proc tixResizeHandle:dragstart {w win depress rootx rooty mrect} { upvar #0 $w data set wx $data(-x) set wy $data(-y) set ww $data(-width) set wh $data(-height) tixVResize:dragstart $w $win $depress $rootx $rooty \ [list $wx $wy $ww $wh] $mrect } # tixDeleteBindTag -- # # Delete the bindtag(s) in the args list from the bindtags of the widget # proc tixDeleteBindTag {w args} { if {![winfo exists $w]} { return } set newtags "" foreach tag [bindtags $w] { if {[lsearch $args $tag] == -1} { lappend newtags $tag } } bindtags $w $newtags } proc tixAddBindTag {w args} { bindtags $w [concat [bindtags $w] $args] } proc tixResizeHandle:attachwidget {w widget args} { upvar #0 $w data set opt(-move) 0 tixHandleOptions opt {-move} $args if {$data(widget) != ""} { tixDeleteBindTag $data(widget) TixResizeHandleTag:$w } set data(widget) $widget if {$data(widget) != ""} { # Just in case TixResizeHandleTag was already there tixDeleteBindTag $data(widget) TixResizeHandleTag:$w tixAddBindTag $data(widget) TixResizeHandleTag:$w set data(-x) [winfo x $data(widget)] set data(-y) [winfo y $data(widget)] set data(-width) [winfo width $data(widget)] set data(-height) [winfo height $data(widget)] tixResizeHandle:show $w tixResizeHandle:ComposeWindow $w # Now set the bindings # if {$opt(-move)} { bind TixResizeHandleTag:$w <1> \ "tixResizeHandle:Attach $w %X %Y" bind TixResizeHandleTag:$w <B1-Motion> \ "tixResizeHandle:BMotion $w %X %Y" bind TixResizeHandleTag:$w <Any-Escape> \ "tixResizeHandle:BRelease $w 1 %X %Y" bind TixResizeHandleTag:$w <ButtonRelease-1>\ "tixResizeHandle:BRelease $w 0 %X %Y" } else { # if "move" is false, then the widget won't be moved as a whole -- # ResizeHandle will only move its sides bind TixResizeHandleTag:$w <1> {;} bind TixResizeHandleTag:$w <B1-Motion> {;} bind TixResizeHandleTag:$w <Any-Escape> {;} bind TixResizeHandleTag:$w <ButtonRelease-1> {;} } } } proc tixResizeHandle:detachwidget {w} { upvar #0 $w data if {$data(widget) != ""} { tixDeleteBindTag $data(widget) TixResizeHandleTag:$w } tixResizeHandle:hide $w } proc tixResizeHandle:show {w} { upvar #0 $w data set data(shown) 1 raise $data(w_ht) raise $data(w_hb) raise $data(w_hl) raise $data(w_hr) raise $data(w_r00) raise $data(w_r01) raise $data(w_r10) raise $data(w_r11) raise $data(w_bt) raise $data(w_bb) raise $data(w_bl) raise $data(w_br) # tixCancleIdleTask tixResizeHandle:ComposeWindow $w tixResizeHandle:ComposeWindow $w } proc tixResizeHandle:hide {w} { upvar #0 $w data if {!$data(shown)} { return } set data(shown) 0 place forget $data(w_r00) place forget $data(w_r01) place forget $data(w_r10) place forget $data(w_r11) place forget $data(w_bt) place forget $data(w_bb) place forget $data(w_bl) place forget $data(w_br) place forget $data(w_ht) place forget $data(w_hb) place forget $data(w_hl) place forget $data(w_hr) } proc tixResizeHandle:Destructor {w} { upvar #0 $w data if {$data(widget) != ""} { tixDeleteBindTag $data(widget) TixResizeHandleTag:$w } catch {destroy $data(w_r01)} catch {destroy $data(w_r10)} catch {destroy $data(w_r11)} catch {destroy $data(w_bt)} catch {destroy $data(w_bb)} catch {destroy $data(w_bl)} catch {destroy $data(w_br)} catch {destroy $data(w_ht)} catch {destroy $data(w_hb)} catch {destroy $data(w_hl)} catch {destroy $data(w_hr)} tixChainMethod $w Destructor } #---------------------------------------------------------------------- # Private Methods Dealing With Attached Widgets #---------------------------------------------------------------------- proc tixResizeHandle:Attach {w rx ry} { upvar #0 $w data tixResizeHandle:dragstart $w $data(widget) 0 $rx $ry {1 1 0 0} } proc tixResizeHandle:BMotion {w rx ry} { tixVResize:drag $w $rx $ry } proc tixResizeHandle:BRelease {w isAbort rx ry} { upvar #0 $w data tixVResize:dragend $w $data(widget) $isAbort $rx $ry } #---------------------------------------------------------------------- # Private Methods #---------------------------------------------------------------------- proc tixResizeHandle:DrawTmpLines {w} { upvar #0 $w data # I've seen this error - mike if {![info exists data(hf:x1)]} {return} set x1 $data(hf:x1) if {![info exists data(hf:y1)]} {return} set y1 $data(hf:y1) if {![info exists data(hf:x2)]} {return} set x2 $data(hf:x2) if {![info exists data(hf:y2)]} {return} set y2 $data(hf:y2) tixTmpLine $x1 $y1 $x2 $y1 $w tixTmpLine $x1 $y2 $x2 $y2 $w tixTmpLine $x1 $y1 $x1 $y2 $w tixTmpLine $x2 $y1 $x2 $y2 $w } # Place the hint frame to indicate the changes # proc tixResizeHandle:SetHintFrame {w x1 y1 width height} { upvar #0 $w data # The four sides of the window # set x2 [expr "$x1+$width"] set y2 [expr "$y1+$height"] set rx [winfo rootx [winfo parent $w]] set ry [winfo rooty [winfo parent $w]] incr x1 $rx incr y1 $ry incr x2 $rx incr y2 $ry if {[info exists data(hf:x1)]} { tixResizeHandle:DrawTmpLines $w } set data(hf:x1) $x1 set data(hf:y1) $y1 set data(hf:x2) $x2 set data(hf:y2) $y2 tixResizeHandle:DrawTmpLines $w } proc tixResizeHandle:ShowHintFrame {w} { upvar #0 $w data place forget $data(w_ht) place forget $data(w_hb) place forget $data(w_hl) place forget $data(w_hr) update } proc tixResizeHandle:HideHintFrame {w} { upvar #0 $w data tixResizeHandle:DrawTmpLines $w unset data(hf:x1) unset data(hf:y1) unset data(hf:x2) unset data(hf:y2) } proc tixResizeHandle:UpdateSize {w x y width height} { upvar #0 $w data set data(-x) $x set data(-y) $y set data(-width) $width set data(-height) $height tixResizeHandle:ComposeWindow $w if {$data(widget) != ""} { place $data(widget) -x $x -y $y -width $width -height $height } if {$data(-command) != ""} { eval $data(-command) $x $y $width $height } } proc tixResizeHandle:ComposeWindow {w} { upvar #0 $w data set px $data(-x) set py $data(-y) set pw $data(-width) set ph $data(-height) # Show the hint frames # set x1 $px set y1 $py set x2 [expr "$px+$pw"] set y2 [expr "$py+$ph"] place $data(w_ht) -x $x1 -y $y1 -width $pw -bordermode outside place $data(w_hb) -x $x1 -y $y2 -width $pw -bordermode outside place $data(w_hl) -x $x1 -y $y1 -height $ph -bordermode outside place $data(w_hr) -x $x2 -y $y1 -height $ph -bordermode outside # Set the four corner resize handles # set sz_2 [expr $data(-handlesize)/2] set x1 [expr "$px - $sz_2"] set y1 [expr "$py - $sz_2"] set x2 [expr "$px - $sz_2" + $pw] set y2 [expr "$py - $sz_2" + $ph] place $data(w_r00) -x $x1 -y $y1 \ -width $data(-handlesize) -height $data(-handlesize) place $data(w_r01) -x $x1 -y $y2\ -width $data(-handlesize) -height $data(-handlesize) place $data(w_r10) -x $x2 -y $y1\ -width $data(-handlesize) -height $data(-handlesize) place $data(w_r11) -x $x2 -y $y2\ -width $data(-handlesize) -height $data(-handlesize) # Set the four border resize handles # set mx [expr "$px + $pw/2 - $sz_2"] set my [expr "$py + $ph/2 - $sz_2"] place $data(w_bt) -x $mx -y $y1 \ -width $data(-handlesize) -height $data(-handlesize) place $data(w_bb) -x $mx -y $y2 \ -width $data(-handlesize) -height $data(-handlesize) place $data(w_bl) -x $x1 -y $my \ -width $data(-handlesize) -height $data(-handlesize) place $data(w_br) -x $x2 -y $my \ -width $data(-handlesize) -height $data(-handlesize) }
Save