__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ 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: IconView.tcl,v 1.2 2001/12/09 05:04:02 idiscovery Exp $
#
# IconView.tcl --
#
# This file implements the Icon View widget: the "icon" view mode of
# the MultiView widget. It implements:
#
# (1) Creation of the icons in the canvas subwidget.
# (2) Automatic arrangement of the objects
#
# 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 tixIconView {
-classname TixIconView
-superclass tixCObjView
-method {
add arrange
}
-flag {
-autoarrange
}
-static {
}
-configspec {
{-autoarrange autoArrange AutoArrange 0 tixVerifyBoolean}
}
-default {
{.scrollbar auto}
{*borderWidth 1}
{*canvas.background #c3c3c3}
{*canvas.highlightBackground #d9d9d9}
{*canvas.relief sunken}
{*canvas.takeFocus 1}
{*Scrollbar.takeFocus 0}
}
-forcecall {
}
}
proc tixIconView:ConstructWidget {w} {
upvar #0 $w data
tixChainMethod $w ConstructWidget
}
proc tixIconView:SetBindings {w} {
upvar #0 $w data
tixChainMethod $w SetBindings
set c $data(w:canvas)
bind $c <1> "tixIconView:StartDrag $w %x %y"
bind $c <B1-Motion> "tixIconView:Drag $w %x %y"
bind $c <ButtonRelease-1> "tixIconView:EndDrag $w"
}
proc tixIconView:StartDrag {w x y} {
upvar #0 $w data
global lastX lastY
set c $data(w:canvas)
$c raise current
set lastX [$c canvasx $x]
set lastY [$c canvasy $y]
}
proc tixIconView:Drag {w x y} {
upvar #0 $w data
global lastX lastY
set c $data(w:canvas)
set x [$c canvasx $x]
set y [$c canvasy $y]
$c move current [expr $x-$lastX] [expr $y-$lastY]
set lastX $x
set lastY $y
}
proc tixIconView:EndDrag {w} {
upvar #0 $w data
tixCallMethod $w adjustscrollregion
}
#----------------------------------------------------------------------
#
# option configs
#----------------------------------------------------------------------
proc tixIconView:add {w tag image text} {
upvar #0 $w data
set cmp [image create compound -window $data(w:canvas)]
$cmp add image -image $image
$cmp add line
$cmp add text -text $text
set id [$data(w:canvas) create image 0 0 -image $cmp -anchor nw]
$data(w:canvas) addtag $tag withtag $id
if {$data(-autoarrange)} {
tixWidgetDoWhenIdle tixIconView:Arrange $w 1
}
}
# Do it in an idle handler, so that Arrange is not called before the window
# is properly mapped.
#
proc tixIconView:arrange {w} {
tixWidgetDoWhenIdle tixIconView:Arrange $w 1
}
proc tixIconView:PackOneRow {w row y maxH bd padX padY} {
upvar #0 $w data
set iX [expr $bd+$padX]
foreach i $row {
set box [$data(w:canvas) bbox $i]
set W [expr [lindex $box 2]-[lindex $box 0]+1]
set H [expr [lindex $box 3]-[lindex $box 1]+1]
set iY [expr $y + $maxH - $H]
$data(w:canvas) coords $i $iX $iY
incr iX [expr $W+$padX]
}
}
# virtual method
#
proc tixIconView:PlaceWindow {w} {
upvar #0 $w data
if {$data(-autoarrange)} {
tixWidgetDoWhenIdle tixIconView:Arrange $w 0
}
tixChainMethod $w PlaceWindow
}
proc tixIconView:Arrange {w adjust} {
upvar #0 $w data
set padX 2
set padY 2
tixIconView:ArrangeGrid $w $padX $padY
if {$adjust} {
tixCallMethod $w adjustscrollregion
}
}
# the items are not packed
#
proc tixIconView:ArrangeGrid {w padX padY} {
upvar #0 $w data
set maxW 0
set maxH 0
foreach item [$data(w:canvas) find all] {
set box [$data(w:canvas) bbox $item]
set itemW [expr [lindex $box 2]-[lindex $box 0]+1]
set itemH [expr [lindex $box 3]-[lindex $box 1]+1]
if {$maxW < $itemW} {
set maxW $itemW
}
if {$maxH < $itemH} {
set maxH $itemH
}
}
if {$maxW == 0 || $maxH == 0} {
return
}
set winW [tixWinWidth $data(w:canvas)]
set bd [expr [$data(w:canvas) cget -bd]+\
[$data(w:canvas) cget -highlightthickness]]
set cols [expr $winW / ($maxW+$padX)]
if {$cols < 1} {
set cols 1
}
set y $bd
set c 0
set x $bd
foreach item [$data(w:canvas) find all] {
set box [$data(w:canvas) bbox $item]
set itemW [expr [lindex $box 2]-[lindex $box 0]+1]
set itemH [expr [lindex $box 3]-[lindex $box 1]+1]
set iX [expr $x + $padX + ($maxW-$itemW)/2]
set iY [expr $y + $padY + ($maxH-$itemH) ]
$data(w:canvas) coords $item $iX $iY
incr c
incr x [expr $maxW + $padY]
if {$c == $cols} {
set c 0
incr y [expr $maxH + $padY]
set x $bd
}
}
}
# the items are packed
#
proc tixIconView:ArrangePack {w padX padY} {
upvar #0 $w data
set winW [tixWinWidth $data(w:canvas)]
set bd [expr [$data(w:canvas) cget -bd]+\
[$data(w:canvas) cget -highlightthickness]]
set y [expr $bd + $padY]
set maxH 0
set usedW $padX
set row ""
foreach item [$data(w:canvas) find all] {
set box [$data(w:canvas) bbox $item]
set itemW [expr [lindex $box 2]-[lindex $box 0]+1]
set itemH [expr [lindex $box 3]-[lindex $box 1]+1]
if {[expr $usedW + $itemW] > $winW} {
if {$row == ""} {
# only one item in this row
#
$data(w:canvas) coords $item [expr $bd + $padX] $y
incr y [expr $itemH+$padY]
continue
} else {
# this item is not in this row. Arrange the previous items
# first
#
tixIconView:PackOneRow $w $row $y $maxH $bd $padX $padY
incr y $maxH
set row ""
set maxH 0
set usedW $padX
}
}
lappend row $item
if {$maxH < $itemH} {
set maxH $itemH
}
incr usedW [expr $padX+$itemW]
}
if {$row != ""} {
tixIconView:PackOneRow $w $row $y $maxH $bd $padX $padY
}
}
#----------------------------------------------------------------------
#
# Widget commands
#----------------------------------------------------------------------
#----------------------------------------------------------------------
#
# Private Methods
#----------------------------------------------------------------------
| 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 |
|