GRAYBYTE WORDPRESS FILE MANAGER7760

Server IP : 68.65.123.43 / Your IP : 216.73.216.162
System : Linux server266.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
PHP Version : 8.0.30
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /lib64/tcl8.6/Tix8.4.3/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /lib64/tcl8.6/Tix8.4.3//OptMenu.tcl
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: OptMenu.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# OptMenu.tcl --
#
#	This file implements the TixOptionMenu 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.
#


tixWidgetClass tixOptionMenu {
    -classname TixOptionMenu
    -superclass tixLabelWidget
    -method {
	add delete disable enable entrycget entryconfigure entries
    }
    -flag {
	-command -disablecallback -dynamicgeometry -value -variable
	-validatecmd -state
    }
    -forcecall {
	-variable -state
    }
    -configspec {
	{-command command Command ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-dynamicgeometry dynamicGeometry DynamicGeometry 0 tixVerifyBoolean}
	{-state state State normal}
	{-value value Value ""}
	{-validatecmd validateCmd ValidateCmd ""}
	{-variable variable Variable ""}
    }
    -default {
	{.highlightThickness			0}
	{.takeFocus				0}
	{.frame.menubutton.relief		raised}
	{.frame.menubutton.borderWidth		2}
	{.frame.menubutton.anchor		w}
	{.frame.menubutton.highlightThickness	2}
	{.frame.menubutton.takeFocus		1}
    }
}

proc tixOptionMenu:InitWidgetRec {w} {
    upvar #0 $w data

    tixChainMethod $w InitWidgetRec
 
    set data(nItems)	0
    set data(items)     ""
    set data(posted)	0
    set data(varInited)	0
    set data(maxWidth)  0
}

proc tixOptionMenu:ConstructFramedWidget {w frame} {
    upvar #0 $w data

    tixChainMethod $w ConstructFramedWidget $frame

    set data(w:menubutton) [menubutton $frame.menubutton -indicatoron 1]
    set data(w:menu)       [menu $frame.menubutton.menu -tearoff 0]
    pack $data(w:menubutton) -side left -expand yes -fill both

    $data(w:menubutton) config -menu $data(w:menu)

    bind $data(w:menubutton) <Up>   [bind Menubutton <space>]
    bind $data(w:menubutton) <Down> [bind Menubutton <space>]

    tixSetMegaWidget $data(w:menubutton) $w
}

proc tixOptionMenu:SetBindings {w} {
    upvar #0 $w data

    tixChainMethod $w SetBindings
}

#----------------------------------------------------------------------
# Private methods
#----------------------------------------------------------------------
proc tixOptionMenu:Invoke {w name} {
    upvar #0 $w data

    if {"$data(-state)" == "normal"} {
	tixOptionMenu:SetValue $w $name
    }
}

proc tixOptionMenu:SetValue {w value {noUpdate 0}} {
    upvar #0 $w data

    if {$data(-validatecmd) != ""} {
	set value [tixEvalCmdBinding $w $data(-validatecmd) "" $value]
    }

    set name $value

    if {$name == "" || [info exists data(varInited)]} {
	# variable may contain a bogus value
	if {![info exists data($name,index)]} {
	    set data(-value) ""
	    tixVariable:UpdateVariable $w
	    $data(w:menubutton) config -text ""
	    return
	}
    }

    if {[info exists data($name,index)]} {
       $data(w:menubutton) config -text $data($name,label)

       set data(-value) $value

       if {! $noUpdate} {
	   tixVariable:UpdateVariable $w
       }

       if {$data(-command) != "" && !$data(-disablecallback)} {
	   if {![info exists data(varInited)]} {
	       set bind(specs) ""
	       tixEvalCmdBinding $w $data(-command) bind $value
	   }
       }
    } else {
	error "item \"$value\" does not exist"
    }
}

proc tixOptionMenu:SetMaxWidth {w} {
    upvar #0 $w data

    foreach name $data(items) {
	set len [string length $data($name,label)]
	if {$data(maxWidth) < $len} {
	    set data(maxWidth) $len
	}
    }

    if {$data(maxWidth) > 0} {
	$data(w:menubutton) config -width $data(maxWidth)
    }
}

