shell bypass 403

UnknownSec Shell

: /lib64/tcl8.6/Tix8.4.3/ [ drwxr-xr-x ]

name : SListBox.tcl
# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
#
#	$Id: SListBox.tcl,v 1.5 2004/03/28 02:44:57 hobbs Exp $
#
# SListBox.tcl --
#
#	This file implements Scrolled Listbox 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.
#


# ToDo:
# -anchor (none)
#

tixWidgetClass tixScrolledListBox {
    -classname TixScrolledListBox
    -superclass tixScrolledWidget
    -method {
    }
    -flag {
	-anchor -browsecmd -command -state
    }
    -static {
	-anchor
    }
    -configspec {
	{-anchor anchor Anchor w}
	{-browsecmd browseCmd BrowseCmd ""}
	{-command command Command ""}
	{-state state State normal}
	{-takefocus takeFocus TakeFocus 1 tixVerifyBoolean}
    }
    -default {
	{.scrollbar			auto}
	{*borderWidth			1}
	{*listbox.highlightBackground	#d9d9d9}
	{*listbox.relief		sunken}
	{*listbox.background		#c3c3c3}
	{*listbox.takeFocus		1}
	{*Scrollbar.takeFocus		0}
    }
}

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

    tixChainMethod $w InitWidgetRec

    set data(x-first) 0
    set data(x-last)  1
    set data(y-first) 0
    set data(y-last)  1
}

proc tixScrolledListBox:ConstructWidget {w} {
    upvar #0 $w data

    tixChainMethod $w ConstructWidget

    set data(w:listbox) \
	[listbox $w.listbox]
    set data(w:hsb) \
	[scrollbar $w.hsb -orient horizontal]
    set data(w:vsb) \
	[scrollbar $w.vsb -orient vertical ]

    set data(pw:client) $data(w:listbox)
}

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

    tixChainMethod $w SetBindings

    $data(w:listbox) config \
	-xscrollcommand "tixScrolledListBox:XView $w"\
	-yscrollcommand "tixScrolledListBox:YView $w"

    $data(w:hsb) config -command "$data(w:listbox) xview"
    $data(w:vsb) config -command "$data(w:listbox) yview"

    bind $w <Configure> "+tixScrolledListBox:Configure $w"
    bind $w <FocusIn> "focus $data(w:listbox)"

    bindtags $data(w:listbox) \
    "$data(w:listbox) TixListboxState Listbox TixListbox [winfo toplevel $data(w:listbox)] all"
    tixSetMegaWidget $data(w:listbox) $w
}

proc tixScrolledListBoxBind {} {
    tixBind TixListboxState <1> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <1> {
	if {[string is true -strict [%W cget -takefocus]]} {
	    focus %W
	}
	tixScrolledListBox:Browse [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <B1-Motion> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <B1-Motion> {
	tixScrolledListBox:Browse [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <Up> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <Up> {
	tixScrolledListBox:KeyBrowse [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <Down> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <Down> {
	tixScrolledListBox:KeyBrowse [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <Return> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <Return> {
	tixScrolledListBox:KeyInvoke [tixGetMegaWidget %W]
    }


    tixBind TixListboxState <Double-1> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <Double-1> {
	tixScrolledListBox:Invoke [tixGetMegaWidget %W]
    }

    tixBind TixListboxState <ButtonRelease-1> {
	if {[set [tixGetMegaWidget %W](-state)] eq "disabled"} {
	    break
	}
    }
    tixBind TixListbox      <ButtonRelease-1> {
	tixScrolledListBox:Browse [tixGetMegaWidget %W]
    }
}

proc tixScrolledListBox:Browse {w} {
    upvar #0 $w data

    if {$data(-browsecmd) != ""} {
	set bind(specs) {%V}
	set bind(%V) [$data(w:listbox) get \
	    [$data(w:listbox) nearest [tixEvent flag y]]]
	tixEvalCmdBinding $w $data(-browsecmd) bind
    }
}

proc tixScrolledListBox:KeyBrowse {w} {
    upvar #0 $w data

    if {$data(-browsecmd) != ""} {
	set bind(specs) {%V}
	set bind(%V) [$data(w:listbox) get active]
	tixEvalCmdBinding $w $data(-browsecmd) bind
    }
}

# tixScrolledListBox:Invoke --
#
#	The user has invoked the listbox by pressing either the <Returh>
# key or double-clicking. Call the user-supplied -command function.
#
# For both -browsecmd and -command, it is the responsibility of the
# user-supplied function to determine the current selection of the listbox
# 
proc tixScrolledListBox:Invoke {w} {
    upvar #0 $w data

    if {$data(-command) != ""} {
	set bind(specs) {%V}
	set bind(%V) [$data(w:listbox) get \
	    [$data(w:listbox) nearest [tixEvent flag y]]]
	tixEvalCmdBinding $w $data(-command) bind
    }
}

proc tixScrolledListBox:KeyInvoke {w} {
    upvar #0 $w data

    if {$data(-command) != ""} {
	set bind(specs) {%V}
	set bind(%V) [$data(w:listbox) get active]
	tixEvalCmdBinding $w $data(-command) bind
    }
}

#----------------------------------------------------------------------
#
#		option configs
#----------------------------------------------------------------------
proc tixScrolledListBox:config-takefocus {w value} {
    upvar #0 $w data
    $data(w:listbox) config -takefocus $value
}


#----------------------------------------------------------------------
#
#		Widget commands
#----------------------------------------------------------------------


#----------------------------------------------------------------------
#
#		Private Methods
#----------------------------------------------------------------------
proc tixScrolledListBox:XView {w first last} {
    upvar #0 $w data

    set data(x-first) $first
    set data(x-last) $last

    $data(w:hsb) set $first $last
    tixWidgetDoWhenIdle tixScrolledWidget:Configure $w


}

proc tixScrolledListBox:YView {w first last} {
    upvar #0 $w data

    set data(y-first) $first
    set data(y-last) $last

    $data(w:vsb) set $first $last
    tixWidgetDoWhenIdle tixScrolledWidget:Configure $w

    # Somehow an update here must be used to advoid osscilation
    #
    update idletasks
}

#
#----------------------------------------------------------------------
# virtual functions to query the client window's scroll requirement
#----------------------------------------------------------------------
proc tixScrolledListBox:GeometryInfo {w mW mH} {
    upvar #0 $w data

    return [list \
	[list $data(x-first) $data(x-last)]\
	[list $data(y-first) $data(y-last)]]
}

proc tixScrolledListBox:Configure {w} {
    upvar #0 $w data

    tixWidgetDoWhenIdle tixScrolledListBox:TrickScrollbar $w

    if {$data(-anchor) eq "e"} {
	$data(w:listbox) xview 100000
    }
}

# This procedure is necessary because listbox does not call x,y scroll command
# when its size is changed
#
proc tixScrolledListBox:TrickScrollbar {w} {
    upvar #0 $w data

    set inc [$data(w:listbox) select include 0]

    $data(w:listbox) select set 0
    if {!$inc} {
	$data(w:listbox) select clear 0
    }
}

© 2025 UnknownSec
Web Design for Beginners | Anyleson - Learning Platform
INR (₹)
India Rupee
$
United States Dollar
Web Design for Beginners

Web Design for Beginners

in Design
Created by Linda Anderson
+2
5 Users are following this upcoming course
Course Published
This course was published already and you can check the main course
Course
Web Design for Beginners
in Design
4.25
1:45 Hours
8 Jul 2021
₹11.80

What you will learn?

Create any website layout you can imagine

Support any device size with Responsive (mobile-friendly) Design

Add tasteful animations and effects with CSS3

Course description

You can launch a new career in web development today by learning HTML & CSS. You don't need a computer science degree or expensive software. All you need is a computer, a bit of time, a lot of determination, and a teacher you trust. I've taught HTML and CSS to countless coworkers and held training sessions for fortune 100 companies. I am that teacher you can trust. 


Don't limit yourself by creating websites with some cheesy “site-builder" tool. This course teaches you how to take 100% control over your webpages by using the same concepts that every professional website is created with.


This course does not assume any prior experience. We start at square one and learn together bit by bit. By the end of the course you will have created (by hand) a website that looks great on phones, tablets, laptops, and desktops alike.


In the summer of 2020 the course has received a new section where we push our website live up onto the web using the free GitHub Pages service; this means you'll be able to share a link to what you've created with your friends, family, colleagues and the world!

Requirements

No prerequisite knowledge required

No special software required

Comments (0)

Report course

Please describe about the report short and clearly.

Share

Share course with your friends