📄 create.tcl
字号:
#create.tcl
proc Editor::setDefault {} {
global tcl_platform
global EditorData
global ASEDsRootDir
variable current
variable configError
variable toolbar1
variable toolbar2
variable showConsoleWindow
variable showProcWindow
variable sortProcs
variable showProc
variable checkNestedProc
variable options
variable lineNo
variable toolbarButtons
set current(is_procline) 0; #is needed for checkProcs
set current(procLine) 0
set current(autoUpdate) 1
set current(procSelectionChanged) 0
set current(procListHistoryPos) 0
set current(procListHistory) [list "mark1"]
set current(procList_hist_maxLength) 20
set current(lastPos) "1.0"
set current(isNode) 0
set current(checkRootNode) 0
set current(isUpdate) 0
# set keywords
set fd [open [file join $ASEDsRootDir keywords.txt ] r]
set keyList ""
while {![eof $fd]} {
gets $fd word
lappend keyList $word
}
close $fd
set EditorData(keywords) $keyList
set EditorData(files) {}
set EditorData(curFile) ""
set EditorData(find) {}
set EditorData(find,lastOptions) ""
set EditorData(replace) {}
set EditorData(projectFile) ""
set EditorData(cursor,line) 1
set EditorData(cursor,pos) 0
set EditorData(cursorPos) "Line: 1 Pos: 0"
set Editor::lineNo $EditorData(cursor,line)
if $configError {
if {$tcl_platform(platform) == "windows"} {
set EditorData(options,fontSize) 15
set EditorData(options,fontEncoding) ""
} else {
set EditorData(options,fontSize) 12
set EditorData(options,fontEncoding) "koi8-r"
}
font create nbFrameFont -size 8
set EditorData(options,sessionList) {}
set options(sessionList) {}
set EditorData(options,useEvalServer) 1
set options(useEvalServer) 1
set EditorData(options,serverPort) 9001
set options(serverPort) 9001
set EditorData(options,serverWish) [list [info nameofexecutable]]
set options(serverPort) [info nameofexecutable]
set EditorData(options,useIndent) 1
set options(useIndent) 1
set EditorData(options,useSintaxIndent) 1
set options(useSI) 1
set EditorData(options,indentSize) 4
set EditorData(options,changeTabs) 1
set options(changeTabs) 1
set EditorData(options,tabSize) 4
set EditorData(options,useHL) 1
set options(useHL) 1
set EditorData(options,useTemplates) 1
set options(useTemplates) 1
set EditorData(options,useTemplatesForKeywords) 1
set options(useKeywordTemplates) 1
set EditorData(options,useTemplatesForBrace) 1
set options(useBracesTemplates) 1
set EditorData(options,useTemplatesForParen) 1
set options(useParenTemplates) 1
set EditorData(options,useTemplatesForBracket) 1
set options(useBracketTemplates) 1
set EditorData(options,useTemplatesForQuoteDbl) 1
set options(useQuotesTemplates) 1
set EditorData(options,showToolbar1) $toolbar1
set EditorData(options,showToolbar2) $toolbar2
set options(showConsole) 1
set EditorData(options,showConsole) $showConsoleWindow
set options(showProcs) 1
set EditorData(options,showProcs) $showProcWindow
set options(sortProcs) 1
set EditorData(options,sortProcs) $sortProcs
set options(autoUpdate) 1
set EditorData(options,autoUpdate) 1
set options(showProc) 1
set EditorData(options,showProc) $showProc
set options(defaultProjectFile) "none"
set EditorData(options,defaultProjectFile) "none"
set current(project) "none"
set options(workingDir) "~"
set EditorData(options,workingDir) "~"
set options(showSolelyConsole) 0
set EditorData(options,showSolelyConsole) 0
set options(useDefaultExtension) 1
set EditorData(options,useDefaultExtension) 1
set EditorData(options,language) english
set options(language) english
set EditorData(options,restoreSession) 1
set options(restoreSession) 1
} else {
set toolbar1 $EditorData(options,showToolbar1)
set toolbar2 $EditorData(options,showToolbar2)
set options(useEvalServer) $EditorData(options,useEvalServer)
set options(serverPort) $EditorData(options,serverPort)
set options(useIndent) $EditorData(options,useIndent)
set options(useSI) $EditorData(options,useSintaxIndent)
set options(useHL) $EditorData(options,useHL)
set options(useTemplates) $EditorData(options,useTemplates)
set options(useKeywordTemplates) $EditorData(options,useTemplatesForKeywords)
set options(useBracesTemplates) $EditorData(options,useTemplatesForBrace)
set options(useParenTemplates) $EditorData(options,useTemplatesForParen)
set options(useBracketTemplates) $EditorData(options,useTemplatesForBracket)
set options(useQuotesTemplates) $EditorData(options,useTemplatesForQuoteDbl)
set options(changeTabs) $EditorData(options,changeTabs)
set options(showConsole) $EditorData(options,showConsole)
set options(showProcs) $EditorData(options,showProcs)
set options(showProc) $EditorData(options,showProc)
set options(autoUpdate) $EditorData(options,autoUpdate)
set options(sortProcs) $EditorData(options,sortProcs)
set options(defaultProjectFile) $EditorData(options,defaultProjectFile)
set current(project) $EditorData(options,defaultProjectFile)
set options(workingDir) $EditorData(options,workingDir)
set options(showSolelyConsole) $EditorData(options,showSolelyConsole)
set options(serverWish) $EditorData(options,serverWish)
set options(useDefaultExtension) $EditorData(options,useDefaultExtension)
set options(language) $EditorData(options,language)
set options(restoreSession) $EditorData(options,restoreSession)
set options(sessionList) $EditorData(options,sessionList)
}
set EditorData(indentString) " "
load_languageFile $EditorData(options,language)
Editor::CreateFonts
return
}
proc Editor::_create_intro { } {
global tcl_platform
global ASEDsRootDir
set top [toplevel .intro -relief raised -borderwidth 2]
wm withdraw $top
wm overrideredirect $top 1
set image [image create photo -file [file join $ASEDsRootDir ased.gif]]
set splashscreen [label $top.x -image $image]
pack $splashscreen
BWidget::place $top 0 0 center
wm deiconify $top
}
proc Editor::create { } {
global tcl_platform
global clock_var
global EditorData
global ASEDsRootDir
global asedMacros
global langArray
variable _wfont
variable notebook
variable list_notebook
variable con_notebook
variable pw2
variable pw1
variable procWindow
variable treeWindow
variable markWindow
variable mainframe
variable font
variable prgtext
variable prgindic
variable status
variable search_combo
variable argument_combo
variable current
variable clock_label
variable defaultFile
variable defaultProjectFile
variable Font_var
variable FontSize_var
variable options
variable toolbarButtons
variable treeMenu
variable textMenu
variable mainMenu
set result [catch {source [file join "~" ased.cfg]} info]
variable configError $result
_create_intro
update
# if an update was installed with a different configuration of ased.cfg
# use default values
if {[catch {Editor::setDefault} info]} {
# tk_messageBox -message $info
set configError 1
Editor::setDefault
}
Editor::load_search_defaults
Editor::tick
Editor::createMainMenu
Editor::createPopMenuTreeWindow
Editor::createPopMenuEditorWindow
set Editor::prgindic -1
set Editor::status ""
set mainframe [MainFrame::create .mainframe \
-menu $Editor::mainMenu \
-textvariable Editor::status \
-progressvar Editor::prgindic \
-progressmax 100 \
-progresstype normal \
-progressfg blue ]
$mainframe showstatusbar progression
Editor::createMainToolbar
Editor::createFontToolbar
# set statusbar indicator for file-directory clock and Line/Pos
set temp [MainFrame::addindicator $mainframe -text [tr "Current Startfile: "] ]
set temp [MainFrame::addindicator $mainframe -textvariable Editor::current(project) ]
set temp [MainFrame::addindicator $mainframe -text [tr " File: "] ]
set temp [MainFrame::addindicator $mainframe -textvariable Editor::current(file) ]
set temp [MainFrame::addindicator $mainframe -textvariable EditorData(cursorPos)]
set temp [MainFrame::addindicator $mainframe -textvariable clock_var]
# NoteBook creation
set frame [$mainframe getframe]
set pw1 [PanedWindow::create $frame.pw -side left]
set pane [PanedWindow::add $pw1 -minsize 200]
set pw2 [PanedWindow::create $pane.pw -side top]
set pane1 [PanedWindow::add $pw2 -minsize 100]
set pane2 [PanedWindow::add $pw2 -minsize 100]
set pane3 [PanedWindow::add $pw1 -minsize 100]
set list_notebook [NoteBook::create $pane1.nb]
set notebook [NoteBook::create $pane2.nb]
set con_notebook [NoteBook::create $pane3.nb]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -