TVSKIN源代碼閱讀日記(八)--- ReadLayerData

通過前面的函數可以看出顯示解析了ReadResouseData,然後是ReadLayoutData,然後是ReadUIData。

一、ReadLayerData主要是解析哪些XML文件

EZPlayer的skins目錄裏面有兩款皮膚,其中一款爲EasyDTV.

../EZDTV/EZPlayer/Skins/EasyDTV目錄下以layout爲搜索關鍵字符,可以搜索到以下文件。

File Name Path
about.xml ../EZDTV/EZPlayer/Skins/EasyDTV/xml
CAM_Interface.xml ../EZDTV/EZPlayer/Skins/EasyDTV/xml
channel_dock.xml  
channel_tab.xml  
notify_record.xml  
notify_suspend.xml  
panel_tab.xml  
player.xml same
teletext.xml  
toolbar_panel.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml
   
main.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/setting
tab.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/setting
   
main.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/scan
tab.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/scan
   
record.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/notify
   
main.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/epg
main_daylight.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/epg
tab.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/epg
user_edit.xml F:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/epg
TABLE ONE  

 

大致對應了../EZDTV/EZPlayer/Skins/EasyDTV/Skin.xml文件裏面的部分(藍色部分標記)。

下面部分代碼中 file 屬性的第一個字符串代表文件夾。









add by tzx 20080311 <-->
















 

二、涉及到的XML文件所處位置和目錄結構

Skins目錄下有兩款皮膚:

EZPlayerSkins

EasyDTV皮膚子目錄下,主要存在XML文件的目錄就是DEFAULT和XML。

然後本級目錄下有一個SKIN.XML

EasyDTVDIRECTOR

XML目錄下文件和子目錄。子目錄裏面基本也是XML配置文件。涉及LAYOUT的大部分文件位於此。

XMLFOLDER

DEFAULT目錄下面有兩個比較重要的XML文件,下圖中用紅色框標記。綠色框標記的文件夾裏面都是圖片資源。

EZDTVDEFAULTFOLDE

 

三、統計所涉及到的XML文件中出現的SUBKEY,及其與代碼中對應的類

TABLE ONE中出現的所有XML文件中部分出現過的控件統計如下表:(每個文件只統計上一個文件中沒有出現過的新的SUBKEY)

列表中還列出了對應的類(正好對應於工程中的EZSkin部分的.CPP文件和.H文件。

File Name SUB KEY    
about.xml statictext fontbutton  
  CEZStaticText class CEZFontButton class  
CAM_Interface.xml boardlist edit  
  CEZBoardList CEZEdit  
channel_dock.xml background tabcontrol  
  CEZBitmap CEZTabControl  
channel_tab.xml listview slider messagebox
  CEZListView CEZSlider CEZMessageBox
notify_record.xml      
notify_suspend.xml      
panel_tab.xml button statebutton  
  CEZButton CEZStateButton  
player.xml videoport    
teletext.xml teletext_port    
toolbar_panel.xml      
       
main.xml      
tab.xml checkbutton combobox radiobutton
  CEZCheckButton CEZComboBox CEZRadioButton
main.xml      
tab.xml      
       
record.xml      
       
main.xml timeedit boardlist  
  CEZTimeEdit CEZBoardList  
main_daylight.xml      
tab.xml      
user_edit.xml      
  layout    
  CEZLayout & CEZMENU    
TABLE TWO      

 

參見EZSKIN PROJECT的SOLUTION VIEW MAP:

(紅色標記ReadLayerData函數會涉及到的類,綠色標記着ReadResourceData函數已經涉及到的類,藍色部分標記還沒有涉及到的類)

EZSkinProjectComposit

 

五、LAYOUT節點下出現的SUBNODE的解析

1. LAYOUT,涉及到的類CEZMENUCEZLAYOUT

2. 分析subnode:button

3.fontbutton

4.statebutton

5.checkbutton

6.radiobutton

7.slider

8.combobox

9.messagebox

10.boardlist

11.edit

12.timeedit

13.listview

14.tabcontrol

15.statictext

16.background

17.videoport

18.teletext_port

19.child_list (後來沒有用到)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章