📄 bookinfoview.cpp
字号:
/*
* ============================================================================
* Name : CBookInfoView from CAknView
* Part of : Hello
* Copyright (c) 2003 Nokia. All rights reserved.
* ============================================================================
*/
// INCLUDE FILES
#include <aknviewappui.h>
#include <avkon.hrh>
#include <EveryDay.rsg>
#include "EveryDay.hrh"
#include "BookInfoView.h"
#include "BookInfoContainer.h"
#include "EveryDayAppUi.h"
#include "TelBookView.h"
#include <avkon.hrh>
#include <aknnotewrappers.h> // CAknErrorNote, CAknInformationNote
#include <eikmenup.h>
#include <akncontext.h> //for CAknContextPane
#include <akntitle.h> //for CAknTitlePane
#include <aknnotewrappers.h>
#include <EveryDay.mbg>
#include "PHKServerBookEngine.h"
#include <eikenv.h>
#include <e32def.h>
#include <charconv.h>
#include <utf.h>
class MSendInfo;
// ================= MEMBER FUNCTIONS =======================
// C++ default constructor can NOT contain any code, that
// might leave.
//
CBookInfoView* CBookInfoView::NewL()
{
CBookInfoView* self = NewLC();
CleanupStack::Pop(self);
return self;
}
CBookInfoView* CBookInfoView::NewLC()
{
CBookInfoView* self = new (ELeave) CBookInfoView;
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
CBookInfoView::CBookInfoView()
{
}
// EPOC default constructor can leave.
void CBookInfoView::ConstructL()
{
//BaseConstructL(R_HELLO_VIEW);
BaseConstructL(R_BOOK_VIEW);
}
// Destructor
CBookInfoView::~CBookInfoView()
{
}
// ---------------------------------------------------------
// TUid CBookInfoView::Id()
// Returns Id of the view.
// ---------------------------------------------------------
TUid CBookInfoView::Id() const
{
return KViewId11;
}
// ---------------------------------------------------------
// CBookInfoView::HandleCommandL(TInt aCommand)
// Handles commands
// ---------------------------------------------------------
void CBookInfoView::HandleCommandL(TInt aCommand)
{
switch(aCommand)
{
case ENewinfo:
{
if (nMenu == 0)
{
TBuf<16>strFirstname;
TBuf<16>StrLastname;
TBuf<16>StrTelphone;
iContainer->GetEditInfo(strFirstname,StrLastname,StrTelphone);
if (strFirstname.Length() != 0 && StrLastname.Length() !=0 && StrTelphone.Length() != 0)
{
CBookInfo* ptelbookInfo = NULL;
ptelbookInfo = CBookInfo::NewL();
ptelbookInfo->SetFirstName(strFirstname);
ptelbookInfo->SetLastName(StrLastname);
ptelbookInfo->SetTelephone(StrTelphone);
ptelbookInfo->SetItemID(-1);
m_pBookArray->Append(ptelbookInfo);
AppUi()->ActivateLocalViewL(KViewId10);
// delete ptelbookInfo;
}
else
{
TBuf<16> empty;
empty.Copy(_L("no empty"));
//CEikonEnv::Static()->ReadResource(empty,R_MESSAGE_EMPTY);
CAknInformationNote* note = new (ELeave) CAknInformationNote;
note->ExecuteLD(empty);
break;
}
}
if(nMenu == 2)
{
TBuf<16>strFirstname;
TBuf<16>StrLastname;
TBuf<16>StrTelphone;
iContainer->GetEditInfo(strFirstname,StrLastname,StrTelphone);
CBookInfo* telbookInfo = CBookInfo::NewL();
telbookInfo->SetFirstName(strFirstname);
telbookInfo->SetLastName(StrLastname);
telbookInfo->SetTelephone(StrTelphone);
telbookInfo->SetItemID(-1);
m_pBookArray->Append(telbookInfo);
AppUi()->ActivateLocalViewL(KViewId10);
}
break;
}
case EAknSoftkeyBack:
AppUi()->ActivateLocalViewL(KViewId10);
break;
default:
{
AppUi()->HandleCommandL(aCommand);
break;
}
}
}
// ---------------------------------------------------------
// CBookInfoView::HandleClientRectChange()
// Handles client rect change.
// ---------------------------------------------------------
void CBookInfoView::HandleClientRectChange()
{
if (iContainer)
{
iContainer->SetRect(ClientRect());
}
}
// ---------------------------------------------------------
// CBookInfoView::DoActivateL(...)
// Creates the Container class object.
// ---------------------------------------------------------
void CBookInfoView::DoActivateL(const TVwsViewId& /*aPrevViewId*/,
TUid /*aCustomMessageId*/,
const TDesC8& /*aCustomMessage*/)
{
iContainer = new (ELeave) CBookInfoContainer;
iContainer->SetMopParent(this);
TRect rc;
rc.SetRect(ClientRect().iTl, TSize(176, 144));
iContainer->ConstructL(rc);
AppUi()->AddToStackL(*this, iContainer);
TBuf<KMaxPath> mbmPath;
// HBufC* pathMbm = HBufC::NewLC(KMaxPath);
#ifdef __WINS__
mbmPath.Copy(_L("Z:\\system\\apps\\EveryDay\\EveryDay.mbm"));
#else
CEveryDayAppUi* pApp = (CEveryDayAppUi*)CEikonEnv::Static()->AppUi();
pApp->GetAppPath(mbmPath);
mbmPath.Append(_L("EveryDay.mbm"));
#endif
// CFbsBitmap* pBackground = CEikonEnv::Static()->CreateBitmapL(*pathMbm, EMbmEverydaybackdrop.bmp);
if (nMenu == 1)
{
CBookInfo* aBookInfo = (*m_pBookArray)[nPlace];
TBuf <16> fbuf, fbuf1, fbuf2;
fbuf.Copy(aBookInfo->GetFirstName()->Des());
fbuf1.Copy(aBookInfo->GetLastName()->Des());
fbuf2.Copy(aBookInfo->GetTelephone()->Des());
iContainer->SetTxtInfo(fbuf,fbuf1,fbuf2);
iContainer->EditReadonly();
Cba()->SetCommandSetL(R_MESSAGE_OPEN_CBA);
Cba()->DrawNow();
}
if (nMenu == 2)
{
CBookInfo* aBookInfo = (*m_pBookArray)[nPlace];
TBuf <16> fbuf, fbuf1, fbuf2;
fbuf.Copy(aBookInfo->GetFirstName()->Des());
fbuf1.Copy(aBookInfo->GetLastName()->Des());
fbuf2.Copy(aBookInfo->GetTelephone()->Des());
iContainer->SetTxtInfo(fbuf,fbuf1,fbuf2);
Cba()->SetCommandSetL(R_CBA_BOOK);
Cba()->DrawNow();
}
CEikStatusPane* statusPane = StatusPane();
CAknContextPane* contextPane = (CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(mbmPath, EMbmEverydayCard_icon);
CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(mbmPath, EMbmEverydayCard_mask);
contextPane->SetPicture(bitmap, bitmapMask);
TBuf<32> nTitle;
CEikonEnv::Static()->ReadResource(nTitle, R_BOOK_TITLE);
CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
titlePane->SetTextL(nTitle);
}
// ---------------------------------------------------------
// CBookInfoView::DoDeactivate()
// Deletes the Container class object.
// ---------------------------------------------------------
void CBookInfoView::DoDeactivate()
{
if (iContainer)
{
AppUi()->RemoveFromStack(iContainer);
delete iContainer;
iContainer = NULL;
}
}
void CBookInfoView::Setflag(TInt aflag)
{
nMenu = aflag;
}
void CBookInfoView::SendBookInfo(RPointerArray<CBookInfo>* aBookInfoArray, TInt num)
{
m_pBookArray = aBookInfoArray;
nPlace = num;
}
// void CBookInfoView::GetTelBookInfo(TDes& strFirstname,TDes& StrLastname,TDes& StrTelphone)
// {
// iContainer->GetEditInfo(strFirstname,StrLastname,StrTelphone);
//
// }
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -