Пример #1
0
void main_frame::OnAuthSuccess( VARIANT *&url )
{
	USES_CONVERSION;
	LPCTSTR lpstrAddress = (LPCTSTR)url->bstrVal;

	CDuiString str(lpstrAddress);

	int pos  = -1;
	pos = str.Find('=');

	CDuiString retnCode = str.Right(str.GetLength() - pos - 1);

	m_weiboManage.GetMethod()->oauth2Code(W2A(retnCode), REDIRECT_URL , NULL);

	CWebBrowserUI *pLoginWeb = static_cast<CWebBrowserUI*>(m_PaintManager.FindControl(_T("loginWnd")));
	if (pLoginWeb)
	{
		pLoginWeb->SetVisible(false);
	}

	CLabelUI *pUnReadTimelineCount = static_cast<CLabelUI*>(m_PaintManager.FindControl(_T("unreadTimelineCount")));
	if (pUnReadTimelineCount)
	{
		m_PaintManager.SetTimer(pUnReadTimelineCount,1,1000*10);
	}
}
Пример #2
0
	LUA_METHOD_IMPL(CWebBrowserUI, IsAutoNavigation)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			lua_pushboolean(l,self->IsAutoNavigation() ? 1 :0);
			return 1;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::IsAutoNavigation"));
			return 0;
		}
	}
Пример #3
0
	IMPL_LUA_FUNC(LuaCWebBrowserUI, Refresh)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			self->Refresh();
			return 0;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::Refresh"));
			return 0;
		}
	}
Пример #4
0
	LUA_METHOD_IMPL(CWebBrowserUI, DoCreateControl)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			lua_pushboolean(l,self->DoCreateControl() ? 1 :0);
			return 1;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::DoCreateControl"));
			return 0;
		}
	}
Пример #5
0
	LUA_METHOD_IMPL(CWebBrowserUI, NavigateHomePage)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			self->NavigateHomePage();
			return 0;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::NavigateHomePage"));
			return 0;
		}
	}
Пример #6
0
	LUA_METHOD_IMPL(CWebBrowserUI, GoBack)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			self->GoBack();
			return 0;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::GoBack"));
			return 0;
		}
	}
Пример #7
0
	LUA_METHOD_IMPL(CWebBrowserUI, Refresh2)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			int nLevel = lua_tointeger(l,2);
			self->Refresh2(nLevel);
			return 0;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::Refresh2"));
			return 0;
		}
	}
Пример #8
0
void main_frame::OnPrepare( TNotifyUI& msg )
{

	m_weiboManage.StartUp();
	m_layoutManage.SetPaintManage(&m_PaintManager);

	//m_weiboManage.m_pLayoutManage = &m_layoutManage;

	m_weiboManage.UpdateUserProfile = std::tr1::bind(&CLayoutManage::UpdateUserProfile,&m_layoutManage,_1,_2,_3);
	m_weiboManage.UpdateUnread = std::tr1::bind(&CLayoutManage::UpdateUnread,&m_layoutManage,_1);
	m_weiboManage.UpdateTimelineList = std::tr1::bind(&CLayoutManage::UpdateTimelineList,&m_layoutManage,_1,_2,_3,_4,_5);

	CRichEditUI *pWeiboCotent = static_cast<CRichEditUI*>(m_PaintManager.FindControl(_T("weiboContent")));
	if (pWeiboCotent)
	{
		pWeiboCotent->OnEvent += MakeDelegate(this,&main_frame::OnWeiboContentEvent);
		pWeiboCotent->OnNotify += MakeDelegate(this,&main_frame::OnWeiboContentNotify);
		pWeiboCotent->SetAutoURLDetect();
	}

	CWebBrowserUI *pLoginWeb = static_cast<CWebBrowserUI*>(m_PaintManager.FindControl(_T("loginWnd")));

	if (m_weiboManage.CheckExistUser())
	{
		m_weiboManage.InitWeibo();
		pLoginWeb->SetVisible(false);
	}
	else
	{
		CWebBrowserUI *pLoginWeb = static_cast<CWebBrowserUI*>(m_PaintManager.FindControl(_T("loginWnd")));
		if (pLoginWeb)
		{
			m_pWebBrowserEventHander = new CMagiccWebBrowserEventHandler;
			m_pWebBrowserEventHander->SetMainFrame(this);
			pLoginWeb->SetWebBrowserEventHandler(m_pWebBrowserEventHander);
			pLoginWeb->NavigateUrl(_T("https://api.weibo.com/oauth2/authorize?client_id=397065771&response_type=code&redirect_uri=www.baidu.com"));
		}
	}

	CLabelUI *pUnreadTimeline = static_cast<CLabelUI*>(m_PaintManager.FindControl(_T("unreadTimelineCount")));
	if (pUnreadTimeline)
	{
		pUnreadTimeline->OnEvent += MakeDelegate(this,&main_frame::OnRefreshUnReadTimeline);
		m_PaintManager.SetTimer(pUnreadTimeline,1,1000*10);
	}

}
Пример #9
0
	LUA_METHOD_IMPL(CWebBrowserUI, GetHomePage)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			CDuiString pstrText = self->GetHomePage();

			lua_op_t<CDuiString>::push_stack(l, pstrText);
			return 1;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::GetHomePage"));
			return 0;
		}
	}
Пример #10
0
	LUA_METHOD_IMPL(CWebBrowserUI, Navigate2)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			CDuiString pstrText;
			lua_op_t<CDuiString>::lua_to_value(l, 2, pstrText);

			self->Navigate2(pstrText);
			return 0;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::Navigate2"));
			return 0;
		}
	}
