⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 orcselview.cpp

📁 同样自己做的 还不错哦 Symbian的 上面没找到分类
💻 CPP
字号:
/* Copyright (c) 2007, Nokia. All rights reserved */

#include <akntitle.h>
#include <eikmenup.h> 
#include "orcerAppUi.h"
#include "ORCSelView.h"
#include "ORCSelContainer.h"
#include "orcer.hrh"
#include "orcer.rsg"
#include "ORCOperBook.h"

CORCSelView* CORCSelView::NewL()
{
    CORCSelView* self = NewLC();
    CleanupStack::Pop(self);
    return self;
}

CORCSelView* CORCSelView::NewLC()
{
    CORCSelView* self = new (ELeave) CORCSelView();
    CleanupStack::PushL(self);
    self->ConstructL();
    return self;
}

void CORCSelView::ConstructL()
{
	BaseConstructL(R_SEL_VIEW);
}

CORCSelView::CORCSelView()
{
	m_pAppContainer = NULL;
}


CORCSelView::~CORCSelView()
{
	
}

TUid CORCSelView::Id() const
{
	return TUid::Uid(EORCSelViewID);
}

void CORCSelView::HandleCommandL(TInt aCommand)
{
	switch(aCommand) {
	case EORCSelViewID: //标记
		{
		
		aKenny = 0;
		AppUi()->ActivateLocalViewL(TUid::Uid(EORCSelViewID));
		}
		break;
	case EAknCmdMark:
	case EAknMarkAll:
		{		
		aKenny = 1;
		m_pAppContainer->HandleMarkCommandL(aCommand);
		}
		break;
	case EAknCmdUnmark:
	case EAknUnmarkAll:
		m_pAppContainer->HandleMarkCommandL(aCommand);
		break;
	case EORCERCommandSer://以服务器内容为准
		{
			
			m_pAppContainer->GetListInfo();
			m_pOperBook->SetBookID(m_pAppContainer->GetListBoxIndex());
			m_pOperBook->DoAssem();
			m_pOperBook->Notarize();		
//			AppUi()->ActivateLocalViewL(TUid::Uid(EORCSelViewID));
		}
		break;
	case EORCERCommandPhone://以手机名片为准
		m_pAppContainer->GetListInfo();
		m_pOperBook->SetBookID(m_pAppContainer->GetListBoxIndex());
		m_pOperBook->DoAssem();
		m_pOperBook->Notarize();
//		AppUi()->ActivateLocalViewL(TUid::Uid(EORCSelViewID));
		break;
	case EAknSoftkeyBack:
		AppUi()->ActivateLocalViewL(TUid::Uid(EORCFunViewID));
		break;
	default:
		AppUi()->HandleCommandL(aCommand);
		break;
	}
	
}

void CORCSelView::HandleClientRectChange()
{

}

void CORCSelView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&)
{

	m_pAppContainer = new( ELeave ) CORCSelContainer();
	m_pAppContainer->SetMopParent(this);
	m_pAppContainer->ConstructL( TRect(TPoint(0, 44), TSize(176, 144)) );	
	AppUi()->AddToStackL( *this, m_pAppContainer );
//	this->GetInfoFromBook();

	//setTitle	
	TBuf<32> buf;
	CEikonEnv::Static()->ReadResource(buf, R_RECORD_SEL);
	CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
	CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
	tp->SetTextL(buf);


//	add listbox
	TInt iBookLength= m_pOperBook->GetFirstName().Count();
	for (TInt i = 0; i < iBookLength; i++ )
	{
		TBuf<20> sName;
		if ((m_pOperBook->GetFirstName())[i] != NULL)
			
			sName.Copy((m_pOperBook->GetFirstName())[i]->Des() );
		else

			sName.Copy(NULL);

		if ((m_pOperBook->GetLastName())[i]  != NULL)
			sName.Append((m_pOperBook->GetLastName())[i]->Des() ); 
		else
			sName.Append(NULL);

		m_pAppContainer->addInfotolist(_L("1"),sName);
    	}
}

void CORCSelView::DoDeactivate()
{
	if(m_pAppContainer)
	{
		AppUi()->RemoveFromStack( m_pAppContainer );
		delete m_pAppContainer;
		m_pAppContainer = NULL;
 	}
}

// 动态CBA
void CORCSelView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
{
	if (aKenny == 0) {
		if(aResourceId == R_SEL_VIEW_MENU_PANE) 
		{		
			aMenuPane->SetItemDimmed(EMarkableListCmdMark , EFalse); 
			aMenuPane->SetItemDimmed(EORCERCommandSer , ETrue);
			aMenuPane->SetItemDimmed(EORCERCommandPhone, ETrue);
		}
	}
	else if (aKenny == 1) 
	{
		if(aResourceId == R_SEL_VIEW_MENU_PANE) 
		{		
			aMenuPane->SetItemDimmed(EMarkableListCmdMark , EFalse); 
			aMenuPane->SetItemDimmed(EORCERCommandSer , EFalse);
			aMenuPane->SetItemDimmed(EORCERCommandPhone, EFalse);
		}
	}	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -