亚洲成人一区在线观看_天堂网www_国产精品久久9_中文在线播放_伊人天天_久久精品久久久精品美女

當(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ī)劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 一区二区中文字幕 | 日本黄色免费大片 | 希岛爱理在线 | 久久综合入口 | 精产国产伦理一二三区 | 国产精品久久久久久 | 国产精品久久久久久久美男 | 亚洲激情视频在线播放 | 久草天堂 | av在线网址观看 | 欧美视频二区 | 国产天天操 | 91久久久久久久久久久久久久久久 | 日韩三级在线 | 久久999免费视频 | 久久99久久99精品免观看粉嫩 | 亚洲电影一区二区 | 青青草一区 | 日本女人高潮视频 | 免费观看特级毛片 | 天天干在线影院 | 日韩欧美一区二区三区四区 | a一级免费视频 | 视频在线亚洲 | 久久精品中文 | 久久久在线 | 欧美激情一区二区 | 国产欧美久久久久久 | 久久久久久久久99精品 | 国产欧美在线播放 | 国产传媒毛片精品视频第一次 | 麻豆一区 | 在线观看欧美一区二区三区 | 日韩91| 欧美精品在线视频 | 亚洲一区二区三区久久 | 国产精品www | 日韩一区二区三区在线视频 | 精品国产一区二区三区不卡蜜臂 | 97国产在线 | 精品久久久久久久久久久 |