Пример #11
0
	IMPL_LUA_FUNC(LuaCWebBrowserUI, SetHomePage)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			CDuiString pstrText;
			lua_op_t<CDuiString>::lua_to_value(l, 2, pstrText);

			self->SetHomePage(pstrText);
			return 0;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::SetHomePage"));
			return 0;
		}
	}
Пример #12
0
	LUA_METHOD_IMPL(CWebBrowserUI, SetAutoNavigation)
	{
		try
		{
			CWebBrowserUI* self;
			self = static_cast<CWebBrowserUI*>(LuaStatic::CheckUserData(l, 1));
			bool bAuto = true;
			if(!lua_isnone(l,2))
				bAuto = lua_toboolean(l,2) != 0;
			self->SetAutoNavigation(bAuto);
			return 0;
		}
		catch (...)
		{
			DuiException(_T("LuaCWebBrowserUI::SetAutoNavigation"));
			return 0;
		}
	}
Пример #13
0
void CVideoFrame::OnPrepare(TNotifyUI& msg)
{
	CVerticalLayoutUI* pVideoLayoutUI = static_cast<CVerticalLayoutUI*>(m_PaintManager.FindControl(_T("videoViewLayout")));

	if (pVideoLayoutUI)
	{
		CDuiRect rcWindow;
		GetWindowRect(m_hWnd, &rcWindow);
		rcWindow.top += 80;
		LONG height = rcWindow.bottom - rcWindow.top;
		LONG width = rcWindow.right - rcWindow.left;

		int nControlWidth = pVideoLayoutUI->GetFixedWidth();//pActiveXUI->GetWidth();
		int nControlHeight = pVideoLayoutUI->GetFixedHeight();//pActiveXUI->GetHeight();
		RECT posRect;
		posRect = rcWindow;
		posRect.top = (height - nControlHeight)/2;
		posRect.left= (width - nControlWidth) /2;
		posRect.bottom = posRect.top + nControlHeight;
		posRect.right = posRect.left + nControlWidth;

		pVideoLayoutUI->SetVisible(true);
		pVideoLayoutUI->SetPos(posRect);
	}
	
	CWebBrowserUI* pActiveXUI = static_cast<CWebBrowserUI*>(m_PaintManager.FindControl(_T("htmlView")));
	if( pActiveXUI ) 
	{
		pActiveXUI->SetVisible(true);

		pActiveXUI->SetDelayCreate(true);
		CWebEventHandlerEx *pWebHandle = new CWebEventHandlerEx;
		pActiveXUI->SetWebBrowserEventHandler(pWebHandle);
		//这行代码,如果注释掉,就不会去掉边框,IE有bug,第二次加载网页才会让事件处理器有效
		pActiveXUI->Navigate2(L"about:blank");    

		std::wstring strHtml = CPaintManagerUI::GetInstancePath() + _T("UIRes\\html\\video.html");
		pActiveXUI->Navigate2(strHtml.c_str());
		//pActiveXUI->Navigate2(L"http://www.baidu.com/");
	}
}
Пример #14
0
int CMainWnd::CreateNewTab(int nIndex, LPCTSTR pstrUrl)
{
	TabInfo* pInfo = new TabInfo();
	pInfo->nID = m_nTabID++;
	
	CBrowserTab* pTab = new CBrowserTab();
	pTab->SetName(_T("browsertab"));
	m_pBrowserTabBar->AddAt(pTab, nIndex);
	pTab->SetAttribute(_T("style"), _T("tabbtn_style"));

	CWebBrowserUI* pWeb = new CWebBrowserUI();
	m_pBrowserTabBody->AddAt(pWeb, nIndex);
	pWeb->SetHomePage(_T("about:blank"));
	pWeb->SetAutoNavigation(true);
	pWeb->SetDelayCreate(false);
	pWeb->SetWebBrowserEventHandler(this);

	if(pstrUrl == NULL) {
		lstrcpy(pInfo->szUrl, _T("about:blank"));
		lstrcpy(pInfo->szTitle, _T("空白页"));
		pTab->SetText(_T("空白页"));
	}
	else {
		lstrcpy(pInfo->szUrl, pstrUrl);
		lstrcpy(pInfo->szTitle, pstrUrl);
		pTab->SetText(pstrUrl);
		pWeb->Navigate2(pstrUrl);
	}

	pInfo->pTab = pTab;
	pInfo->pWebBrowser = pWeb;

	m_vTabs.push_back(pInfo);

	return nIndex;
}
Пример #15
0
void CMainWnd::Refresh()
{
	CWebBrowserUI* pWeb = GetCurWeb();
	pWeb->Refresh();
}
Пример #16
0
void CMainWnd::Home()
{
	CWebBrowserUI* pWeb = GetCurWeb();
	pWeb->Navigate2(sHomePage);
}
Пример #17
0
void CMainWnd::Forward()
{
	CWebBrowserUI* pWeb = GetCurWeb();
	pWeb->GoForward();
}
Пример #18
0
void CMainWnd::Back()
{
	CWebBrowserUI* pWeb = GetCurWeb();
	pWeb->GoBack();
}
Пример #19
0
void CMainWnd::AddressGo()
{
	CDuiString sUrl = m_pAddressEdit->GetText();
	CWebBrowserUI* pWeb = GetCurWeb();
	pWeb->Navigate2(sUrl);
}