Eclipse華麗轉(zhuǎn)身之控件表格工廠
Eclipse插件開發(fā)
書歸正傳,接演前文~(Eclipse插件開發(fā)之簡(jiǎn)單控件封裝——那些年冗長(zhǎng)的裹腳布)上回我們介紹了對(duì)象編輯器的封裝,對(duì)象編輯器之外就是控件工廠的封裝,而在眾多類型的控件工廠中,想必大家最關(guān)心的,莫過于對(duì)槽點(diǎn)滿滿的原生Tree/Table的封裝。這回我們便好好來說道說道~
在此之前,我們還是要簡(jiǎn)單介紹一下控件工廠。
控件工廠
根據(jù)不同的UI需求,我們框架封裝了許多控件工廠來完成靈活的應(yīng)用需求。
IControlFactory控件工廠,因?yàn)橛幸恍┛丶沁\(yùn)行時(shí)才會(huì)被創(chuàng)建的,而且要?jiǎng)?chuàng)建的控件也有可能不確定,所以提供一個(gè)這樣的工廠用來創(chuàng)建控件,下圖為它的類結(jié)構(gòu)圖。
AbstractControlFactory是IControlFactory的基類。這個(gè)基類在實(shí)現(xiàn)IValueContaier的同時(shí)還實(shí)現(xiàn)了IValueChangeListener和IValidateListener這樣主要是通過Proxy的模式,只在內(nèi)部的控件中添加自己作為L(zhǎng)istener。
表格工廠
我們知道,無論是SWT的Table還是JFace的TableViewer/TreeViewer,都不能滿。我們廣泛需求,比如修改數(shù)據(jù)。而在我們開發(fā)過程中,表格往往是個(gè)非常普遍多次使用的控件,所以這里就要引入我們的表格工廠的封裝了。那么,我們先簡(jiǎn)述以下表格工廠相關(guān)的幾個(gè)概念(構(gòu)建器、數(shù)據(jù)轉(zhuǎn)換器、備忘錄)。
表格構(gòu)建器Builder分為KTableBuilder和KTreeBuilder,其實(shí)他們是使用了第三方表格組件KTable來進(jìn)行構(gòu)造表格。
先來說一下KTable表格工廠的構(gòu)建器KTableBuilder,下圖為Builder的關(guān)系類圖;
當(dāng)需要使用一個(gè)KTableBuilder的時(shí)候我們一般直接new一個(gè)對(duì)象出來,可以看下它三種構(gòu)造函數(shù)中帶參數(shù)的一種;public KTableBuilder(KTable r_KTable, IKTableColumn[] r_Columns, ITableDataProvider r_TableDataProvider, IAdaptable r_Adaptable) { this.setTableColumns(r_Columns); this.setDataProvider(r_TableDataProvider); this.build(r_KTable,r_Adaptable); }其中的ITableDataProvider就是數(shù)據(jù)提供者接口,為表格提供數(shù)據(jù)和排序。然后表格構(gòu)建器通過doBuild方法來繪制表格。數(shù)據(jù)轉(zhuǎn)換器Translator數(shù)據(jù)轉(zhuǎn)換器,可以將數(shù)據(jù)轉(zhuǎn)換成復(fù)雜控件使用的數(shù)據(jù),如表格使用的列表數(shù)據(jù);舉一個(gè)例子來理解什么是Translator,例如Stuido的邏輯流文件(*.bizx文件),用文本編輯器開打后可以看到圖形化編輯器中的圖元的信息都是使用XML規(guī)范來描述的,比如一個(gè)運(yùn)算邏輯圖元屬性如下圖;

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 4 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 5 國(guó)產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽(yáng)光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長(zhǎng)空間
- 8 封殺AI“照騙”,“淘寶們”終于不忍了?
- 9 優(yōu)必選:營(yíng)收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?
- 10 地平線自動(dòng)駕駛方案解讀