#----------------------------------------------------------------------
# Configuration
#----------------------------------------------------------------------
proc tixOptionMenu:config-state {w value} {
    upvar #0 $w data

    if {![info exists data(w:label)]} {
	return
    }

    if {$value == "normal"} {
	catch {
	    $data(w:label) config -fg \
		[$data(w:menubutton) cget -foreground]
	}
	$data(w:menubutton) config -state $value
    } else {
	catch {
	    $data(w:label) config -fg \
		[$data(w:menubutton) cget -disabledforeground]
	}
	$data(w:menubutton) config -state $value
    }
}

proc tixOptionMenu:config-value {w value} {
    upvar #0 $w data

    tixOptionMenu:SetValue $w $value

    # This will tell the Intrinsics: "Please use this value"
    # because "value" might be altered by SetValues
    #
    return $data(-value)
}

proc tixOptionMenu:config-variable {w arg} {
    upvar #0 $w data

    if {[tixVariable:ConfigVariable $w $arg]} {
       # The value of data(-value) is changed if tixVariable:ConfigVariable 
       # returns true
       tixOptionMenu:SetValue $w $data(-value) 1
    }
    catch {
	unset data(varInited)
    }
    set data(-variable) $arg
}

#----------------------------------------------------------------------
# Public Methdos
#----------------------------------------------------------------------
proc tixOptionMenu:add {w type name args} {
    upvar #0 $w data

    if {[info exists data($name,index)]} {
	error "item $name already exists in the option menu $w"
    }

    case $type {
	"command" {
	    set validOptions {
		-command -label
	    }
	    set opt(-command)		""
	    set opt(-label)		$name

	    tixHandleOptions -nounknown opt $validOptions $args

	    if {$opt(-command)	!= ""} {
		error "option -command cannot be specified"
	    }

	    # Create a new item inside the menu
	    #
	    eval $data(w:menu) add command $args \
		[list -label $opt(-label) \
		-command "tixOptionMenu:Invoke $w \{$name\}"]
	    set index $data(nItems)

	    # Store info about this item
	    #
	    set data($index,name) $name
	    set data($name,type) cmd
	    set data($name,label) $opt(-label)
	    set data($name,index) $index

	    if {$index == 0} {
		$data(w:menubutton) config -text $data($name,label)
		tixOptionMenu:SetValue $w $name
	    }

	    incr data(nItems)
	    lappend data(items) $name

	    if $data(-dynamicgeometry) {
		tixOptionMenu:SetMaxWidth $w
	    }
	}
	"separator" {
	    $data(w:menu) add separator

	    set index $data(nItems)
	    # Store info about this item
	    #
	    set data($index,name) $name
	    set data($name,type) sep
	    set data($name,label) ""
	    set data($name,index) $index

	    incr data(nItems)
	    lappend data(items) $name
	}
	default {
	    error "only types \"separator\" and \"command\" are allowed"
	}
    }

    return ""
}

proc tixOptionMenu:delete {w item} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    }

    # Rehash the item list
    set newItems ""
    set oldIndex 0
    set newIndex 0
    foreach name $data(items) {
	if {$item == $name} {
	    unset data($name,label)
	    unset data($name,index)
	    unset data($name,type)
	    $data(w:menu) delete $oldIndex
	} else {
	    set data($name,index)    $newIndex
	    set data($newIndex,name) $name
	    incr newIndex
	    lappend newItems $name
	}
	incr oldIndex
    }
    incr oldIndex -1; unset data($oldIndex,name)
    set data(nItems) $newIndex
    set data(items) $newItems

    if {$data(-value) == $item} {
	set newVal ""
	foreach item $data(items) {
	    if {$data($item,type) == "cmd"} {
		set newVal $item
	    }
	}
	tixOptionMenu:SetValue $w $newVal
    }

    return ""
}


proc tixOptionMenu:disable {w item} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    } else {
	catch {$data(w:menu) entryconfig $data($item,index) -state disabled}
    }
}

proc tixOptionMenu:enable {w item} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    } else {
	catch {$data(w:menu) entryconfig $data($item,index) -state normal}
    }
}

proc tixOptionMenu:entryconfigure {w item args} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    } else {
	return [eval $data(w:menu) entryconfig $data($item,index) $args]
    }
}

proc tixOptionMenu:entrycget {w item arg} {
    upvar #0 $w data

    if {![info exists data($item,index)]} {
	error "item $item does not exist in $w"
    } else {
	return [$data(w:menu) entrycget $data($item,index) $arg]
    }
}

proc tixOptionMenu:entries {w} {
    upvar #0 $w data

    return $data(items)
}


proc tixOptionMenu:Destructor {w} {

    tixVariable:DeleteVariable $w

    # Chain this to the superclass
    #
    tixChainMethod $w Destructor
}

#----------------------------------------------------------------------
# Obsolete
# These have been replaced by new commands in Tk 4.0
#
proc tixOptionMenu:Post {w} {
    upvar #0 $w data

    set rootx [winfo rootx $data(w:frame)]
    set rooty [winfo rooty $data(w:frame)]

    # adjust for the border of the menu and frame
    #
    incr rootx [lindex [$data(w:menu)  config -border] 4]
    incr rooty [lindex [$data(w:frame) config -border] 4]
    incr rooty [lindex [$data(w:menu)  config -border] 4]

    set value $data(-value)
    set y [$data(w:menu) yposition $data($value,index)]

    $data(w:menu) post $rootx [expr $rooty - $y]
    $data(w:menu) activate $data($value,index)
    grab -global $data(w:menubutton)
    set data(posted) 1
}

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 03 2024 20:23:41
root / root
0755
bitmaps
--
March 03 2024 20:23:41
root / root
0755
html
--
October 22 2019 12:47:10
root / root
0755
pref
--
March 03 2024 20:23:41
root / root
0755
Balloon.tcl
12.974 KB
October 22 2019 12:47:10
root / root
0644
BtnBox.tcl
2.608 KB
October 22 2019 12:47:10
root / root
0644
CObjView.tcl
7.557 KB
October 22 2019 12:47:10
root / root
0644
ChkList.tcl
4.968 KB
October 22 2019 12:47:10
root / root
0644
ComboBox.tcl
35.421 KB
October 22 2019 12:47:10
root / root
0644
Compat.tcl
0.85 KB
October 22 2019 12:47:10
root / root
0644
Console.tcl
14.952 KB
October 22 2019 12:47:10
root / root
0644
Control.tcl
12.111 KB
October 22 2019 12:47:10
root / root
0644
DefSchm.tcl
2.942 KB
October 22 2019 12:47:10
root / root
0644
DialogS.tcl
4.195 KB
October 22 2019 12:47:10
root / root
0644
DirBox.tcl
5.298 KB
October 22 2019 12:47:10
root / root
0644
DirDlg.tcl
2.154 KB
October 22 2019 12:47:10
root / root
0644
DirList.tcl
6.898 KB
October 22 2019 12:47:10
root / root
0644
DirTree.tcl
8.762 KB
October 22 2019 12:47:10
root / root
0644
DragDrop.tcl
3.931 KB
October 22 2019 12:47:10
root / root
0644
DtlList.tcl
0.979 KB
October 22 2019 12:47:10
root / root
0644
EFileBox.tcl
11.123 KB
October 22 2019 12:47:10
root / root
0644
EFileDlg.tcl
1.678 KB
October 22 2019 12:47:10
root / root
0644
Event.tcl
5.108 KB
October 22 2019 12:47:10
root / root
0644
FileBox.tcl
14 KB
October 22 2019 12:47:10
root / root
0644
FileCbx.tcl
2.425 KB
October 22 2019 12:47:10
root / root
0644
FileDlg.tcl
2.134 KB
October 22 2019 12:47:10
root / root
0644
FileEnt.tcl
7.147 KB
October 22 2019 12:47:10
root / root
0644
FloatEnt.tcl
3.102 KB
October 22 2019 12:47:10
root / root
0644
Grid.tcl
21.157 KB
October 22 2019 12:47:10
root / root
0644
HList.tcl
17.723 KB
October 22 2019 12:47:10
root / root
0644
HListDD.tcl
4.395 KB
October 22 2019 12:47:10
root / root
0644
IconView.tcl
5.967 KB
October 22 2019 12:47:10
root / root
0644
Init.tcl
6.054 KB
October 22 2019 12:47:10
root / root
0644
LabEntry.tcl
2.093 KB
October 22 2019 12:47:10
root / root
0644
LabFrame.tcl
1.153 KB
October 22 2019 12:47:10
root / root
0644
LabWidg.tcl
3.858 KB
October 22 2019 12:47:10
root / root
0644
ListNBk.tcl
3.497 KB
October 22 2019 12:47:10
root / root
0644
Meter.tcl
3.041 KB
October 22 2019 12:47:10
root / root
0644
MultView.tcl
3.617 KB
October 22 2019 12:47:10
root / root
0644
NoteBook.tcl
6.016 KB
October 22 2019 12:47:10
root / root
0644
OldUtil.tcl
2.984 KB
October 22 2019 12:47:10
root / root
0644
OptMenu.tcl
9.172 KB
October 22 2019 12:47:10
root / root
0644
PanedWin.tcl
27.683 KB
October 22 2019 12:47:10
root / root
0644
PopMenu.tcl
5.371 KB
October 22 2019 12:47:10
root / root
0644
Primitiv.tcl
10.28 KB
October 22 2019 12:47:10
root / root
0644
README.txt
0.964 KB
October 22 2019 12:47:10
root / root
0644
ResizeH.tcl
12.937 KB
October 22 2019 12:47:10
root / root
0644
SGrid.tcl
5.796 KB
October 22 2019 12:47:10
root / root
0644
SHList.tcl
3.704 KB
October 22 2019 12:47:10
root / root
0644
SListBox.tcl
6.971 KB
October 22 2019 12:47:10
root / root
0644
STList.tcl
2.371 KB
October 22 2019 12:47:10
root / root
0644
SText.tcl
3.089 KB
October 22 2019 12:47:10
root / root
0644
SWidget.tcl
9.52 KB
October 22 2019 12:47:10
root / root
0644
SWindow.tcl
6.746 KB
October 22 2019 12:47:10
root / root
0644
Select.tcl
7.035 KB
October 22 2019 12:47:10
root / root
0644
Shell.tcl
1.057 KB
October 22 2019 12:47:10
root / root
0644
SimpDlg.tcl
1.13 KB
October 22 2019 12:47:10
root / root
0644
StackWin.tcl
1.945 KB
October 22 2019 12:47:10
root / root
0644
StatBar.tcl
1.308 KB
October 22 2019 12:47:10
root / root
0644
StdBBox.tcl
1.617 KB
October 22 2019 12:47:10
root / root
0644
StdShell.tcl
1.146 KB
October 22 2019 12:47:10
root / root
0644
TList.tcl
17.587 KB
October 22 2019 12:47:10
root / root
0644
Tix.tcl
9.509 KB
October 22 2019 12:47:10
root / root
0644
Tree.tcl
4.569 KB
October 22 2019 12:47:10
root / root
0644
Utils.tcl
10.535 KB
October 22 2019 12:47:10
root / root
0644
VResize.tcl
4.95 KB
October 22 2019 12:47:10
root / root
0644
VStack.tcl
9.425 KB
October 22 2019 12:47:10
root / root
0644
VTree.tcl
4.307 KB
October 22 2019 12:47:10
root / root
0644
Variable.tcl
2.503 KB
October 22 2019 12:47:10
root / root
0644
WInfo.tcl
0.942 KB
October 22 2019 12:47:10
root / root
0644
fs.tcl
3.901 KB
October 22 2019 12:47:10
root / root
0644
libTix.so
341.297 KB
October 22 2019 12:47:11
root / root
0755
license.terms
2.762 KB
October 22 2019 12:47:10
root / root
0644
pkgIndex.tcl
0.119 KB
October 22 2019 12:47:10
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF