Exemple #1
0
 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;
}
Exemple #3
0
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;
}
Exemple #4
0
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;
}
Exemple #5
0
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;
}
Exemple #6
0
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>);
}