__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
# $Id: PopMenu.tcl,v 1.7 2004/03/28 02:44:57 hobbs Exp $
#
# PopMenu.tcl --
#
# This file implements the TixPopupMenu widget
#
# 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.
#
global tkPriv
if {![llength [info globals tkPriv]]} {
tk::unsupported::ExposePrivateVariable tkPriv
}
#--------------------------------------------------------------------------
# tkPriv elements used in this file:
#
# inMenubutton -
#--------------------------------------------------------------------------
#
foreach fun {tkMenuUnpost tkMbButtonUp tkMbEnter tkMbPost} {
if {![llength [info commands $fun]]} {
tk::unsupported::ExposePrivateCommand $fun
}
}
unset fun
tixWidgetClass tixPopupMenu {
-classname TixPopupMenu
-superclass tixShell
-method {
bind post unbind
}
-flag {
-buttons -installcolormap -postcmd -spring -state -title
}
-configspec {
{-buttons buttons Buttons {{3 {Any}}}}
{-installcolormap installColormap InstallColormap false}
{-postcmd postCmd PostCmd ""}
{-spring spring Spring 1 tixVerifyBoolean}
{-state state State normal}
{-cursor corsor Cursor arrow}
}
-static {
-buttons
}
-default {
{*Menu.tearOff 0}
}
}
proc tixPopupMenu:InitWidgetRec {w} {
upvar #0 $w data
tixChainMethod $w InitWidgetRec
set data(g:clients) ""
}
proc tixPopupMenu:ConstructWidget {w} {
upvar #0 $w data
tixChainMethod $w ConstructWidget
wm overrideredirect $w 1
wm withdraw $w
set data(w:menubutton) [menubutton $w.menubutton -text $data(-title) \
-menu $w.menubutton.menu -anchor w]
set data(w:menu) [menu $w.menubutton.menu]
pack $data(w:menubutton) -expand yes -fill both
}
proc tixPopupMenu:SetBindings {w} {
upvar #0 $w data
tixChainMethod $w SetBindings
foreach elm $data(-buttons) {
set btn [lindex $elm 0]
foreach mod [lindex $elm 1] {
tixBind TixPopupMenu:MB:$w <$mod-ButtonPress-$btn> \
"tixPopupMenu:Unpost $w"
tixBind TixPopupMenu:$w <$mod-ButtonPress-$btn> \
"tixPopupMenu:post $w %W %x %y"
}
tixBind TixPopupMenu:MB:$w <ButtonRelease-$btn> \
"tixPopupMenu:BtnRelease $w %X %Y"
tixBind TixPopupMenu:M:$w <Unmap> \
"tixPopupMenu:Unmap $w"
tixBind TixPopupMenu:$w <ButtonRelease-$btn> \
"tixPopupMenu:BtnRelease $w %X %Y"
tixAddBindTag $data(w:menubutton) TixPopupMenu:MB:$w
tixAddBindTag $data(w:menu) TixPopupMenu:M:$w
}
}
#----------------------------------------------------------------------
# PrivateMethods:
#----------------------------------------------------------------------
proc tixPopupMenu:Unpost {w} {
upvar #0 $w data
catch {
tkMenuUnpost ""
}
# tkMbButtonUp $data(w:menubutton)
}
proc tixPopupMenu:BtnRelease {w rootX rootY} {
upvar #0 $w data
set cW [winfo containing -displayof $w $rootX $rootY]
if {$data(-spring)} {
tixPopupMenu:Unpost $w
}
}
proc tixPopupMenu:Unmap {w} {
upvar #0 $w data
wm withdraw $w
}
proc tixPopupMenu:Destructor {w} {
upvar #0 $w data
foreach client $data(g:clients) {
if {[winfo exists $client]} {
tixDeleteBindTag $client TixPopupMenu:$w
}
}
# delete the extra bindings
#
foreach tag [list TixPopupMenu:MB:$w TixPopupMenu:M:$w] {
foreach e [bind $tag] {
bind $tag $e ""
}
}
tixChainMethod $w Destructor
}
proc tixPopupMenu:config-title {w value} {
upvar #0 $w data
$data(w:menubutton) config -text $value
}
#----------------------------------------------------------------------
# PublicMethods:
#----------------------------------------------------------------------
proc tixPopupMenu:bind {w args} {
upvar #0 $w data
foreach client $args {
if {[lsearch $data(g:clients) $client] == -1} {
lappend data(g:clients) $client
tixAppendBindTag $client TixPopupMenu:$w
}
}
}
proc tixPopupMenu:unbind {w args} {
upvar #0 $w data
foreach client $args {
if {[winfo exists $client]} {
set index [lsearch $data(g:clients) $client]
if {$index != -1} {
tixDeleteBindTag $client TixPopupMenu:$w
set data(g:clients) [lreplace $data(g:clients) $index $index]
}
}
}
}
proc tixPopupMenu:post {w client x y} {
upvar #0 $w data
global tkPriv
if {$data(-state) == "disabled"} {
return
}
set rootx [expr $x + [winfo rootx $client]]
set rooty [expr $y + [winfo rooty $client]]
if {$data(-postcmd) != ""} {
set ret [tixEvalCmdBinding $w $data(-postcmd) "" $rootx $rooty]
if {![tixGetBoolean $ret]} {
return
}
}
if {[string is true -strict $data(-installcolormap)]} {
wm colormapwindows . $w
}
set menuWidth [winfo reqwidth $data(w:menu)]
set width [winfo reqwidth $w]
set height [winfo reqheight $w]
if {$width < $menuWidth} {
set width $menuWidth
}
set wx $rootx
set wy $rooty
# trick: the following lines allow the popup menu
# acquire a stable width and height when it is finally
# put on the visible screen. Advoid flashing
#
wm geometry $w +10000+10000
wm deiconify $w
raise $w
update
wm geometry $w ${width}x${height}+${wx}+${wy}
update
tkMbEnter $data(w:menubutton)
tkMbPost $tkPriv(inMenubutton) $rootx $rooty
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| bitmaps | Folder | 0755 |
|
|
| html | Folder | 0755 |
|
|
| pref | Folder | 0755 |
|
|
| Balloon.tcl | File | 12.97 KB | 0644 |
|
| BtnBox.tcl | File | 2.61 KB | 0644 |
|
| CObjView.tcl | File | 7.56 KB | 0644 |
|
| ChkList.tcl | File | 4.97 KB | 0644 |
|
| ComboBox.tcl | File | 35.42 KB | 0644 |
|
| Compat.tcl | File | 870 B | 0644 |
|
| Console.tcl | File | 14.95 KB | 0644 |
|
| Control.tcl | File | 12.11 KB | 0644 |
|
| DefSchm.tcl | File | 2.94 KB | 0644 |
|
| DialogS.tcl | File | 4.2 KB | 0644 |
|
| DirBox.tcl | File | 5.3 KB | 0644 |
|
| DirDlg.tcl | File | 2.15 KB | 0644 |
|
| DirList.tcl | File | 6.9 KB | 0644 |
|
| DirTree.tcl | File | 8.76 KB | 0644 |
|
| DragDrop.tcl | File | 3.93 KB | 0644 |
|
| DtlList.tcl | File | 1002 B | 0644 |
|
| EFileBox.tcl | File | 11.12 KB | 0644 |
|
| EFileDlg.tcl | File | 1.68 KB | 0644 |
|
| Event.tcl | File | 5.11 KB | 0644 |
|
| FileBox.tcl | File | 14 KB | 0644 |
|
| FileCbx.tcl | File | 2.42 KB | 0644 |
|
| FileDlg.tcl | File | 2.13 KB | 0644 |
|
| FileEnt.tcl | File | 7.15 KB | 0644 |
|
| FloatEnt.tcl | File | 3.1 KB | 0644 |
|
| Grid.tcl | File | 21.16 KB | 0644 |
|
| HList.tcl | File | 17.72 KB | 0644 |
|
| HListDD.tcl | File | 4.39 KB | 0644 |
|
| IconView.tcl | File | 5.97 KB | 0644 |
|
| Init.tcl | File | 6.05 KB | 0644 |
|
| LabEntry.tcl | File | 2.09 KB | 0644 |
|
| LabFrame.tcl | File | 1.15 KB | 0644 |
|
| LabWidg.tcl | File | 3.86 KB | 0644 |
|
| ListNBk.tcl | File | 3.5 KB | 0644 |
|
| Meter.tcl | File | 3.04 KB | 0644 |
|
| MultView.tcl | File | 3.62 KB | 0644 |
|
| NoteBook.tcl | File | 6.02 KB | 0644 |
|
| OldUtil.tcl | File | 2.98 KB | 0644 |
|
| OptMenu.tcl | File | 9.17 KB | 0644 |
|
| PanedWin.tcl | File | 27.68 KB | 0644 |
|
| PopMenu.tcl | File | 5.37 KB | 0644 |
|
| Primitiv.tcl | File | 10.28 KB | 0644 |
|
| README.txt | File | 987 B | 0644 |
|
| ResizeH.tcl | File | 12.94 KB | 0644 |
|
| SGrid.tcl | File | 5.8 KB | 0644 |
|
| SHList.tcl | File | 3.7 KB | 0644 |
|
| SListBox.tcl | File | 6.97 KB | 0644 |
|
| STList.tcl | File | 2.37 KB | 0644 |
|
| SText.tcl | File | 3.09 KB | 0644 |
|
| SWidget.tcl | File | 9.52 KB | 0644 |
|
| SWindow.tcl | File | 6.75 KB | 0644 |
|
| Select.tcl | File | 7.04 KB | 0644 |
|
| Shell.tcl | File | 1.06 KB | 0644 |
|
| SimpDlg.tcl | File | 1.13 KB | 0644 |
|
| StackWin.tcl | File | 1.95 KB | 0644 |
|
| StatBar.tcl | File | 1.31 KB | 0644 |
|
| StdBBox.tcl | File | 1.62 KB | 0644 |
|
| StdShell.tcl | File | 1.15 KB | 0644 |
|
| TList.tcl | File | 17.59 KB | 0644 |
|
| Tix.tcl | File | 9.51 KB | 0644 |
|
| Tree.tcl | File | 4.57 KB | 0644 |
|
| Utils.tcl | File | 10.54 KB | 0644 |
|
| VResize.tcl | File | 4.95 KB | 0644 |
|
| VStack.tcl | File | 9.42 KB | 0644 |
|
| VTree.tcl | File | 4.31 KB | 0644 |
|
| Variable.tcl | File | 2.5 KB | 0644 |
|
| WInfo.tcl | File | 965 B | 0644 |
|
| fs.tcl | File | 3.9 KB | 0644 |
|
| libTix.so | File | 320.71 KB | 0755 |
|
| license.terms | File | 2.76 KB | 0644 |
|
| pkgIndex.tcl | File | 122 B | 0644 |
|