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

📄 mkchoose.tcl

📁 This Source-Navigator, an IDE for C/C++/Fortran/Java/Tcl/PHP/Python and a host of other languages.
💻 TCL
字号:
# MkChoose.tcl --##	This file implements the "Choosers" page in the widget demo##	This file has not been properly documented. It is NOT intended#	to be used as an introductory demo program about Tix#	programming. For such demos, please see the files in the#	demos/samples directory or go to the "Samples" page in the#	"widget demo"### Copyright (c) 1996, Expert Interface Technologies## See the file "license.terms" for information on usage and redistribution# of this file, and for a DISCLAIMER OF ALL WARRANTIES.#proc MkChoosers {nb page} {    set w [$nb subwidget $page]    set name [tixOptionName $w]    option add *$name*TixLabelFrame*label.padX 4    tixLabelFrame $w.til -label "Chooser Widgets"    tixLabelFrame $w.cbx -label "tixComboBox"    tixLabelFrame $w.ctl -label "tixControl"    tixLabelFrame $w.sel -label "tixSelect"    tixLabelFrame $w.opt -label "tixOptionMenu"    tixLabelFrame $w.fil -label "tixFileEntry"    tixLabelFrame $w.fbx -label "tixFileSelectBox"    tixLabelFrame $w.tbr -label "Tool Bar"    MkTitle   [$w.til subwidget frame]    MkCombo   [$w.cbx subwidget frame]    MkControl [$w.ctl subwidget frame]    MkSelect  [$w.sel subwidget frame]    MkOptMenu [$w.opt subwidget frame]    MkFileBox [$w.fbx subwidget frame]    MkFileEnt [$w.fil subwidget frame]    MkToolBar [$w.tbr subwidget frame]        #    # First column: comBox and selector    tixForm $w.cbx -top 0 -left 0 -right %33    tixForm $w.sel -left 0 -right &$w.cbx -top $w.cbx    tixForm $w.opt -left 0 -right &$w.cbx -top $w.sel -bottom -1    #    # Second column: title .. etc    tixForm $w.til -left $w.cbx -right %66 -top 0    tixForm $w.ctl -left $w.cbx -right &$w.til -top $w.til    tixForm $w.fil -left $w.cbx -right &$w.til -top $w.ctl    tixForm $w.tbr -left $w.cbx -right &$w.til -top $w.fil -bottom -1    #    # Third column: file selection    tixForm $w.fbx -left %66  -right -1 -top 0}#----------------------------------------------------------------------# 	ComboBox#----------------------------------------------------------------------proc MkCombo {w} {    set name [tixOptionName $w]    option add *$name*TixComboBox*label.width 10    option add *$name*TixComboBox*label.anchor e    option add *$name*TixComboBox*entry.width 14        tixComboBox $w.static   -label "Static" \	-editable false     tixComboBox $w.editable -label "Editable" \	-editable true    tixComboBox $w.history  -label "History" \	-editable true -history true -anchor e     $w.static insert end January    $w.static insert end February    $w.static insert end March    $w.static insert end April    $w.static insert end May    $w.static insert end June    $w.static insert end July    $w.static insert end August    $w.static insert end September    $w.static insert end October    $w.static insert end November    $w.static insert end December    $w.editable insert end "America"    $w.editable insert end "Britain"    $w.editable insert end "China"    $w.editable insert end "Denmark"    $w.editable insert end "Egypt"    $w.history insert end "/usr/bin/mail"    $w.history insert end "/etc/profile"    $w.history insert end "/home/d/doe/Mail/letter"    pack $w.static $w.editable $w.history -side top -padx 5 -pady 3}#----------------------------------------------------------------------# 			The Control widgets#----------------------------------------------------------------------set states {Alabama "New York" Pennsylvania Washington}proc stCmd {w by value} {    global states    set index [lsearch $states $value]    set len   [llength $states]    set index [expr $index + $by]	           if {$index < 0} {	set index [expr $len -1]    }    if {$index >= $len} {	set index 0    }    return [lindex $states $index]}proc stValidate {w value} {    global states    if {[lsearch $states $value] == -1} {	return [lindex $states 0]    } else {	return $value    }}proc MkControl {w} {    set name [tixOptionName $w]    option add *$name*TixControl*label.width 10    option add *$name*TixControl*label.anchor e    option add *$name*TixControl*entry.width 13    tixControl $w.simple -label Numbers    tixControl $w.spintext -label States \	-incrcmd "stCmd $w.spintext 1" \	-decrcmd "stCmd $w.spintext -1" \	-validatecmd "stValidate .d" \	-value "Alabama"    pack $w.simple $w.spintext -side top -padx 5 -pady 3}#----------------------------------------------------------------------# 			The Select Widgets#----------------------------------------------------------------------proc MkSelect {w} {    set name [tixOptionName $w]    option add *$name*TixSelect*label.anchor c    option add *$name*TixSelect*orientation vertical    option add *$name*TixSelect*labelSide top    tixSelect $w.sel1 -label "Mere Mortals" -allowzero true -radio true    tixSelect $w.sel2 -label "Geeks" -allowzero true -radio false    $w.sel1 add eat   -text Eat    $w.sel1 add work  -text Work    $w.sel1 add play  -text Play    $w.sel1 add party -text Party    $w.sel1 add sleep -text Sleep    $w.sel2 add eat   -text Eat    $w.sel2 add prog1 -text Program    $w.sel2 add prog2 -text Program    $w.sel2 add prog3 -text Program    $w.sel2 add sleep -text Sleep    pack $w.sel1 $w.sel2 -side left -padx 5 -pady 3 -fill x}#----------------------------------------------------------------------# 			The OptMenu Widget#----------------------------------------------------------------------proc MkOptMenu {w} {    set name [tixOptionName $w]    option add *$name*TixOptionMenu*label.anchor e    tixOptionMenu $w.menu -label "File Format : " \	-options {	    menubutton.width 15	}    $w.menu add command text   -label "Plain Text"          $w.menu add command post   -label "PostScript"          $w.menu add command format -label "Formatted Text"      $w.menu add command html   -label "HTML"                $w.menu add separator sep    $w.menu add command tex    -label "LaTeX"               $w.menu add command rtf    -label "Rich Text Format"    pack $w.menu -padx 5 -pady 3 -fill x}#----------------------------------------------------------------------# 	FileEntry#----------------------------------------------------------------------proc MkFileEnt {w} {    set name [tixOptionName $w]    message $w.msg -font -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-*\	-relief flat -width 240 -anchor n\	-text {Press the "open file" icon button and a\TixFileSelectDialog will popup.}    tixFileEntry $w.ent -label "Select a file : "    pack $w.msg -side top -expand yes -fill both -padx 3 -pady 3    pack $w.ent -side top -fill x -padx 3 -pady 3}proc MkFileBox {w} {    set name [tixOptionName $w]    message $w.msg -font -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-*\	-relief flat -width 240 -anchor n\	-text {The TixFileSelectBox is Motif-style file selection\box with various enhancements. For example, you can adjust the\size of the two listboxes and your past selections are recorded.}    tixFileSelectBox $w.box    pack $w.msg -side top -expand yes -fill both -padx 3 -pady 3    pack $w.box -side top -fill x -padx 3 -pady 3}#----------------------------------------------------------------------# 	Tool Bar#----------------------------------------------------------------------proc MkToolBar {w} {    set name [tixOptionName $w]    option add $name*TixSelect*frame.borderWidth 1    message $w.msg -font -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-*\	-relief flat -width 240 -anchor n\	-text {The Select widget is also good for arranging buttons\in a tool bar.}    frame $w.bar -bd 2 -relief raised    tixSelect $w.font -allowzero true  -radio false -label {}    tixSelect $w.para -allowzero false -radio true -label {}    $w.font add bold      -bitmap [tix getbitmap bold]    $w.font add italic    -bitmap [tix getbitmap italic]    $w.font add underline -bitmap [tix getbitmap underlin]    $w.font add capital   -bitmap [tix getbitmap capital]    $w.para add left    -bitmap [tix getbitmap leftj]    $w.para add right   -bitmap [tix getbitmap rightj]    $w.para add center  -bitmap [tix getbitmap centerj]    $w.para add justify -bitmap [tix getbitmap justify]    pack $w.msg -side top -expand yes -fill both -padx 3 -pady 3    pack $w.bar -side top -fill x -padx 3 -pady 3    pack $w.para $w.font -in $w.bar -side left -padx 4 -pady 3}#----------------------------------------------------------------------# 	Title#----------------------------------------------------------------------proc MkTitle {w} {    set name [tixOptionName $w]    option add $name*TixSelect*frame.borderWidth 1    message $w.msg -font -*-helvetica-bold-r-normal-*-14-*-*-*-*-*-*-*\	-relief flat -width 240 -anchor n\	-text {There are many types of "choose" widgets that allow\the user to input different type of information.}    pack $w.msg -side top -expand yes -fill both -padx 3 -pady 3}

⌨️ 快捷键说明

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