📄 multiview.tcl
字号:
$itk_component(edit_menu) add command\ -label [get_indep String EditPreferences]\ -underline [get_indep Pos EditPreferences]\ -command [itcl::code ${this} edit_preferences 0] #Search menu itk_component add search_menu { menu $itk_component(menu).search -tearoff 0\ -postcommand [itcl::code ${this} search_post\ $itk_component(menu).search] } {} $itk_component(search_menu) configure -font $sn_options(def,layout-font) $itk_component(menu) add cascade -label [get_indep String Search]\ -underline [get_indep Pos Search]\ -menu $itk_component(search_menu) $itk_component(search_menu) add command\ -label [get_indep String SearchFind]\ -underline [get_indep Pos SearchFind] -accelerator "Ctrl+F"\ -command [itcl::code ${this} search_findtext] $itk_component(search_menu) add command\ -label [get_indep String SearchNext]\ -underline [get_indep Pos SearchNext] -accelerator "F3"\ -command [itcl::code ${this} search_next] $itk_component(search_menu) add command\ -label [get_indep String SearchPrev]\ -underline [get_indep Pos SearchPrev] -accelerator "Shift+F3"\ -command [itcl::code ${this} search_prev] $itk_component(search_menu) add command\ -label [get_indep String SearchReplace]\ -underline [get_indep Pos SearchReplace]\ -command [itcl::code ${this} search_replace] -state ${state} $itk_component(search_menu) add separator $itk_component(search_menu) add command\ -accelerator "$sn_options(sys,alt-accelpref)+D" -label\ [get_indep String SearchDefinition]\ -underline [get_indep Pos SearchDefinition]\ -command [itcl::code ${this} search_definition]\ -state ${state} $itk_component(search_menu) add command\ -accelerator "$sn_options(sys,alt-accelpref)+I"\ -label [get_indep String SearchImplementation]\ -underline [get_indep Pos SearchImplementation]\ -command [itcl::code ${this} search_implementation]\ -state ${state} $itk_component(search_menu) add separator $itk_component(search_menu) add command\ -accelerator "Ctrl+Shift+G"\ -label [get_indep String SearchGrep]\ -underline [get_indep Pos SearchGrep]\ -command "${this} search_grep" $itk_component(search_menu) add separator #Add a separate Goto sub menu itk_component add goto_menu { menu $itk_component(search_menu).goto -tearoff 0\ -postcommand [itcl::code ${this} search_goto_post\ $itk_component(search_menu).goto] } {} $itk_component(search_menu) add cascade\ -label [get_indep String Goto]\ -underline [get_indep Pos Goto]\ -menu $itk_component(goto_menu) $itk_component(goto_menu) add command\ -label [get_indep String SearchGotoLine]\ -underline [get_indep Pos SearchGotoLine]\ -accelerator "Ctrl+G"\ -command [itcl::code ${this} search_gotoline] $itk_component(goto_menu) add separator $itk_component(goto_menu) add command\ -label [get_indep String SearchSetMark]\ -underline [get_indep Pos SearchSetMark]\ -accelerator "Ctrl+Space"\ -command [itcl::code ${this} search_setmark] $itk_component(goto_menu) add command\ -label [get_indep String SearchGotoMark]\ -underline [get_indep Pos SearchGotoMark]\ -accelerator "Ctrl+M"\ -command [itcl::code ${this} search_gotomark]# FIXME: targeted for removal $itk_component(goto_menu) add command\ -label [get_indep String SearchGotoError]\ -underline [get_indep Pos SearchGotoError]\ -accelerator "Shift+Ctrl+E"\ -command "MultiWindow&::search_gotoerror" ## Tools menu column itk_component add tools_menu { menu $itk_component(menu).tools -tearoff 0\ -postcommand [itcl::code ${this} tools_post\ $itk_component(menu).tools] } {} $itk_component(tools_menu) configure -font $sn_options(def,layout-font) $itk_component(menu) add cascade\ -label [get_indep String Tools]\ -menu $itk_component(tools_menu)\ -underline [get_indep Pos Tools] ############################################################ ## Editor ############################################################ ############################################################ ## Class Hierarchy ############################################################ itk_component add classtree_menu { menu $itk_component(tools_menu).ctree -tearoff 0\ -postcommand [itcl::code ${this} tools_ctree_post\ $itk_component(tools_menu).ctree] } {} $itk_component(tools_menu) add cascade\ -label [get_indep String MultiClassHierarchy]\ -menu $itk_component(classtree_menu)\ -underline [get_indep Pos MultiClassHierarchy]\ -state disabled ############################################################ ## Class Browser ############################################################ itk_component add classbrowser_menu { menu $itk_component(tools_menu).class -tearoff 0\ -postcommand [itcl::code ${this} tools_classbr_post\ $itk_component(tools_menu).class] } {} $itk_component(tools_menu) add cascade\ -label [get_indep String MultiClass]\ -menu $itk_component(classtree_menu)\ -underline [get_indep Pos MultiClass] -state disabled ############################################################ ## Cross reference ############################################################ itk_component add xref_menu { menu $itk_component(tools_menu).xref -tearoff 0\ -postcommand [itcl::code ${this} tools_xref_post\ $itk_component(tools_menu).xref] } {} $itk_component(tools_menu) add cascade\ -label [get_indep String MultiXRef]\ -menu $itk_component(xref_menu)\ -underline [get_indep Pos MultiXRef] -state disabled ############################################################ ## Include ############################################################ itk_component add include_menu { menu $itk_component(tools_menu).incbr -tearoff 0\ -postcommand [itcl::code ${this} tools_incbr_post\ $itk_component(tools_menu).incbr] } {} $itk_component(tools_menu) add cascade\ -label [get_indep String MultiInclude]\ -menu $itk_component(include_menu)\ -underline [get_indep Pos MultiInclude]\ -state disabled $itk_component(tools_menu) add separator ## Miscellaneous Tools and IDE features AddMiscSubMenu $itk_component(tools_menu) ## Revision control $itk_component(tools_menu) add separator itk_component add rc_menu { menu $itk_component(tools_menu).rc -tearoff 0 } {} $itk_component(tools_menu) add cascade\ -label [get_indep String RCS]\ -underline [get_indep Pos RCS]\ -state ${state} -menu $itk_component(rc_menu) $itk_component(rc_menu) configure -font $sn_options(def,layout-font) $itk_component(rc_menu) add command\ -label [get_indep String ChooseCheckOut]\ -underline [get_indep Pos ChooseCheckOut]\ -command [itcl::code ${this} Handle_Rcs sn_rcs_checkout] $itk_component(rc_menu) add command\ -label [get_indep String ChooseCheckIn]\ -underline [get_indep Pos ChooseCheckIn]\ -command [itcl::code ${this} Handle_Rcs sn_rcs_checkin] $itk_component(rc_menu) add command\ -label [get_indep String ChooseDiscard]\ -underline [get_indep Pos ChooseDiscard]\ -command [itcl::code ${this} Handle_Rcs sn_rcs_discard] $itk_component(rc_menu) add command\ -label [get_indep String ChooseLock]\ -underline [get_indep Pos ChooseLock]\ -command [itcl::code ${this} Handle_Rcs\ "sn_rcs_lockunlockdel lock"] $itk_component(rc_menu) add command\ -label [get_indep String ChooseUnlock]\ -underline [get_indep Pos ChooseUnlock]\ -command [itcl::code ${this} Handle_Rcs\ "sn_rcs_lockunlockdel unlock"] $itk_component(rc_menu) add separator $itk_component(rc_menu) add command\ -label [get_indep String ChooseDiff]\ -underline [get_indep Pos ChooseDiff]\ -command [itcl::code ${this} Handle_Rcs "sn_rcs_diff ${this}"] #revision control editor $itk_component(rc_menu) add separator $itk_component(rc_menu) add command\ -label [get_indep String RevisionControlEditor]\ -underline [get_indep Pos RevisionControlEditor]\ -command " sn_revision_ctrl " ## History AddHistMenu $itk_component(menu) ##Windows AddWindowsMenu $itk_component(menu) $itk_component(hull) 1 1 ##Help menu AddHelpMenu $itk_component(menu) $itk_component(hull) ${this} configure -menu $itk_component(menu) } method AddToolbar {} { itk_component add toolbar { frame $itk_component(hull).toolbar -takefocus 0\ -relief groove -border 2 } #prev/next buttons itk_component add hist_prev { button $itk_component(toolbar).prev\ -image prev_image\ -takefocus 0\ -command [itcl::code ${this} history_stack_goto_point prev] } bind $itk_component(hist_prev) <3>\ [itcl::code ${this} toolbar_post_history_stack prev\ $itk_component(hist_prev)] balloon_bind_info $itk_component(hist_prev)\ [get_indep String GotoPrevPosition] pack $itk_component(hist_prev) -side left itk_component add hist_next { button $itk_component(toolbar).next\ -image next2_image\ -takefocus 0\ -command [itcl::code ${this} history_stack_goto_point next] } bind $itk_component(hist_next) <3> [itcl::code ${this}\ toolbar_post_history_stack next $itk_component(hist_next)] balloon_bind_info $itk_component(hist_next)\ [get_indep String GotoNextPosition] pack $itk_component(hist_next) -side left history_stack_control_buttons #combobox for the file symbols itk_component add symbolcombo { Combo& $itk_component(toolbar).symbolcombo \ -width 26 \ -entryballoon [get_indep String ActiveSymbol] \ -buttonballoon [get_indep String ListRelatedSymbols] \ -selectcommand [itcl::code $this toolbar_display_selected $itk_component(toolbar).symbolcombo] } { } pack $itk_component(symbolcombo) -side left -fill x -padx 2 # FIXME: Does this actually need to pass parameters? Add_Symbol_Filter $itk_component(toolbar) #add/create editor command buttons Add_Editor_Buttons $itk_component(toolbar) pack $itk_component(toolbar) -side top -fill x } method Add_Symbol_Filter {exp} { global combobox_editor_scopes # Add symbols filter to the right side of the combobox set extended [$itk_component(symbolcombo) component extended]# FIXME: This SymbolsFilter, opt, itk_component(symbolfilter)# variable duplication needs to be cleaned up set opt $extended.symfilter set SymbolsFilter ${opt} $itk_component(symbolcombo) configure \ -postcommand [itcl::code $this toolbar_post_scope_menu $opt] if {[winfo exists ${opt}]} { destroy ${opt} } itk_component add symbolfilter { frame ${opt} } pack ${opt} -fill both -expand true #Radiobuttons (Related,All) # FIXME: this should be a private variable (use "scope"). uplevel #0 "set ${opt}-related 1" radiobutton ${opt}.related -anchor w -text [get_indep String Related]\ -command " ${this} toolbar_symbols"\ -variable ${opt}-related -value 1 pack ${opt}.related -side top -fill x -expand y lappend AllFilterOptions(radio) ${opt}.related radiobutton ${opt}.all -anchor w -text [get_indep String All]\ -command " ${this} toolbar_symbols"\ -variable ${opt}-related -value 0 pack ${opt}.all -side top -fill x -expand y lappend AllFilterOptions(radio) ${opt}.all #Buttons (All,None) frame ${opt}.btns button ${opt}.btns.all -anchor w -text [get_indep String All]\ -command " ${this} toolbar_symbols 1 " pack ${opt}.btns.all -side left -fill x -expand y lappend AllFilterOptions(button) ${opt}.btns.all button ${opt}.btns.none -anchor w -text [get_indep String None]\ -command " ${this} toolbar_symbols -1 " pack ${opt}.btns.none -side right -fill x -expand y lappend AllFilterOptions(button) ${opt}.btns.none pack ${opt}.btns -side top -fill x -expand y #Filter options (cl,com,fd,fu,...) foreach sc [lsort [array names combobox_editor_scopes]] { uplevel #0 "set ${opt}-${sc} ${sc}" checkbutton ${opt}.${sc} -anchor w -text\ [convert_scope_to_str ${sc}] -command " ${this} toolbar_symbols\ " -variable ${opt}-${sc} -onvalue ${sc}\ -offvalue "off" pack ${opt}.${sc} -side top -fill x -expand y lappend AllFilterOptions(checkbutton) ${opt}.${sc} } #Add checkbutton for undefined symbols (xref only) checkbutton ${opt}.ud -anchor w -text [convert_scope_to_str ud]\ -command " ${this} toolbar_symbols "\ -variable ${opt}-ud -onvalue ud -offvalue off lappend AllFilterOptions(checkbutton) ${opt}.ud pack ${opt}.ud -side top -fill x -expand y } #add editor commands method Add_Editor_Buttons {exp} { global sn_options global tcl_platform set FindEditFr ${exp}.editfr pack [frame ${FindEditFr}] -fill x pack [frame ${FindEditFr}.grap1 -width 5] -side left #add new/open/save/print/copy/paste/undo if {$sn_options(def,edit-more-buttons)} { button ${FindEditFr}.new -takefocus 0 -image new_image -command\ " ${this} file_new " balloon_bind_info ${FindEditFr}.new [get_indep String NewFileINFO] pack ${FindEditFr}.new -side left button ${FindEditFr}.open -image open_image -takefocus 0\ -command " ${this} file_open " balloon_bind_info ${FindEditFr}.open [get_indep String\ EINFOOpenFile] pack ${FindEditFr}.open -side left #save button ${FindEditFr}.save -image save_image -takefocus 0\ -command " ${this} file_save " balloon_bind_info ${FindEditFr}.save [get_indep String\ EINFOSaveChanges] pack ${FindEditFr}.save -side left if {$tcl_platform(platform) != "windows"} { button ${FindEditFr}.print -takefocus 0 -image print_image\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -