PATH:
usr
/
lib64
/
tcl8.5
/
Tix8.4.3
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*- # # $Id: HListDD.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $ # # HListDD.tcl -- # # !!! PRE-ALPHA CODE, NOT USED, DON'T USE !!! # # This file implements drag+drop for HList. # # 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. # # # events # # proc tixHListSingle:DragTimer {w ent} { case [tixHListSingle:GetState $w] { {1} { # fire up } } } #---------------------------------------------------------------------- # # Drag + Drop Bindings # #---------------------------------------------------------------------- #----------------------------------------# # Sending Actions # #----------------------------------------# #---------------------------------------------------------------------- # tixHListSingle:Send:WaitDrag -- # # Sender wait for dragging action #---------------------------------------------------------------------- proc tixHListSingle:Send:WaitDrag {w x y} { global tixPriv set ent [tixHListSingle:GetNearest $w $y] if {$ent != ""} { $w anchor set $ent $w select clear $w select set $ent set tixPriv(dd,$w:moved) 0 set tixPriv(dd,$w:entry) $ent # set browsecmd [$w cget -browsecmd] # if {$browsecmd != "" && $ent != ""} { # eval $browsecmd $ent # } } } proc tixHListSingle:Send:StartDrag {w x y} { global tixPriv set dd [tixGetDragDropContext $w] if {![info exists tixPriv(dd,$w:entry)]} { return } if {$tixPriv(dd,$w:entry) == ""} { return } if {$tixPriv(dd,$w:moved) == 0} { $w dragsite set $tixPriv(dd,$w:entry) set tixPriv(dd,$w:moved) 1 $dd config -source $w -command [list tixHListSingle:Send:Cmd $w] $dd startdrag $X $Y } else { $dd drag $X $Y } } proc tixHListSingle:Send:DoneDrag {w x y} { global tixPriv global moved if {![info exists tixPriv(dd,$w:entry)]} { return } if {$tixPriv(dd,$w:entry) == ""} { return } if {$tixPriv(dd,$w:moved) == 1} { set dd [tixGetDragDropContext $w] $dd drop $X $Y } $w dragsite clear catch {unset tixPriv(dd,$w:moved)} catch {unset tixPriv(dd,$w:entry)} } proc tixHListSingle:Send:Cmd {w option args} { set dragCmd [$w cget -dragcmd] if {$dragCmd != ""} { return [eval $dragCmd $option $args] } # Perform the default action # case "$option" { who { return $w } types { return {data text} } get { global tixPriv if {[lindex $args 0] == "text"} { if {$tixPriv(dd,$w:entry) != ""} { return [$w entrycget $tixPriv(dd,$w:entry) -text] } } if {[lindex $args 0] == "data"} { if {$tixPriv(dd,$w:entry) != ""} { return [$w entrycget $tixPriv(dd,$w:entry) -data] } } } } } #----------------------------------------# # Receiving Actions # #----------------------------------------# proc tixHListSingle:Rec:DragOver {w sender x y} { if {[$w cget -selectmode] != "dragdrop"} { return } set ent [tixHListSingle:GetNearest $w $y] if {$ent != ""} { $w dropsite set $ent } else { $w dropsite clear } } proc tixHListSingle:Rec:DragIn {w sender x y} { if {[$w cget -selectmode] != "dragdrop"} { return } set ent [tixHListSingle:GetNearest $w $y] if {$ent != ""} { $w dropsite set $ent } else { $w dropsite clear } } proc tixHListSingle:Rec:DragOut {w sender x y} { if {[$w cget -selectmode] != "dragdrop"} { return } $w dropsite clear } proc tixHListSingle:Rec:Drop {w sender x y} { if {[$w cget -selectmode] != "dragdrop"} { return } $w dropsite clear set ent [tixHListSingle:GetNearest $w $y] if {$ent != ""} { $w anchor set $ent $w select clear $w select set $ent } set dropCmd [$w cget -dropcmd] if {$dropCmd != ""} { eval $dropCmd $sender $x $y return } # set browsecmd [$w cget -browsecmd] # if {$browsecmd != "" && $ent != ""} { # eval $browsecmd [list $ent] # } } tixDropBind TixHListSingle <In> "tixHListSingle:Rec:DragIn %W %S %x %y" tixDropBind TixHListSingle <Over> "tixHListSingle:Rec:DragOver %W %S %x %y" tixDropBind TixHListSingle <Out> "tixHListSingle:Rec:DragOut %W %S %x %y" tixDropBind TixHListSingle <Drop> "tixHListSingle:Rec:Drop %W %S %x %y"
[-] StackWin.tcl
[edit]
[-] VResize.tcl
[edit]
[-] LabEntry.tcl
[edit]
[-] fs.tcl
[edit]
[-] EFileBox.tcl
[edit]
[-] Meter.tcl
[edit]
[-] StdBBox.tcl
[edit]
[-] CObjView.tcl
[edit]
[-] DefSchm.tcl
[edit]
[-] BtnBox.tcl
[edit]
[-] OldUtil.tcl
[edit]
[-] WInfo.tcl
[edit]
[+]
..
[-] Compat.tcl
[edit]
[-] ComboBox.tcl
[edit]
[-] SWidget.tcl
[edit]
[-] LabFrame.tcl
[edit]
[-] EFileDlg.tcl
[edit]
[-] FileDlg.tcl
[edit]
[-] Balloon.tcl
[edit]
[-] SListBox.tcl
[edit]
[+]
pref
[-] README.txt
[edit]
[-] PopMenu.tcl
[edit]
[-] DirList.tcl
[edit]
[-] Control.tcl
[edit]
[-] FileBox.tcl
[edit]
[-] StatBar.tcl
[edit]
[-] pkgIndex.tcl
[edit]
[-] StdShell.tcl
[edit]
[-] Tix.tcl
[edit]
[-] license.terms
[edit]
[-] Select.tcl
[edit]
[-] OptMenu.tcl
[edit]
[-] DirDlg.tcl
[edit]
[-] Shell.tcl
[edit]
[-] STList.tcl
[edit]
[+]
bitmaps
[-] LabWidg.tcl
[edit]
[-] DirBox.tcl
[edit]
[-] VStack.tcl
[edit]
[-] SHList.tcl
[edit]
[-] Variable.tcl
[edit]
[-] NoteBook.tcl
[edit]
[-] ResizeH.tcl
[edit]
[-] Grid.tcl
[edit]
[-] SGrid.tcl
[edit]
[-] SimpDlg.tcl
[edit]
[-] VTree.tcl
[edit]
[-] FileEnt.tcl
[edit]
[-] Utils.tcl
[edit]
[-] Event.tcl
[edit]
[-] Tree.tcl
[edit]
[-] HListDD.tcl
[edit]
[-] MultView.tcl
[edit]
[-] Init.tcl
[edit]
[-] TList.tcl
[edit]
[-] FloatEnt.tcl
[edit]
[-] libTix.so
[edit]
[-] DialogS.tcl
[edit]
[-] DirTree.tcl
[edit]
[-] DtlList.tcl
[edit]
[-] Console.tcl
[edit]
[-] PanedWin.tcl
[edit]
[-] HList.tcl
[edit]
[-] FileCbx.tcl
[edit]
[-] ListNBk.tcl
[edit]
[-] SWindow.tcl
[edit]
[-] ChkList.tcl
[edit]
[-] IconView.tcl
[edit]
[-] SText.tcl
[edit]
[-] DragDrop.tcl
[edit]
[-] Primitiv.tcl
[edit]
[+]
html