以下は、BWidgetのWidgetとClassの一覧です。
シンプルWidget | Label, Entry, Button, ArrowButton, ProgressBar, ScrollView, Separator |
マネージャWidget | MainFrame, LabelFrame, TitleFrame, ScrolledWindow, ScrollableFrame, PanedWindow, ButtonBox, PagesManeger, NoteBook, Dialog |
合成Widget | LabelEntry, ComboBox, SpinBox, Tree, ListBox, MessageDlg, PasswdDlg, SelectFont, SelectColor |
コマンドClass | Widget, DynamicHelp, DragSite, DropSite, BWidget |
ビットマップ | 標準のビットマップ |
package require BWidget pack [Label .l -text ラベル -helptext ラベルです] |
package require BWidget set var デフォルト pack [Entry .e -helptext エントリです -textvariable var] |
package require BWidget pack [Button .b -text ボタン -helptext ボタンです -command exit] |
package require BWidget ArrowButton .ab1 -helptext 上矢印ボタンです -dir top ArrowButton .ab2 -helptext 下矢印ボタンです -dir bottom ArrowButton .ab3 -helptext 左矢印ボタンです -dir left ArrowButton .ab4 -helptext 右矢印ボタンです -dir right pack .ab1 .ab2 .ab3 .ab4 -side left |
package require BWidget pack [ProgressBar .p -maximum 10 -variable var] set var 5 |
package require BWidget pack [ScrollView .sv -relief groove] |
package require BWidget pack [Separator .s -orient horizontal] -pady 10 -fill x |
package require BWidget set var デフォルト pack [LabelEntry .le -label ラベル -helptext ラベルエントリです -textvariable var] |
package require BWidget set var {いちご みかん バナナ りんご} pack [ComboBox .c -label ラベル -helptext コンボボックスです -values $var] .c setvalue first |
package require BWidget pack [SpinBox .sb -label ラベル -helptext スピンボックスです -range {1 10 1}] |
package require BWidget # 画面作成 Tree .tree -opencmd "change 1" -closecmd "change 0" pack .tree entry .entry -textvariable var pack .entry -fill x # ルート挿入 .tree insert end root やさい -text やさい -image [Bitmap::get openfold] -open 1 .tree insert end root くだもの -text くだもの -image [Bitmap::get openfold] -open 1 # ノード挿入 .tree insert end やさい やさい/キャベツ -text キャベツ -image [Bitmap::get file] .tree insert end やさい やさい/はくさい -text はくさい -image [Bitmap::get file] .tree insert end やさい やさい/ピーマン -text ピーマン -image [Bitmap::get file] .tree insert end くだもの くだもの/りんご -text りんご -image [Bitmap::get file] .tree insert end くだもの くだもの/みかん -text みかん -image [Bitmap::get file] .tree insert end くだもの くだもの/バナナ -text バナナ -image [Bitmap::get file] # バインド .tree bindText <1> click # プロシジャ proc change {idx node} { .tree itemconfigure $node -image [Bitmap::get [lindex {folder openfold} $idx]] } proc click {node} { global var .tree selection set $node set var [.tree selection get] } |
package require BWidget pack [ListBox .lb] .lb insert end folder -text フォルダ1 -image [Bitmap::get folder] .lb insert end openfold -text フォルダ2 -image [Bitmap::get openfold] .lb insert end new -text ファイル1 -image [Bitmap::get new] -indent 20 .lb insert end file -text ファイル2 -image [Bitmap::get file] -indent 20 .lb selection set new |
マルチカラムにしたリストボックスです。
package require BWidget pack [ListBox .lb -width 35 -height 3 -multicolumn true] for {set i 1} {$i < 10} {incr i} { .lb insert end file$i -text ファイル$i -image [Bitmap::get file] } .lb selection set file1 |
package require BWidget MessageDlg .md -title タイトル -icon info -message "メッセージです" -type ok |
package require BWidget set mesg ファイルをコピーしています。 ProgressDlg .pd -title タイトル -maximum 10 -variable var -stop 中止 \ -textvariable mesg -command exit set var 5 |
package require BWidget set login "hello" set passwd "12345" PasswdDlg .pd -title タイトル -loginlabel Login -passwdlabel Password \ -command exit -logintextvariable login -passwdtextvariable passwd |
package require BWidget SelectFont .sf -title タイトル -sampletext "ABCDE abcde あいうえお" -type dialog |
ツールバー型のフォント選択です。
package require BWidget SelectFont .sf -title タイトル -sampletext "ABCDE abcde あいうえお" -type toolbar pack .sf |
package require BWidget set color [SelectColor .sc -title タイトル -type dialog] |
メニューボタン型のカラー選択です。
package require BWidget set var #ffffff SelectColor .sc -title タイトル -variable var -type menubutton pack .sc |
package require BWidget pack [NoteBook .n -side top -width 150 -height 50] -fill both .n insert end tanaka -text 田中 -createcmd tanaka .n insert end suzuki -text 鈴木 -createcmd suzuki .n insert end satou -text 佐藤 -createcmd satou after 100 {.n raise [.n page 0]} proc tanaka {} { set frame [.n getframe tanaka] pack [button $frame.b -text 田中のフレームです] -anchor c } proc suzuki {} { set frame [.n getframe suzuki] pack [button $frame.b -text 鈴木のフレームです] -anchor c } proc satou {} { set frame [.n getframe satou] pack [button $frame.b -text 佐藤のフレームです] -anchor c } |
package require BWidget set descmenu { "&File" {} {} 0 { {command "E&xit" {} "アプリケーションを終了します" {} -command exit} } "&Edit" {} {} 0 { } } set var ステータスバー MainFrame .mf -menu $descmenu -textvariable var -separator both pack .mf -fill both -expand 1 set frame1 [.mf addtoolbar] set bbox [ButtonBox $frame1.bbox -spacing 0 -padx 1 -pady 1] $bbox add -image [Bitmap::get new] \ -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 -padx 1 -pady 1 \ -helptext "新規ファイルを作成します" $bbox add -image [Bitmap::get open] \ -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 -padx 1 -pady 1 \ -helptext "既存のファイルを開きます" $bbox add -image [Bitmap::get save] \ -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 -padx 1 -pady 1 \ -helptext "ファイルを保存します" pack $bbox -side left -anchor w .mf addindicator -text 指示 |
package require BWidget pack [LabelFrame .lf -text ラベル -helptext ラベルフレームです -side top -relief groove -bd 3] -fill both -expand 1 set frame [.lf getframe] pack [Button $frame.b -text ボタン] -anchor c |
package require BWidget pack [TitleFrame .tf -text タイトル -side left] -fill both -expand 1 set frame [.tf getframe] pack [Button $frame.b -text ボタン] -anchor c |
package require BWidget pack [ScrolledWindow .sw -scrollbar both -auto none] set frame [.sw getframe] pack [canvas $frame.c -width 50 -height 50] -fill both -expand 1 $frame.c create oval 10 10 40 40 -fill red -width 4 $frame.c create oval 30 10 60 40 -fill green -width 4 $frame.c create oval 20 30 50 60 -fill blue -width 4 .sw setwidget $frame.c |
package require BWidget ScrollableFrame .sf -yscrollcommand {.y set} -xscrollcommand {.x set} -width 140 -height 50 scrollbar .y -command {.sf yview} scrollbar .x -orient horizontal -command {.sf xview} grid .sf .y -sticky ns grid .x -sticky we set frame [.sf getframe] for {set i 0} {$i < 10} {incr i} { pack [LabelEntry $frame.$i -label ラベル$i] -side top } |
package require BWidget pack [PanedWindow .pw -side left -pad 0] -fill both .pw add -weight 1 set frame [.pw getframe 0] pack [listbox $frame.l1 -bg white -height 2] -anchor c $frame.l1 insert end りんご みかん いちご メロン バナナ .pw add -weight 1 set frame [.pw getframe 1] pack [listbox $frame.l2 -bg white -height 2] -anchor c $frame.l2 insert end キャベツ はくさい レタス かぼちゃ |
package require BWidget set bbox [ButtonBox .bbox -spacing 0 -padx 1 -pady 1] $bbox add -image [Bitmap::get new] \ -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 -padx 1 -pady 1 \ -helptext "新規ファイルを作成します" $bbox add -image [Bitmap::get open] \ -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 -padx 1 -pady 1 \ -helptext "既存のファイルを開きます" $bbox add -image [Bitmap::get save] \ -highlightthickness 0 -takefocus 0 -relief link -borderwidth 1 -padx 1 -pady 1 \ -helptext "ファイルを保存します" pack $bbox -side left -anchor w |
package require BWidget Dialog .dlg -title タイトル -parent . -default 0 -cancel 1 -modal local .dlg add -name ok .dlg add -name cancel set frame [.dlg getframe] pack [message $frame.m -text {ダイアログボックスのメッセージ}] .dlg draw |
package require BWidget button .b1 -text 最初 -command {.pm raise 最初} button .b2 -text 真中 -command {.pm raise 真中} button .b3 -text 最後 -command {.pm raise 最後} PagesManager .pm -width 100 -height 50 grid .b1 .b2 .b3 grid .pm - - .pm add 最初 set frame1 [.pm getframe 最初] pack [label $frame1.l -text 最初 -bd 50] .pm add 真中 set frame2 [.pm getframe 真中] pack [label $frame2.l -text 真中 -bd 50] .pm add 最後 set frame3 [.pm getframe 最後] pack [label $frame3.l -text 最後 -bd 50] .pm raise 最初 |
package require BWidget set var バナナ set titf1 [TitleFrame .titf1 -text "Drag sources"] set subf [$titf1 getframe] pack [LabelEntry $subf.drag -label Entry1 -dragenabled 1 -dragevent 1 -textvariable var] -side top pack $titf1 set titf2 [TitleFrame .titf2 -text "Drop targets"] set subf [$titf2 getframe] pack [LabelEntry $subf.drop -label Entry2 -dropenabled 1] -side top pack $titf2 |