📄 pbitemview.cpp.bak
字号:
/*
* ============================================================================
* Name : CPBItemView from CAknView
* Part of : PBItemView
* Copyright (c) 2003 Nokia. All rights reserved.
* ============================================================================
*/
// INCLUDE FILES
#include <aknviewappui.h>
#include <avkon.hrh>
#include <FunZone.rsg>
#include "FunZone.hrh"
#include "PBItemView.h"
#include "PBItemContainer.h"
#include "FunZoneAppUi.h"
#include "PBListView.h"
//#include <eikspane.h>
#include <eikbtgpc.h>
// ================= MEMBER FUNCTIONS =======================
// C++ default constructor can NOT contain any code, that
// might leave.
//
CPBItemView* CPBItemView::NewL()
{
CPBItemView* self = NewLC();
CleanupStack::Pop(self);
return self;
}
CPBItemView* CPBItemView::NewLC()
{
CPBItemView* self = new (ELeave) CPBItemView;
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
CPBItemView::CPBItemView()
{
i_pPBInfo =NULL;
iContainer=NULL;
}
// EPOC default constructor can leave.
void CPBItemView::ConstructL()
{
BaseConstructL(R_ITEM_VIEW);
}
// Destructor
CPBItemView::~CPBItemView()
{
}
// ---------------------------------------------------------
// TUid CPBItemView::Id()
// Returns Id of the view.
// ---------------------------------------------------------
TUid CPBItemView::Id() const
{
return KPBItemViewID;
}
// ---------------------------------------------------------
// CPBItemView::HandleCommandL(TInt aCommand)
// Handles commands
// ---------------------------------------------------------
void CPBItemView::HandleCommandL(TInt aCommand)
{
switch(aCommand)
{
case EFZoneCMDConfirm:
{
if(EPBCreate==i_Flag)
{
CreateNewContact();
}
if(EPBEdit==i_Flag)
{
ModifyContact();
}
AppUi()->ActivateLocalViewL(KPBListViewID);
break;
}
case EFZoneCMDBack:
{
AppUi()->ActivateLocalViewL(KPBListViewID);
break;
}
default:
{
AppUi()->HandleCommandL(aCommand);
break;
}
}
}
// ---------------------------------------------------------
// CPBItemView::HandleClientRectChange()
// Handles client rect change.
// ---------------------------------------------------------
void CPBItemView::HandleClientRectChange()
{
if (iContainer)
{
iContainer->SetRect(ClientRect());
}
}
// ---------------------------------------------------------
// CPBItemView::DoActivateL(...)
// Creates the Container class object.
// ---------------------------------------------------------
void CPBItemView::DoActivateL(const TVwsViewId& /*aPrevViewId*/,TUid /*aCustomMessageId*/,const TDesC8& /*aCustomMessage*/)
{
iContainer = new (ELeave) CPBItemContainer(i_pPBInfo);
iContainer->SetMopParent(this);
// StatusPane()->MakeVisible(EFalse);
// Cba()->MakeVisible(EFalse);
TRect rc;
rc.SetRect(ClientRect().iTl, TSize(176, 144));
iContainer->ConstructL(rc);
if(EPBOpen==i_Flag)
{
iContainer->SetEditReadOnly();
}
AppUi()->AddToStackL(*this, iContainer);
}
// ---------------------------------------------------------
// CPBItemView::DoDeactivate()
// Deletes the Container class object.
// ---------------------------------------------------------
void CPBItemView::DoDeactivate()
{
if (iContainer)
{
AppUi()->RemoveFromStack(iContainer);
delete iContainer;
iContainer = NULL;
}
}
void CPBItemView::CreateNewContact()
{
TBuf<16> sLastName ;
TBuf<16> sFirstName ;
TBuf<16> sTel ;
TBuf<16> sHomeTel ;
TBuf<16> sEmail ;
iContainer->GetLastName (sLastName) ;
iContainer->GetFirstName (sFirstName);
iContainer->GetTel (sTel) ;//手机
iContainer->GetHomeTel (sHomeTel) ;
iContainer->GetEmail (sEmail) ;
//若firstname、lastname、phonenumber同时都为空,则不添加新名片.
if ((sLastName.Length()==0) || (sTel.Length()==0) || (sFirstName.Length())==0)
{
return;
}
//创建一个名片对象,即一个条目/项.
// i_pPBInfo= CPBInfo::NewL();
//赋值
i_pPBInfo->SetLastName(sLastName);
i_pPBInfo->SetFirstName(sFirstName);
i_pPBInfo->SetTelephone(sHomeTel);
i_pPBInfo->SetHomeMobileNumber(sTel);//手机
i_pPBInfo->SetEmail(sEmail);
i_pPBInfo->SetItemID(-1);
}
void CPBItemView::ModifyContact()
{
TBuf<16> sLastName ;
TBuf<16> sFirstName ;
TBuf<16> sTel ;
TBuf<16> sHomeTel ;
TBuf<16> sEmail ;
iContainer->GetLastName (sLastName) ;
iContainer->GetFirstName (sFirstName);
iContainer->GetTel (sTel) ;//手机
iContainer->GetHomeTel (sHomeTel) ;
iContainer->GetEmail (sEmail) ;
//若firstname、lastname、phonenumber同时都为空,则不添加新名片.
if ((sLastName.Length()==0) || (sTel.Length()==0) || (sFirstName.Length())==0)
{
return;
}
i_pPBInfo->SetLastName(sLastName);
i_pPBInfo->SetFirstName(sFirstName);
i_pPBInfo->SetTelephone(sHomeTel);
i_pPBInfo->SetHomeMobileNumber(sTel);//手机
i_pPBInfo->SetEmail(sEmail);
}
void CPBItemView::SendMsg(CPBInfo* a_pPBInfo,TPBFlag a_Flag)
{
i_pPBInfo=a_pPBInfo;
i_Flag =a_Flag;
}
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -