!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/lib64/tcl8.6/Tix8.4.3/   drwxr-xr-x
Free 293.58 GB of 429.69 GB (68.32%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     OptMenu.tcl (9.17 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- 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
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0041 ]--