PHP 7.4.33
Preview: DragDrop.tcl Size: 3.93 KB
/home/godevadmin/public_html/upload_images/home/000~ROOT~000/lib64/tcl8.6/Tix8.4.3/DragDrop.tcl

# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: DragDrop.tcl,v 1.4 2001/12/09 05:04:02 idiscovery Exp $
#
# DragDrop.tcl ---
#
#	Implements drag+drop for Tix widgets.
#
# 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.
#

tixClass tixDragDropContext {
    -superclass {}
    -classname  TixDragDropContext
    -method {
	cget configure drag drop set startdrag
    }
    -flag {
	-command -source
    }
    -configspec {
	{-command ""}
	{-source ""}
    }
}

proc tixDragDropContext:Constructor {w} {
    upvar #0 $w data
}

#----------------------------------------------------------------------
# Private methods
#
#----------------------------------------------------------------------
proc tixDragDropContext:CallCommand {w target command X Y} {
    upvar #0 $w data
     
    set x [expr $X-[winfo rootx $target]]
    set y [expr $Y-[winfo rooty $target]]
    
    regsub %x $command $x command
    regsub %y $command $y command
    regsub %X $command $X command
    regsub %Y $command $Y command
    regsub %W $command $target command
    regsub %S $command [list $data(-command)] command

    eval $command
}

proc tixDragDropContext:Send {w target event X Y} {
    upvar #0 $w data
    global tixDrop

    foreach tag [tixDropBindTags $target] {
	if {[info exists tixDrop($tag,$event)]} {
	    tixDragDropContext:CallCommand $w $target \
		$tixDrop($tag,$event) $X $Y
	}
    }
}

#----------------------------------------------------------------------
# set --
#
#	Set the "small data" of the type supported by the source widget
#----------------------------------------------------------------------

proc tixDragDropContext:set {w type data} {

}

#----------------------------------------------------------------------
# startdrag --
#
#	Start the dragging action
#----------------------------------------------------------------------
proc tixDragDropContext:startdrag {w x y} {
    upvar #0 $w data

    set data(oldTarget) ""

    $data(-source) config -cursor "[tix getbitmap drop] black"
    tixDragDropContext:drag $w $x $y
}

#----------------------------------------------------------------------
# drag --
#
#	Continue the dragging action
#----------------------------------------------------------------------
proc tixDragDropContext:drag {w X Y} {
    upvar #0 $w data
    global tixDrop

    set target [winfo containing -displayof $w $X $Y]
 
    if {$target != $data(oldTarget)} {
	if {$data(oldTarget) != ""} {
	    tixDragDropContext:Send $w $data(oldTarget) <Out> $X $Y 
	}
	if {$target != ""} {
	    tixDragDropContext:Send $w $target <In> $X $Y
	}
	set data(oldTarget) $target
    }
    if {$target != ""} {
	tixDragDropContext:Send $w $target <Over> $X $Y
    }
}

proc tixDragDropContext:drop {w X Y} {
    upvar #0 $w data
    global tixDrop

    set target [winfo containing -displayof $w $X $Y]
    if {$target != ""} {
	tixDragDropContext:Send $w $target <Drop> $X $Y
    }

    if {$data(-source) != ""} {
	$data(-source) config -cursor ""
    }
    set data(-source) ""
}

#----------------------------------------------------------------------
# Public Procedures -- This is NOT a member of the tixDragDropContext
#		       class!
#
# parameters :
#	$w:	who wants to start dragging? (currently ignored)
#----------------------------------------------------------------------
proc tixGetDragDropContext {w} {
    global tixDD
    if {[info exists tixDD]} {
	return tixDD
    }

    return [tixDragDropContext tixDD]
}

proc tixDropBind {w event command} {
    global tixDrop

    set tixDrop($w) 1
    set tixDrop($w,$event) $command
}

proc tixDropBindTags {w args} {
    global tixDropTags

    if {$args == ""} {
	if {[info exists tixDropTags($w)]} {
	    return $tixDropTags($w)
	} else {
	    return [list [winfo class $w] $w]
	}
    } else {
	set tixDropTags($w) $args
    }
}

Directory Contents

Dirs: 3 × Files: 70

Name Size Perms Modified Actions
bitmaps DIR
- drwxr-xr-x 2024-08-07 14:25:42
Edit Download
html DIR
- drwxr-xr-x 2019-10-22 12:47:10
Edit Download
pref DIR
- drwxr-xr-x 2024-08-07 14:25:42
Edit Download
12.97 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
2.61 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
4.97 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
7.56 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
35.42 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
870 B lrw-r--r-- 2019-10-22 12:47:10
Edit Download
14.95 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
12.11 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
2.94 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
4.20 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
5.30 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
2.15 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
6.90 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
8.76 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
3.93 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
1002 B lrw-r--r-- 2019-10-22 12:47:10
Edit Download
11.12 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
1.68 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
5.11 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
14.00 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
2.42 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
2.13 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
7.15 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
3.10 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
3.90 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
21.16 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
17.72 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
4.39 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
5.97 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
6.05 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
2.09 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
1.15 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
3.86 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
341.30 KB lrwxr-xr-x 2019-10-22 12:47:11
Edit Download
2.76 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
3.50 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
3.04 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
3.62 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
6.02 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
2.98 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
9.17 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
27.68 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
122 B lrw-r--r-- 2019-10-22 12:47:10
Edit Download
5.37 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
10.28 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
987 B lrw-r--r-- 2019-10-22 12:47:10
Edit Download
12.94 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
7.04 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
5.80 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
1.06 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
3.70 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
1.13 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
6.97 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
1.95 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
1.31 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
1.62 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
1.15 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
3.09 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
2.37 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
9.52 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
6.75 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
9.51 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
17.59 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
4.57 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
10.54 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
2.50 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
4.95 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
9.42 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
4.31 KB lrw-r--r-- 2019-10-22 12:47:10
Edit Download
965 B lrw-r--r-- 2019-10-22 12:47:10
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).