HRESULT WINAPI GetCurrentScheme(ISkinScheme** ppScheme) { CComPtr<ISkinMgr> p; GetSkinMgr(&p); if (p) return p->GetCurentScheme(ppScheme); return E_FAIL; }
HRESULT WINAPI LoadSkinFile( LPCTSTR pszFileName ) { CComPtr<ISkinMgr> p; GetSkinMgr(&p); if (p && S_OK == p->LoadTheme( pszFileName )) { //CSkinMenuMgr::RefreshSkin(); CSkinHook::RefreshUI(); p->InitMenuColor( RGB(0, 0, 0), FALSE ); return S_OK; } return S_FALSE; }
HRESULT WINAPI ClearCurrentSchemeColor( ) { CComPtr<ISkinMgr> p; GetSkinMgr(&p); CComPtr<ISkinScheme> pss; if (p) { p->GetCurentScheme(&pss); p->InitMenuColor( RGB(0, 0, 0), FALSE ); } if ( pss ) pss->ClearSchemeColor( ); //CSkinMenuMgr::RefreshSkin(); CSkinHook::RefreshUI(); return E_FAIL; }
HRESULT WINAPI ChangeCurrentSchemeColor( COLORREF clr ) { CComPtr<ISkinMgr> p; GetSkinMgr(&p); CComPtr<ISkinScheme> pss; if (p) { p->GetCurentScheme(&pss); p->InitMenuColor( clr, TRUE ); } if ( pss ) pss->ChangeSchemeColor( clr ); //CSkinMenuMgr::RefreshSkin(); CSkinHook::RefreshUI(); return E_FAIL; }
VOID CDUIProgressBarBase::SetAttribute(const CDUIString& strName, const CDUIString& strValue) { BOOL bHandled(FALSE); if(strName.compare(_T("back_image")) == 0) { CRefPtr<CImageList> pImage = GetSkinMgr()->GetImage(strValue); DUI_ASSERT(!pImage.IsNull() && (pImage->GetItemCount() >= PROCRSS_BAR_IMAGE_COUNT)); CProgressBarUIData data; data.m_imageBK = pImage; SetUIData(data); bHandled = TRUE; } else if(strName.compare(_T("range")) == 0) { TCHAR szValue[128] = {0}; lstrcpyn(szValue, strValue.c_str(), sizeof(szValue) / sizeof(TCHAR) - 1); LPTSTR pstr = szValue; INT nItem1 = _tcstol(pstr, &pstr, 10); INT nItem2 = _tcstol(pstr + 1, &pstr, 10); SetRange(nItem1, nItem2); bHandled = TRUE; } else if(strName.compare(_T("pos")) == 0) { INT nPos = _ttol(strValue.c_str()); SetPos(nPos); bHandled = TRUE; } if(!bHandled) { theBase::SetAttribute(strName, strValue); } }
BOOL CDUIControlFactory::GetPlugin(const CDUIString& strName, CDUIString& strDllName, CDUIString& strEntryFunction) { IDUISkinMgr* pSkinMgr = GetSkinMgr(); if(pSkinMgr == NULL) return FALSE; CDUIString strPluginXML; if(!pSkinMgr->GetPlugin(strName, strPluginXML)) { DUI_ASSERT(FALSE); return FALSE; } CDUIXml xml; if(!xml.SetDoc(strPluginXML)) { DUI_ASSERT(FALSE); return FALSE; } if(!xml.FindElem(_T("plugin"))) { DUI_ASSERT(FALSE); return FALSE; } strDllName = xml.GetAttrib(_T("file_name")); strEntryFunction = xml.GetAttrib(_T("entry_function")); if(strDllName.size() == 0 || strEntryFunction.size() == 0) { DUI_ASSERT(FALSE); return FALSE; } return TRUE; }
VOID CDUIIconTextItem::SetAttribute(const CDUIString& strName, const CDUIString& strValue) { BOOL bHandled(FALSE); if(strName.compare(_T("normal_icon")) == 0) { m_uiData.m_pNormalIcon = GetSkinMgr()->GetImage(strValue); bHandled = TRUE; } else if(strName.compare(_T("expand_icon")) == 0) { m_uiData.m_pExpandIcon = GetSkinMgr()->GetImage(strValue); bHandled = TRUE; } else if(strName.compare(_T("hover_frame")) == 0) { SetHoverFrameBK(GetSkinMgr()->GetFrameBK(strValue)); bHandled = TRUE; } else if(strName.compare(_T("select_frame")) == 0) { SetSelectFrameBK(GetSkinMgr()->GetFrameBK(strValue)); bHandled = TRUE; } else if(strName.compare(_T("normal_height")) == 0) { SetHeight(FALSE, _ttol(strValue.c_str())); bHandled = TRUE; } else if(strName.compare(_T("expand_height")) == 0) { SetHeight(TRUE, _ttol(strValue.c_str())); bHandled = TRUE; } else if(strName.compare(_T("group")) == 0) { if(strValue.compare(DUI_STR_TRUE) == 0) { SetGroup(TRUE); } else { SetGroup(FALSE); } bHandled = TRUE; } else if(strName.compare(_T("expand")) == 0) { if(strValue.compare(DUI_STR_TRUE) == 0) { SetExpand(TRUE); } else { SetExpand(FALSE); } bHandled = TRUE; } if(!bHandled) { theBase::SetAttribute(strName, strValue); } }
VOID CDUIFramePanel::SetAttribute(const CDUIString& strName, const CDUIString& strValue) { BOOL bHandled(FALSE); if(strName.compare(_T("frame_type")) == 0) { DWORD dwMode(0); if(strValue.find(_T("use_color")) != -1) { dwMode = FRAME_PANEL_SINGLE_COLOR; } else if(strValue.find(_T("use_image")) != -1) { dwMode = FRAME_PANEL_USE_IMAGE; } DUI_ASSERT(dwMode != 0); SetDrawMode(dwMode); bHandled = TRUE; } else if(strName.compare(_T("border_color")) == 0) { m_uiData.m_clrFrame = GetSkinMgr()->GetColor(strValue); bHandled = TRUE; } if(strName.compare(_T("left_border_image")) == 0) { m_uiData.m_pImageLeft = GetSkinMgr()->GetImage(strValue); bHandled = TRUE; } else if(strName.compare(_T("right_border_image")) == 0) { m_uiData.m_pImageRight = GetSkinMgr()->GetImage(strValue); bHandled = TRUE; } else if(strName.compare(_T("top_border_image")) == 0) { m_uiData.m_pImageTop = GetSkinMgr()->GetImage(strValue); bHandled = TRUE; } else if(strName.compare(_T("bottom_border_image")) == 0) { m_uiData.m_pImageBottom = GetSkinMgr()->GetImage(strValue); bHandled = TRUE; } else if(strName.compare(_T("border_rect")) == 0) { TCHAR szTextBuffer[128] = {0}; lstrcpyn(szTextBuffer, strValue.c_str(), sizeof(szTextBuffer) / sizeof(TCHAR) - 1); RECT rtTemp = {0}; LPTSTR pstr = NULL; rtTemp.left = _tcstol(szTextBuffer, &pstr, 10); rtTemp.top = _tcstol(pstr + 1, &pstr, 10); rtTemp.right = _tcstol(pstr + 1, &pstr, 10); rtTemp.bottom = _tcstol(pstr + 1, &pstr, 10); SetFrameRect(rtTemp); bHandled = TRUE; } if(!bHandled) { theBase::SetAttribute(strName, strValue); } }