langdlg.tcl

来自「是TCL的另外一个编译(解释)器」· TCL 代码 · 共 49 行

TCL
49
字号
proc Editor::getLangList {} {
    global ASEDsRootDir
    
    set LangList {}
    set pattern [file join $ASEDsRootDir lang *]
    set fileList [glob -nocomplain -- $pattern]
    foreach file $fileList {
        set lang [file tail [file rootname $file]]
        lappend langList $lang
    }
    return $langList
}

proc Editor::langDlg {} {
    global EditorData
    
    toplevel .langDlg
    wm withdraw .langDlg
    wm title . [tr "Choose Language"]
    
    set language $EditorData(options,language)
    set lang_combo [ComboBox::create .langDlg.combo \
            -textvariable language\
            -text $EditorData(options,language) \
            -values {""} \
            -helptext [tr "Choose Language"] \
            -entrybg white\
            -width 15]
    set langList [getLangList]
    ComboBox::configure $lang_combo -values $langList
    set f [frame .langDlg.f]
    set okButton [button .langDlg.f.ok -text [tr "Ok"] -command {
        set EditorData(options,language) $language
        destroy .langDlg
        tk_messageBox -message [tr "To take effect you have to restart ASED!"]
    }]
    set cancelButton [button .langDlg.f.cancel -text [tr "Cancel"] -command {
        destroy .langDlg
        return
    }]
    pack $lang_combo
    pack $f
    pack $okButton -side left
    pack $cancelButton -side left
    
    wm deiconify .langDlg
    BWidget::place .langDlg 0 0 center
}

⌨️ 快捷键说明

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