TVSKIN源代码阅读日记(八)--- ReadLayerData

通过前面的函数可以看出显示解析了ReadResouseData,然后是ReadLayoutData,然后是ReadUIData。

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

EZPlayer的skins目录里面有两款皮肤,其中一款为EasyDTV.

../EZDTV/EZPlayer/Skins/EasyDTV目录下以layout为搜索关键字符,可以搜索到以下文件。

File NamePath
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.xmlsame
teletext.xml 
toolbar_panel.xmlF:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml
  
main.xmlF:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/setting
tab.xmlF:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/setting
  
main.xmlF:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/scan
tab.xmlF:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/scan
  
record.xmlF:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/notify
  
main.xmlF:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/epg
main_daylight.xmlF:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/epg
tab.xmlF:/test/EZDTV/EZPlayer/Skins/EasyDTV/xml/epg
user_edit.xmlF:/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 NameSUB KEY  
about.xmlstatictextfontbutton 
 CEZStaticText classCEZFontButton class 
CAM_Interface.xmlboardlistedit 
 CEZBoardListCEZEdit 
channel_dock.xmlbackgroundtabcontrol 
 CEZBitmapCEZTabControl 
channel_tab.xmllistviewslidermessagebox
 CEZListViewCEZSliderCEZMessageBox
notify_record.xml   
notify_suspend.xml   
panel_tab.xmlbuttonstatebutton 
 CEZButtonCEZStateButton 
player.xmlvideoport  
teletext.xmlteletext_port  
toolbar_panel.xml   
    
main.xml   
tab.xmlcheckbuttoncomboboxradiobutton
 CEZCheckButton CEZComboBoxCEZRadioButton
main.xml   
tab.xml   
    
record.xml   
    
main.xmltimeeditboardlist 
 CEZTimeEditCEZBoardList 
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 (后来没有用到)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值