⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cobjview.tcl

📁 linux 下的源代码分析阅读器 red hat公司新版
💻 TCL
字号:
# Tix Demostration Program## This sample program is structured in such a way so that it can be# executed from the Tix demo program "widget": it must have a# procedure called "RunSample". It should also have the "if" statment# at the end of this file so that it can be run as a standalone# program using tixwish.# This program demonstrates the use of the CObjView (Canvas Object# View) class.#proc RunSample {w} {    label $w.lab  -justify left -text \"Click on the buttons to add or delete canvasobjects randomally. Notice the scrollbars automaticallyadjust to include all objects in the scroll-region."    pack $w.lab -anchor c -padx 10 -pady 6    tixCObjView $w.c    pack $w.c -expand yes -fill both -padx 4 -pady 2    button $w.add -command "CVDemo_Add $w.c"    -text Add    -width 6    button $w.del -command "CVDemo_Delete $w.c" -text Delete -width 6    pack $w.add $w.del -side left -padx 20 -pady 10 -anchor c -expand yes}set cvdemo_counter 0proc CVDemo_Add {cov} {    global cvdemo_counter    # Generate four pseudo random numbers (x,y,w,h) to define the coordinates    # of a rectangle object in the canvas.    #    set colors {red green blue white black gray yellow}    set px [expr [lindex [time update] 0] + $cvdemo_counter]    set py [expr [lindex [time update] 0] + $cvdemo_counter]    set pw [expr [lindex [time update] 0] + $cvdemo_counter]    set ph [expr [lindex [time update] 0] + $cvdemo_counter]    set pc [expr [lindex [time update] 0] + $cvdemo_counter]    set x [expr (20 - ($px % 37))   * 10]    set y [expr (10 - ($py % 23))  * 10]    set w [expr ($pw % 17)  * 10]    set h [expr ($ph % 17)  * 10]    # Create the canvas object    #    $cov subwidget canvas create rectangle $x $y [expr $x+$w] [expr $y+$h] \	-fill [lindex $colors [expr $pc % [llength $colors]]]    # Call the adjustscrollregion command to set the scroll bars so that all    # objects are included in the scroll-region    #    $cov adjustscrollregion    # This number acts as the seed for the next round of randomization.    #    set cvdemo_counter [expr ($px % 37)]}proc CVDemo_Delete {cov} {    set px [lindex [time update] 0]    set w [$cov subwidget canvas]    set items [$w find withtag all]    if [string compare $items ""] {	# There are items in the canvas, randomally delete one of them	# and re-adjust the scroll-region	#	set toDelete [expr $px % [llength $items]]	$w delete [lindex $items $toDelete]	$cov adjustscrollregion    }}if {![info exists tix_demo_running]} {    wm withdraw .    set w .demo    toplevel $w    RunSample $w    bind $w <Destroy> exit}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -