Ejemplo n.º 1
0
	//************************************
	// 函数名称: OnCheckBoxChanged
	// 返回类型: bool
	// 参数信息: void * param
	// 函数说明: 
	//************************************
	bool CTreeViewUI::OnCheckBoxChanged( void* param )
	{
		TNotifyUI* pMsg = (TNotifyUI*)param;
		if(pMsg->sType == _T("selectchanged"))
		{
			CCheckBoxUI* pCheckBox = (CCheckBoxUI*)pMsg->pSender;
			CTreeNodeUI* pItem = (CTreeNodeUI*)pCheckBox->GetParent()->GetParent();
			SetItemCheckBox(pCheckBox->GetCheck(),pItem);
			return true;
		}
		return true;
	}
Ejemplo n.º 2
0
//************************************
// 函数名称: OnCheckBoxChanged
// 返回类型: bool
// 参数信息: void * param
// 函数说明:
//************************************
bool CTreeViewUI::OnCheckBoxChanged( void* param )
{
    TNotifyUI* pMsg = (TNotifyUI*)param;
    if(pMsg->sType == DUI_MSGTYPE_SELECTCHANGED)
    {
        CCheckBoxUI* pCheckBox = (CCheckBoxUI*)pMsg->pSender;
        CTreeNodeUI* pItem = (CTreeNodeUI*)pCheckBox->GetParent()->GetParent();
        SetItemCheckBox(pCheckBox->GetCheck(),pItem);
        return TRUE;
    }
    return TRUE;
}
Ejemplo n.º 3
0
	//************************************
	// 函数名称: OnFolderChanged
	// 返回类型: bool
	// 参数信息: void * param
	// 函数说明: 
	//************************************
	bool CTreeViewUI::OnFolderChanged( void* param )
	{
		TNotifyUI* pMsg = (TNotifyUI*)param;
		if(pMsg->sType == DUI_MSGTYPE_SELECTCHANGED) {
			CCheckBoxUI* pFolder = (CCheckBoxUI*)pMsg->pSender;
			CTreeNodeUI* pItem = (CTreeNodeUI*)pFolder->GetParent()->GetParent();
			pItem->SetVisibleTag(!pFolder->GetCheck());
			SetItemExpand(!pFolder->GetCheck(),pItem);
			return TRUE;
		}
		return TRUE;
	}
Ejemplo n.º 4
0
	//************************************
	// 函数名称: OnFolderChanged
	// 返回类型: bool
	// 参数信息: void * param
	// 函数说明: 
	//************************************
	bool CTreeViewUI::OnFolderChanged( void* param )
	{
		TNotifyUI* pMsg = (TNotifyUI*)param;
		if(pMsg->sType == _T("selectchanged"))
		{
			CCheckBoxUI* pFolder = (CCheckBoxUI*)pMsg->pSender;
			CTreeNodeUI* pItem = (CTreeNodeUI*)pFolder->GetParent()->GetParent();
			pItem->SetVisibleTag(!pFolder->GetCheck());
			SetItemExpand(!pFolder->GetCheck(),pItem);
			return true;
		}
		return true;
	}
Ejemplo n.º 5
0
	//************************************
	// 函数名称: OnDBClickItem
	// 返回类型: bool
	// 参数信息: void * param
	// 函数说明:
	//************************************
	bool CTreeViewUI::OnDBClickItem( void* param )
	{
		TNotifyUI* pMsg = (TNotifyUI*)param;
		if(_tcsicmp(pMsg->sType, DUI_MSGTYPE_TREEITEMDBCLICK) == 0) {
			CTreeNodeUI* pItem		= static_cast<CTreeNodeUI*>(pMsg->pSender);
			CCheckBoxUI* pFolder	= pItem->GetFolderButton();
			pFolder->Selected(!pFolder->IsSelected());
			pItem->SetVisibleTag(!pFolder->GetCheck());
			SetItemExpand(!pFolder->GetCheck(),pItem);
			return TRUE;
		}
		return FALSE;
	}
Ejemplo n.º 6
0
	//************************************
	// 函数名称: OnDBClickItem
	// 返回类型: bool
	// 参数信息: void * param
	// 函数说明:
	//************************************
	bool CTreeViewUI::OnDBClickItem( void* param )
	{
		TNotifyUI* pMsg = (TNotifyUI*)param;
		if(pMsg->sType == _T("itemdbclick"))
		{
			CTreeNodeUI* pItem		= static_cast<CTreeNodeUI*>(pMsg->pSender);
			CCheckBoxUI* pFolder	= pItem->GetFolderButton();
			pFolder->Selected(!pFolder->IsSelected());
			pItem->SetVisibleTag(!pFolder->GetCheck());
			SetItemExpand(!pFolder->GetCheck(),pItem);
			return true;
		}
		return false;
	}
Ejemplo n.º 7
0
 void CLoginWindow::OnLogin()
 {
	 CString strUserName,strUserPassword;

	 CControlUI *pEmailEdit,*pPasswordEdit;
	 pEmailEdit    = GetPaintMgr()->FindControl(_T("email"));
	 pPasswordEdit = GetPaintMgr()->FindControl(_T("password"));

	 if(!pEmailEdit || !pPasswordEdit)
		 return;

	 strUserName     = pEmailEdit->GetText();
	 strUserPassword = pPasswordEdit->GetText();

	 if(strUserName.IsEmpty())
	 {
		 CInfoWindow::ShowInfoWindow(this->m_hWnd,pEmailEdit->GetPos(),_T("Óû§Ãû²»ÄÜΪ¿Õ!!!"));
		 pEmailEdit->SetFocus();
		 return;
	 }

	 if(strUserPassword.IsEmpty())
	 {
		 CInfoWindow::ShowInfoWindow(this->m_hWnd,pPasswordEdit->GetPos(),_T("ÃÜÂë²»ÄÜΪ¿Õ!!!"));
		 pPasswordEdit->SetFocus();
		 return;
	 }

	 bool isChecked = false;
	 CControlUI *pCheckBox   = GetPaintMgr()->FindControl(_T("KeepLogin"));
	 CCheckBoxUI *pKeepLogin = static_cast<CCheckBoxUI*>(pCheckBox);

	 if(pCheckBox)
	 {
		 if (pKeepLogin)
		 {
			  isChecked = pKeepLogin->IsSelected();
		 }
	 }

	 strUserPassword = em_utility::mci::Htmlspecialchars(strUserPassword);
	 this->Login(strUserName,strUserPassword,false,isChecked);
 }
Ejemplo n.º 8
0
/*
void CLoginWindow::OnWebService(void *pRequest ,void *pProto)
{
	url::CRequest *theRequest = (url::CRequest *)pRequest;
	LogonUserInfoT * theUser = static_cast<LogonUserInfoT*>(pProto);
	if(url::WSRT_LOGIN != theRequest->GetRequestType() &&
		url::WSRT_WEBLOGIN != theRequest->GetRequestType())
 		return;
	CControlUI *pCtl = GetPaintMgr()->FindControl(_T("login"));
	CButtonUI  *pLoginBtn = static_cast<CButtonUI*>(pCtl);
 	if(theRequest->IsTimeOut())
	{
		if(pLoginBtn)
			CInfoWindow::ShowInfoWindow(this->m_hWnd,pLoginBtn->GetPos(),_T("µÇ¼³¬Ê±£¬ÇëÖØÊÔ¡£"));
		EnableWindow(TRUE);
		return;
	}
	spLogonUserInfoT  spLogonUserInfo(new LogonUserInfoT(*theUser));
	
	if (!spLogonUserInfo)
	{	
		if(pLoginBtn)
			CInfoWindow::ShowInfoWindow(this->m_hWnd,pLoginBtn->GetPos(),_T("      µÇ¼ʧ°Ü£¬Óû§Ãû»òÃÜÂë´íÎó!      "));
		EnableWindow(TRUE);
		return ;
	}
 	{	
		if(url::WSRT_WEBLOGIN != theRequest->GetRequestType())
		{
			spLogonUserInfo->sLogonEmail = m_sUserName;
			spLogonUserInfo->sPasswordMD5 = m_sPasswordMd5;
			//spLogonUserInfo->bKeepLogged = !!m_isKeepLogin;
		}else 
		{
			assert(!spLogonUserInfo->sLogonEmail.IsEmpty());
			assert(!spLogonUserInfo->sPasswordMD5.IsEmpty());
			//spLogonUserInfo->bKeepLogged = true;
		}

		CControlUI *pCheckBox   = GetPaintMgr()->FindControl(_T("KeepLogin"));
		CCheckBoxUI *pKeepLogin = static_cast<CCheckBoxUI*>(pCheckBox);
		bool autoLogin = pKeepLogin->GetCheck();
// 		if (url::WSRT_WEBLOGIN == pRequest->GetRequestType())
// 			autoLogin = true;
	    theConfigMgr->GetNormalConfig()->EnableAutoLogin(autoLogin);
		theConfigMgr->GetNormalConfig()->Save();


		if(theDbMgr->GetGlobalDBase()->GetUserInfo(mci::unicode_2_utf8(spLogonUserInfo->sUserID).c_str()))
			theDbMgr->GetGlobalDBase()->UpdateUserInfo(spLogonUserInfo);
		else
			theDbMgr->GetGlobalDBase()->AddUserInfo(spLogonUserInfo);

		theRuntimeState->SetUserInfo(spLogonUserInfo);	

		RECT rtWin;
		::GetWindowRect(theMainWin->GetHWND(),&rtWin);
		POINT rtPos = {rtWin.left+25,rtWin.top+35};
		::ScreenToClient(theMainWin->GetHWND(),&rtPos);

		CInfoWindow::ShowInfoWindow(theMainWin->GetHWND(),rtPos,_T("                           µÇ¼³É¹¦                           "));

		Close(IDOK);
	}

//	CurlData* pdata = (CurlData*)pRequest;
//	int* nRet = (int*)pProto;
}
*/
void CLoginWindow::OnWebService(void *pRequest ,void *pProto)
{
	CControlUI *pCtl = GetPaintMgr()->FindControl(_T("login"));
	CButtonUI  *pLoginBtn = static_cast<CButtonUI*>(pCtl);
	CurlData* pdata = (CurlData*)pRequest;
	int* nRet = (int*)pProto;
	if (!pdata)
	{
		CInfoWindow::ShowInfoWindow(this->m_hWnd,pLoginBtn->GetPos(),_T("      µÇ¼ʧ°Ü£¬´íÎóÀàÐÍ[δ֪]!      "));
		EnableWindow(TRUE);
		return;
	}
	if(url::WSRT_LOGIN != pdata->n_type &&
		url::WSRT_WEBLOGIN != pdata->n_type)
	{
		CInfoWindow::ShowInfoWindow(this->m_hWnd,pLoginBtn->GetPos(),_T("      µÇ¼ʧ°Ü£¬´íÎóÀàÐÍ[·ÇWSRT_LOGIN]!      "));
		EnableWindow(TRUE);
		return;
	}

	static CResponseParser2 Parser;
	std::string xmlbuf;
	xmlbuf.assign(pdata->buffer);
	//	assert(!xmlbuf.empty());
	std::string bufLog = mci::utf8_2_ansi(xmlbuf.c_str());
	sLogWarn(bufLog.c_str());
	//modify by dfn.li 2014-01-17
	if(bufLog[0] == '?')
	{
		bufLog = bufLog.substr(1);
	}
	xmlbuf = mci::ansi_2_utf8(bufLog.c_str());

	int t_begin = clock();
	void *pResponse = NULL;
	pResponse = Parser.Parse(pdata->n_type,xmlbuf);
	int t_time = clock() - t_begin;

	LogonUserInfoT * theUser = static_cast<LogonUserInfoT*>(pResponse);
	if (!theUser)
	{
		if(pLoginBtn)
			CInfoWindow::ShowInfoWindow(this->m_hWnd,pLoginBtn->GetPos(),_T("      µÇ¼ʧ°Ü£¬Óû§Ãû»òÃÜÂë´íÎó!      "));
		EnableWindow(TRUE);
		return ;
	}
// 	if(theRequest->IsTimeOut())
// 	{
// 		if(pLoginBtn)
// 			CInfoWindow::ShowInfoWindow(this->m_hWnd,pLoginBtn->GetPos(),_T("µÇ¼³¬Ê±£¬ÇëÖØÊÔ¡£"));
// 		EnableWindow(TRUE);
// 		return;
// 	}
	spLogonUserInfoT  spLogonUserInfo(new LogonUserInfoT(*theUser));

	if (!spLogonUserInfo)
	{	
		if(pLoginBtn)
			CInfoWindow::ShowInfoWindow(this->m_hWnd,pLoginBtn->GetPos(),_T("      µÇ¼ʧ°Ü£¬Óû§Ãû»òÃÜÂë´íÎó!      "));
		EnableWindow(TRUE);
		return ;
	}
	{	
		if(url::WSRT_WEBLOGIN != pdata->n_type)
		{
			spLogonUserInfo->sLogonEmail = m_sUserName;
			spLogonUserInfo->sPasswordMD5 = m_sPasswordMd5;
			//spLogonUserInfo->bKeepLogged = !!m_isKeepLogin;
		}else 
		{
			assert(!spLogonUserInfo->sLogonEmail.IsEmpty());
			assert(!spLogonUserInfo->sPasswordMD5.IsEmpty());
			//spLogonUserInfo->bKeepLogged = true;
		}

		CControlUI *pCheckBox   = GetPaintMgr()->FindControl(_T("KeepLogin"));
		CCheckBoxUI *pKeepLogin = static_cast<CCheckBoxUI*>(pCheckBox);
		bool autoLogin = pKeepLogin->GetCheck();
		// 		if (url::WSRT_WEBLOGIN == pRequest->GetRequestType())
		// 			autoLogin = true;
		theConfigMgr->GetNormalConfig()->EnableAutoLogin(autoLogin);
		theConfigMgr->GetNormalConfig()->Save();


		if(theDbMgr->GetGlobalDBase()->GetUserInfo(mci::unicode_2_utf8(spLogonUserInfo->sUserID).c_str()))
			theDbMgr->GetGlobalDBase()->UpdateUserInfo(spLogonUserInfo);
		else
			theDbMgr->GetGlobalDBase()->AddUserInfo(spLogonUserInfo);

		theRuntimeState->SetUserInfo(spLogonUserInfo);	

		RECT rtWin;
		::GetWindowRect(theMainWin->GetHWND(),&rtWin);
		POINT rtPos = {rtWin.left+25,rtWin.top+35};
		::ScreenToClient(theMainWin->GetHWND(),&rtPos);

		CInfoWindow::ShowInfoWindow(theMainWin->GetHWND(),rtPos,_T("                           µÇ¼³É¹¦                           "));
		EnableWindow(TRUE);
		Close(IDOK);
	}

}
Ejemplo n.º 9
0
LRESULT CLoginWindow::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	sLog("CLoginWindow::OnCreate");

	ModifyStyle(WS_CAPTION,WS_CLIPSIBLINGS | WS_CLIPCHILDREN);
	if(!RegisterSkin(_T("login.xml")))
		return 0;
	GetPaintMgr()->AddNotifier(this);
	
	
	theMainWin->BroadCast();

	typedef struct _tagKeyValue_
	{
		const TCHAR*   key;
		CString&       svalue;
	}KeyValue;
	KeyValue keyValues[] = 
	{
		{_T("regURL"),m_regURL},
		{_T("forGetPasswordURL"),m_forgetURL},
		{_T("sinaLoginURL"),m_sinURL},
		{_T("qqLoginURL"),m_qqURL},
		{_T("webLoginSucceedURL"),m_webLoginSucceedURL}
	};
	for (size_t i = 0;i<sizeof(keyValues)/sizeof(keyValues[0]);++i)
		theDbMgr->GetGlobalDBase()->GetDictValue(keyValues[i].key,keyValues[i].svalue);

	if(m_regURL.IsEmpty())
		m_regURL.Format(_T("%s/member/register"),XIAMI_HOST);
	if(m_forgetURL.IsEmpty())
		m_forgetURL.Format(_T("%s/member/getpassword"),XIAMI_HOST);
	if(m_sinURL.IsEmpty())
		m_sinURL.Format(_T("%s/app/xiating/weibo"),XIAMI_HOST);
	if(m_qqURL.IsEmpty())
		m_qqURL.Format(_T("%s/app/xiating/qzone"),XIAMI_HOST);
	if(m_webLoginSucceedURL.IsEmpty())
		m_webLoginSucceedURL.Format(_T("%s/login/succeed?t="),XIAMI_HOST);
	theDbMgr->GetGlobalDBase()->BeginTransaction();
	for (size_t i = 0;i<sizeof(keyValues)/sizeof(keyValues[0]);++i)
	{
		theDbMgr->GetGlobalDBase()->DeleteDict(keyValues[i].key);
		theDbMgr->GetGlobalDBase()->InsertDict(keyValues[i].key,keyValues[i].svalue);
	}
	theDbMgr->GetGlobalDBase()->Commit();

	CControlUI *pCheckBox   = GetPaintMgr()->FindControl(_T("KeepLogin"));
	CCheckBoxUI *pKeepLogin = static_cast<CCheckBoxUI*>(pCheckBox);
	bool autoLogin = theConfigMgr->GetNormalConfig()->IsEnableAutoLogin();
	pKeepLogin->SetCheck(autoLogin);
	//ÓÃÓÚÌáʾ
// 	CString strs[] = 
// 	{_T("@hotmail.com"),
// 	_T("@gamil.com"),
// 	_T("@weibo.com"),
// 	_T("@qq.com"),
// 	_T("@sina.com"),
// 	_T("@xiami.com"),
// 	_T("@163.com"),
// 	_T("@126.com"),
// 	_T("@yahoo.com"),
// 	_T("@yahoo.cn"),
// 	_T("@139.com")};

	return 0;
}
Ejemplo n.º 10
0
int main() {
	Screen::Instance().Open(800, 600, false);

	//Entity
	Image * alienImg = ResourceManager::Instance().LoadImage("data/alien.png");
	alienImg->SetMidHandle();
	CEntity entity(alienImg);
	entity.GetSprite()->SetPosition(350, 340);

	CEntity entity2(alienImg);
	entity2.GetSprite()->SetPosition(700, 300);

	//Windows
	Image * backgroundImg = ResourceManager::Instance().LoadImage("data/background.jpg");
	Image * windowImg = ResourceManager::Instance().LoadImage("data/window4.png");

	//button Imgs
	Image * buttonImgDefault = ResourceManager::Instance().LoadImage("data/button_default.png");
	buttonImgDefault->SetMidHandle();
	Image * buttonImgOnClick = ResourceManager::Instance().LoadImage("data/button_onclick.png");
	buttonImgOnClick->SetMidHandle();
	Image * buttonImgInactive = ResourceManager::Instance().LoadImage("data/button_inactive.png");
	buttonImgInactive->SetMidHandle();

	//checkbox Imgs
	Image * checkboxImgDefault = ResourceManager::Instance().LoadImage(
	"data/checkbox_disabled.png");
	checkboxImgDefault->SetMidHandle();
	Image * checkboxImgOnClick = ResourceManager::Instance().LoadImage(
	"data/checkbox_enabled.png");
	checkboxImgOnClick->SetMidHandle();

	//slider Imgs
	Image * sliderBallImg = ResourceManager::Instance().LoadImage("data/slider_ball.png");	
	sliderBallImg->SetHandle(
		static_cast<float>(sliderBallImg->GetWidth() * sliderBallImg->GetHFrames() / 2),
		static_cast<float>(sliderBallImg->GetHeight() * sliderBallImg->GetVFrames()));
	
	Image * sliderBarImg = ResourceManager::Instance().LoadImage("data/slider_bar.png");
	sliderBarImg->SetHandle(0,
		static_cast<float>(sliderBarImg->GetHeight() * sliderBarImg->GetVFrames()));
	
	Image * sliderLeftDefaultImg = ResourceManager::Instance().LoadImage(
		"data/slider_left_default.png");
	sliderLeftDefaultImg->SetMidHandle();
	
	Image * sliderRightDefaultImg = ResourceManager::Instance().LoadImage(
		"data/slider_right_default.png");
	sliderRightDefaultImg->SetMidHandle();
	
	Image * sliderLeftOnClickImg = ResourceManager::Instance().LoadImage(
		"data/slider_left_onclick.png");
	sliderLeftOnClickImg->SetMidHandle();
	
	Image * sliderRightOnClickImg = ResourceManager::Instance().LoadImage(
		"data/slider_right_onclick.png");
	sliderRightOnClickImg->SetMidHandle();

	//Input & Control managers
	CInputManager * inputManager = &CInputManager::Instance();

	assert(inputManager != nullptr);

	CControlManagerUI controlManager;

	controlManager.Init();

	String str;
	//Controls
	CWindowUI background;
	background.Init(0, 0, backgroundImg);
	background.SetId(0);
	controlManager.AddControl(&background);

	CWindowUI windowSlider;
	windowSlider.Init(100, 0, windowImg);
	windowSlider.SetId(1);
	controlManager.AddControl(&windowSlider);

	CButtonUI button;
	button.Init(350, 80, buttonImgDefault, buttonImgOnClick, buttonImgInactive);
	button.SetId(0);
	str = "Inactive";
	button.SetText(str);
	controlManager.AddControl(&button);
	button.SetCurrentState(EGUICS_INACTIVE);

	CButtonUI button2;
	button2.Init(350, 140, buttonImgDefault, buttonImgOnClick, buttonImgInactive);
	button2.SetId(1);
	str = "Click";
	button2.SetText(str);
	controlManager.AddControl(&button2);

	CSliderUI slider;
	slider.Init(200, 400, 0, 10, sliderBarImg, sliderBallImg, sliderLeftDefaultImg,
		sliderLeftOnClickImg, sliderRightDefaultImg, sliderRightOnClickImg);
	slider.SetId(0);
	controlManager.AddControl(&slider);

	CCheckBoxUI checkbox;
	checkbox.Init(300, 220, checkboxImgDefault, checkboxImgOnClick);
	checkbox.SetId(0);

	CCheckBoxUI checkbox2;
	checkbox2.Init(340, 220, checkboxImgDefault, checkboxImgOnClick);
	checkbox2.SetId(1);

	CCheckBoxUI checkbox3;
	checkbox3.Init(380, 220, checkboxImgDefault, checkboxImgOnClick);
	checkbox3.SetId(2);

	CCheckBoxGroup cbGroup;
	cbGroup.Init();
	cbGroup.AddControl(&checkbox);
	cbGroup.AddControl(&checkbox2);
	cbGroup.AddControl(&checkbox3);
	controlManager.AddControl(&cbGroup);
	cbGroup.AddEventListener(&entity);

	checkbox.SetCurrentState(EGUICS_ONCLICK);

	button2.AddEventListener(&entity);
	slider.AddEventListener(&entity);
	entity.GetSprite()->SetColor(entity.GetSprite()->GetRed(), entity.GetSprite()->GetGreen(),
		entity.GetSprite()->GetBlue(), 0);
	/*entity.Register(EEC_MOUSE, EME_LMB_PRESS);
	entity.Register(EEC_MOUSE, EME_LMB_RELEASE);
	entity.Register(EEC_MOUSE, EME_LMB_CLICK);
	entity.Register(EEC_MOUSE, EME_RMB_PRESS);
	entity.Register(EEC_KEYBOARD, EKE_SPACE);*/
	entity2.Register(EEC_MOUSE, EME_LMB_DRAG);

	Renderer::Instance().SetBlendMode(Renderer::BlendMode::ALPHA);

	while (Screen::Instance().IsOpened() && !Screen::Instance().KeyPressed(GLFW_KEY_ESC)) {
		Renderer::Instance().Clear();

		inputManager->Update();

		controlManager.Update();
		controlManager.Render();

		entity.GetSprite()->Update(Screen::Instance().ElapsedTime());
		entity.GetSprite()->Render();

		entity2.GetSprite()->Update(Screen::Instance().ElapsedTime());
		entity2.GetSprite()->Render();

		Screen::Instance().Refresh();
	}

	ResourceManager::Instance().FreeResources();
}