📄 system.tk
字号:
set ${array}(scrollRegionHeight) $height}proc systemScrollRegionHeightGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(scrollRegionHeight)]} { return "" } return [set ${array}(scrollRegionHeight)]}proc systemXscrollPut {systemframe xscroll} { set array [string trimleft $systemframe .] global $array set ${array}(Xscroll) $xscroll}proc systemXscrollGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(Xscroll)]} { return "" } return [set ${array}(Xscroll)]}proc systemYscrollPut {systemframe yscroll} { set array [string trimleft $systemframe .] global $array set ${array}(Yscroll) $yscroll}proc systemYscrollGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(Yscroll)]} { return "" } return [set ${array}(Yscroll)]}proc systemCanvasFrameWidthPut {systemframe width} { set array [string trimleft $systemframe .] global $array set ${array}(canvasFrameWidth) $width}proc systemCanvasFrameWidthGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(canvasFrameWidth)]} { return "" } return [set ${array}(canvasFrameWidth)]}proc systemCanvasFrameHeightPut {systemframe height} { set array [string trimleft $systemframe .] global $array set ${array}(canvasFrameHeight) $height}proc systemCanvasFrameHeightGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(canvasFrameHeight)]} { return "" } return [set ${array}(canvasFrameHeight)]}proc systemScrollWidthPut {systemframe width} { set array [string trimleft $systemframe .] global $array set ${array}(scrollWidth) $width}proc systemScrollWidthGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(scrollWidth)]} { return "" } return [set ${array}(scrollWidth)]}proc systemScrollHeightPut {systemframe height} { set array [string trimleft $systemframe .] global $array set ${array}(scrollHeight) $height}proc systemScrollHeightGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(scrollHeight)]} { return "" } return [set ${array}(scrollHeight)]}proc systemLabelHeightPut {systemframe height} { set array [string trimleft $systemframe .] global $array set ${array}(labelHeight) $height}proc systemLabelHeightGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(labelHeight)]} { return "" } return [set ${array}(labelHeight)]}proc systemLabelWidthPut {systemframe width} { set array [string trimleft $systemframe .] global $array set ${array}(labelWidth) $width}proc systemLabelWidthGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(labelWidth)]} { return "" } return [set ${array}(labelWidth)]}proc systemFooterHeightPut {systemframe height} { set array [string trimleft $systemframe .] global $array set ${array}(footerHeight) $height}proc systemFooterHeightGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(footerHeight)]} { return "" } return [set ${array}(footerHeight)]}proc systemFooterWidthPut {systemframe width} { set array [string trimleft $systemframe .] global $array set ${array}(footerWidth) $width}proc systemFooterWidthGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(footerWidth)]} { return "" } return [set ${array}(footerWidth)]}proc systemCanvasHeightPut {systemframe height} { set array [string trimleft $systemframe .] global $array set ${array}(canvasHeight) $height}proc systemCanvasHeightGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(canvasHeight)]} { return "" } return [set ${array}(canvasHeight)]}proc systemCanvasWidthPut {systemframe width} { set array [string trimleft $systemframe .] global $array set ${array}(canvasWidth) $width}proc systemCanvasWidthGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(canvasWidth)]} { return "" } return [set ${array}(canvasWidth)]}proc systemServerNamesPut {systemframe serverl} { set array [string trimleft $systemframe .] global $array set ${array}(servers) $serverl}proc systemServerNamesGet {systemframe} { set array [string trimleft $systemframe .] global $array if {![info exists ${array}(servers)]} { return "" } return [set ${array}(servers)]}proc systemPrint systemframe { puts "Refresh Flag: [systemRefreshGet $systemframe]" puts "Name: [systemNameGet $systemframe]" puts "Canvas: [systemCanvasGet $systemframe]" puts "Display Width: [systemDisplayWidthGet $systemframe]" puts "Display Height: [systemDisplayHeightGet $systemframe]" puts "Scroll Region Width: [systemScrollRegionWidthGet $systemframe]" puts "Scroll Region Height: [systemScrollRegionHeightGet $systemframe]" puts "Canvas Frame Width: [systemCanvasFrameWidthGet $systemframe]" puts "Canvas Frame Height: [systemCanvasFrameHeightGet $systemframe]" puts "Canvas Width: [systemCanvasWidthGet $systemframe]" puts "Canvas Height: [systemCanvasHeightGet $systemframe]" puts "Scroll Width: [systemScrollWidthGet $systemframe]" puts "Scroll Height: [systemScrollHeightGet $systemframe]" puts "Label Width: [systemLabelWidthGet $systemframe]" puts "Label Height: [systemLabelHeightGet $systemframe]" puts "Footer Width: [systemFooterWidthGet $systemframe]" puts "Footer Height: [systemFooterHeightGet $systemframe]" puts "X scroll: [systemXscrollGet $systemframe]" puts "Y scroll: [systemYscrollGet $systemframe]" foreach n [systemNodeNamesGet $systemframe] { puts "systemNodeFrameGet( $systemframe $n FULL ): \ [systemNodeFrameGet $systemframe $n FULL ]" puts "systemNodeStatusGet( $systemframe $n ): \ [systemNodeStatusGet $systemframe $n]" puts "systemNodeInfoGet( $systemframe $n ): \ [systemNodeInfoGet $systemframe $n]" puts "systemNodeTypeGet( $systemframe $n ): \ [systemNodeTypeGet $systemframe $n]" } foreach c [systemClusterNamesGet $systemframe] { puts "systemClusterFrameGet( $systemframe $c ): \ [systemClusterFrameGet $systemframe $c]" } puts "Server Names: [systemServerNamesGet $systemframe]"}proc systemNodesCreate {frame systemName} { global canvas sysnodes sysview systemNamePut $frame $systemName frame $frame -class Big frame $frame.l -class BigLabel frame $frame.m -borderwidth 0 frame $frame.m.c -class BigCanvas frame $frame.m.y -borderwidth 0 frame $frame.m.x -borderwidth 0 frame $frame.s -class BigLabel label $frame.l.label -text $systemName -justify center set labelWidth [expr \ 2*$canvas(bigBd) + 2*$canvas(bigLabelBd) + \ $canvas(bigLabelFontWidth)*[string length $systemName]] systemLabelWidthPut $frame $labelWidth set labelHeight [expr $canvas(bigBd) + 2*$canvas(bigLabelBd) \ + $canvas(bigLabelFontHeight)] systemLabelHeightPut $frame $labelHeight canvas $frame.m.c.canvas -confine 1 -width $canvas(systemMaxWidth) \ -height $canvas(systemMaxHeight) systemCanvasPut $frame $frame.m.c.canvas set canvasFrameWidth [expr $canvas(bigBd) + \ 2*$canvas(bigCanvasBd)] systemCanvasFrameWidthPut $frame $canvasFrameWidth set canvasFrameHeight [expr 2*$canvas(bigCanvasBd)] systemCanvasFrameHeightPut $frame $canvasFrameHeight systemRefreshPut $frame 0 set x1 0 set y1 0 set totwidth 0 set totheight 0 set pw 0 set ph 0 set maxWidth 0 set prevCluster "" set rowClusters "" set i 0 set j 0 set serverl [serverNamesSorted $systemName \ [serverNamesGet $systemName] nodeslist $frame] set servers "" foreach a $serverl { set clusterLabel [lindex $sysnodes($systemName,$a) 0] set nlist [lrange $sysnodes($systemName,$a) 1 end] if {[string compare $nodeslist($a) ""] == 0} { continue } lappend servers $a clusterSystemFramePut $frame.m.c.$i $frame systemClusterFramePut $frame $a $frame.m.c.$i set pos [clusterCreate $frame.m.c.$i $a $clusterLabel \ $nodeslist($a) "" $sysview($systemName)] set numNodes [llength $nodeslist($a)] set w [expr [lindex $pos 0] + 2*$canvas(medBd)] set h [lindex $pos 1] if { $i == 0 } { set rowClusters $frame.m.c.$i incr totwidth $w } elseif { [expr $j % $canvas(systemNumBoxesPerRow)] == 0 || \ [expr $totwidth + $w] > $canvas(systemMaxWidth) } { set rowOffset [expr \ ($canvas(systemMaxWidth) - $totwidth) / 2] if {$rowOffset > 0} { foreach fr $rowClusters { clusterOffsetWidthPut $fr $rowOffset } } set rowClusters $frame.m.c.$i set x1 0 incr y1 $ph incr totheight $ph if {$totwidth > $maxWidth} { set maxWidth $totwidth } set totwidth $w set j 0 set ph 0 } else { lappend rowClusters $frame.m.c.$i incr x1 $pw incr totwidth $w if {[string compare $prevCluster ""] != 0} { clusterNextPut $prevCluster $frame.m.c.$i } } pack forget $frame.m.c.$i $frame.m.c.canvas create window $x1 $y1 -window $frame.m.c.$i \ -anchor nw -width $w -height $h -tags $frame.m.c.$i clusterXposPut $frame.m.c.$i $x1 clusterYposPut $frame.m.c.$i $y1 # save current width set pw $w if {$h > $ph} { set ph $h } set prevCluster $frame.m.c.$i incr i incr j } systemServerNamesPut $frame $servers if {[string compare $rowClusters ""] != 0} { set rowOffset [expr ($canvas(systemMaxWidth) - $totwidth) / 2] if {$rowOffset > 0} { foreach fr $rowClusters { clusterOffsetWidthPut $fr $rowOffset } } } if {$maxWidth > $totwidth } { set totwidth $maxWidth } incr totheight $ph systemScrollRegionWidthPut $frame $totwidth systemScrollRegionHeightPut $frame $totheight set scrollRegionWidth $totwidth set scrollRegionHeight $totheight scrollbar $frame.m.x.xscroll -orient horizontal \ -width $canvas(bigLabelFontHeight) \ -background $canvas(bigScrollBg) \ -borderwidth $canvas(bigScrollBd) \ -relief $canvas(bigScrollRelief) \ -command [list $frame.m.c.canvas xview] systemXscrollPut $frame $frame.m.x.xscroll set scrollHeight [expr \ 2*[lindex [$frame.m.x.xscroll configure -borderwidth] end] \ + [lindex [$frame.m.x.xscroll configure -width] end]] $frame.m.x configure -height $scrollHeight scrollbar $frame.m.y.yscroll -orient vertical \ -width $canvas(bigLabelFontHeight) \ -background $canvas(bigScrollBg) \ -borderwidth $canvas(bigScrollBd) \ -relief $canvas(bigScrollRelief) \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -