国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計軟件教程 > TextEditor原理分析筆記

TextEditor原理分析筆記
2010-01-14 22:59:00  作者:  來源:

Editor的語法著色原理:Eclipse使用damage ,repair和reconcile模型來實現(xiàn)語法著色功能,當(dāng)用戶每次修改了document,Reconciler就會去計算文檔中哪些可視區(qū)域是無效的以及如何去repair之:這里的damage表示需要重新加以顯示的文本,repair則表示重新進(jìn)行顯示的方式,而reconcile則是這個重新顯示的過程.為了定制damage和repair,需要給TextEditor配置自定義的SourceViewerConfigration,TextEditor中的主要組成部分叫SourceViewer,默認(rèn)情況下SourceViewer不支持語法著色功能,而通過擴(kuò)展SourceViewerConfiguration就可以對SourceViewer進(jìn)行定制,通過復(fù)寫SourceViewerConfiguration的getPresentationReconciler()方法就可以定制我們自己的Reconciler,定制Reconciler主要是給其配置相關(guān)的Damager和Repairer,而這兩個東東又會跟RuleScanner關(guān)聯(lián):

java 代碼
 
  1. PresentationReconciler reconciler = new PresentationReconciler();   
  2. DefaultDamagerRepairer dr = new DefaultDamagerRepairer (getTagScanner());   
  3. reconciler.setDamager(dr, IDocument.DEFAULT_CONTENT_TYPE);   
  4. reconciler.setRepairer(dr, IDocument.DEFAULT_CONTENT_TYPE);  


RuleScanner定義了各種用于區(qū)分各種Token的規(guī)則以及相關(guān)的TextAttribute(顏色屬性就定義在里面)

內(nèi)容輔助功能的實現(xiàn):需要改寫SourceViewerConfiguration.getContentAssistance()方法,而自動完成行為的設(shè)置通過定義不同的CompletionProcessor來實現(xiàn), CompletionProcessor需要復(fù)寫getCompletionProposalAutoActivationCharacters()來告訴編輯器在輸入何種內(nèi)容時給出自動提示的內(nèi)容,同時還需要實現(xiàn)computeCompletionProposals()方法來告訴要顯示的提示內(nèi)容(completion proposal)


安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 美日韩中文字幕 | 色在线视频观看 | 亚洲天堂1 | 一区二区三区视频在线播放 | 国产欧美一区二区精品秋霞影院 | 欧美一区二区免费 | 色婷婷激情五月 | 91精品国产福利 | 国产1区2区3区 | 久久五月网 | 国产91在线播放九色0 | 日本亚洲欧洲无免费码在线 | xxxx在线视频 | 99精品国产aⅴ | 久久久九 | 四虎成人精品在永久免费 | 成人免费区一区二区三区 | 天天干天天操天天干天天操 | 成人av一区二区免费播放 | 成人性生交大片免费看0 | 国产欧美日韩精品一区二区三区 | 免费在线观看一级毛片 | 日韩一二区 | 色哟哟网站在线 | 日韩免费1区二区电影 | 久久综合婷婷 | 免费黄色电影在线观看 | 亚洲色图校园春色 | 国产精品美女在线 | 中文字幕一区不卡 | 亚洲精品在线观看av | 欧美色综合网 | 麻豆精品免费 | 亚洲精品毛片 | 大学生高潮无套内谢视频 | 天天操夜操 | 国产做a爱一及毛片久久 | 成人性生交大片免费看中文视频 | 色婷婷六月天 | 国产精品高潮视频 | 91精品对白刺激国产在线 |