void SSkinFactoryMgr::AddStandardSkin() { AddKeyObject(SSkinImgList::GetClassName(),new TplSkinFactory<SSkinImgList>); AddKeyObject(SSkinImgFrame::GetClassName(),new TplSkinFactory<SSkinImgFrame>); AddKeyObject(SSkinButton::GetClassName(),new TplSkinFactory<SSkinButton>); AddKeyObject(SSkinGradation::GetClassName(),new TplSkinFactory<SSkinGradation>); AddKeyObject(SSkinScrollbar::GetClassName(),new TplSkinFactory<SSkinScrollbar>); }
BOOL DuiStringPool::Init( pugi::xml_node xmlNode ) { if (strcmp(xmlNode.name(), "string") != 0) { DUIASSERT(FALSE); return FALSE; } UINT uStringID = 0; for (pugi::xml_node xmlStr=xmlNode.child("s"); xmlStr; xmlStr=xmlStr.next_sibling("s")) { uStringID=xmlStr.attribute("id").as_int(-1); if(uStringID==-1) continue; CDuiStringA str=xmlStr.text().get(); if(str.IsEmpty()) str=xmlStr.attribute("text").value(); AddKeyObject(uStringID,CDuiStringT(DUI_CA2T(str, CP_UTF8))); } return TRUE; }
IFontPtr SFontPool::GetFont(FONTSTYLE style,LPCTSTR pszFaceName) { SStringT strFaceName(pszFaceName); if(strFaceName == m_lfDefault.lfFaceName) strFaceName = _T(""); IFontPtr hftRet=0; FontKey key(style.dwStyle,strFaceName); if(HasKey(key)) { hftRet=GetKeyObject(key); } else { if(strFaceName.IsEmpty()) strFaceName = m_lfDefault.lfFaceName; hftRet = _CreateFont(style,strFaceName); AddKeyObject(key,hftRet); } return hftRet; }
BOOL SObjDefAttr::Init( pugi::xml_node xmlNode ) { if(!xmlNode) return FALSE; m_xmlRoot.append_copy(xmlNode); pugi::xml_node xmlObjAttr=m_xmlRoot.child(L"objattr").first_child(); while(xmlObjAttr) { AddKeyObject(xmlObjAttr.name(),xmlObjAttr); xmlObjAttr=xmlObjAttr.next_sibling(); } SPOSITION pos=m_mapNamedObj->GetStartPosition(); while(pos) { SMap<SStringW,pugi::xml_node>::CPair *p=m_mapNamedObj->GetNext(pos); BuildClassAttribute(p->m_value,p->m_key); } return TRUE; }
int SSkinPool::LoadSkins(pugi::xml_node xmlNode) { if(!xmlNode) return 0; int nLoaded=0; SStringW strSkinName, strTypeName; pugi::xml_node xmlSkin=xmlNode.first_child(); while(xmlSkin) { strTypeName = xmlSkin.name(); strSkinName = xmlSkin.attribute(L"name").value(); if (strSkinName.IsEmpty() || strTypeName.IsEmpty()) continue; xmlSkin.attribute(L"name").set_userdata(1); //标记该属性不需要再处理。 SASSERT(!HasKey(strSkinName)); ISkinObj *pSkin=SApplication::getSingleton().CreateSkinByName(strTypeName); if(pSkin) { pSkin->InitFromXml(xmlSkin); AddKeyObject(strSkinName,pSkin); nLoaded++; } else { SASSERT_FMTW(FALSE,L"load skin error,type=%s,name=%s",strTypeName,strSkinName); } xmlSkin.attribute(L"name").set_userdata(0); //清除标记 xmlSkin=xmlSkin.next_sibling(); } return nLoaded; }
void SWindowFactoryMgr::AddStandardWindowFactory() { AddKeyObject(SWindow::GetClassName(),new TplSWindowFactory<SWindow>); AddKeyObject(SPanel::GetClassName(),new TplSWindowFactory<SPanel>); AddKeyObject(SStatic::GetClassName(),new TplSWindowFactory<SStatic>); AddKeyObject(SButton::GetClassName(),new TplSWindowFactory<SButton>); AddKeyObject(SImageWnd::GetClassName(),new TplSWindowFactory<SImageWnd>); AddKeyObject(SProgress::GetClassName(),new TplSWindowFactory<SProgress>); AddKeyObject(SImageButton::GetClassName(),new TplSWindowFactory<SImageButton>); AddKeyObject(SLine::GetClassName(),new TplSWindowFactory<SLine>); AddKeyObject(SCheckBox::GetClassName(),new TplSWindowFactory<SCheckBox>); AddKeyObject(SIconWnd::GetClassName(),new TplSWindowFactory<SIconWnd>); AddKeyObject(SRadioBox::GetClassName(),new TplSWindowFactory<SRadioBox>); AddKeyObject(SLink::GetClassName(),new TplSWindowFactory<SLink>); AddKeyObject(SGroup::GetClassName(),new TplSWindowFactory<SGroup>); AddKeyObject(SAnimateImgWnd::GetClassName(),new TplSWindowFactory<SAnimateImgWnd>); AddKeyObject(SScrollView::GetClassName(),new TplSWindowFactory<SScrollView>); AddKeyObject(SRealWnd::GetClassName(),new TplSWindowFactory<SRealWnd>); AddKeyObject(SToggle::GetClassName(),new TplSWindowFactory<SToggle>); AddKeyObject(SCaption::GetClassName(),new TplSWindowFactory<SCaption>); AddKeyObject(STabCtrl::GetClassName(),new TplSWindowFactory<STabCtrl>); AddKeyObject(STabPage::GetClassName(),new TplSWindowFactory<STabPage>); AddKeyObject(SActiveX::GetClassName(),new TplSWindowFactory<SActiveX>); AddKeyObject(SFlashCtrl::GetClassName(),new TplSWindowFactory<SFlashCtrl>); AddKeyObject(SMediaPlayer::GetClassName(),new TplSWindowFactory<SMediaPlayer>); AddKeyObject(SSplitPane::GetClassName(),new TplSWindowFactory<SSplitPane>); AddKeyObject(SSplitWnd::GetClassName(),new TplSWindowFactory<SSplitWnd>); AddKeyObject(SSplitWnd_Col::GetClassName(),new TplSWindowFactory<SSplitWnd_Col>); AddKeyObject(SSplitWnd_Row::GetClassName(),new TplSWindowFactory<SSplitWnd_Row>); AddKeyObject(SSliderBar::GetClassName(),new TplSWindowFactory<SSliderBar>); AddKeyObject(STreeCtrl::GetClassName(),new TplSWindowFactory<STreeCtrl>); AddKeyObject(SScrollBar::GetClassName(),new TplSWindowFactory<SScrollBar>); AddKeyObject(SHeaderCtrl::GetClassName(),new TplSWindowFactory<SHeaderCtrl>); AddKeyObject(SListCtrl::GetClassName(),new TplSWindowFactory<SListCtrl>); AddKeyObject(SListBox::GetClassName(),new TplSWindowFactory<SListBox>); AddKeyObject(SRichEdit::GetClassName(),new TplSWindowFactory<SRichEdit>); AddKeyObject(SEdit::GetClassName(),new TplSWindowFactory<SEdit>); AddKeyObject(SHotKeyCtrl::GetClassName(),new TplSWindowFactory<SHotKeyCtrl>); AddKeyObject(STreeBox::GetClassName(),new TplSWindowFactory<STreeBox>); AddKeyObject(SListBoxEx::GetClassName(),new TplSWindowFactory<SListBoxEx>); AddKeyObject(SComboBox::GetClassName(),new TplSWindowFactory<SComboBox>); AddKeyObject(SComboBoxEx::GetClassName(),new TplSWindowFactory<SComboBoxEx>); AddKeyObject(SCalendar::GetClassName(),new TplSWindowFactory<SCalendar>); AddKeyObject(SListView::GetClassName(),new TplSWindowFactory<SListView>); AddKeyObject(SComboView::GetClassName(),new TplSWindowFactory<SComboView>); AddKeyObject(SMCListView::GetClassName(),new TplSWindowFactory<SMCListView>); }