📄 bookeditview.cpp
字号:
/* Copyright (c) 2007, Nokia. All rights reserved */
#include <gulicon.h>
#include <eikseced.h>
#include <eikccpu.h>
#include <coemain.h>
#include <aknnotewrappers.h>
#include <eikspane.h>
#include <akntitle.h>
#include <akncontext.h>
#include "BookEditView.h"
#include "BookEditContainer.h"
#include "AssistantAppUi.h"
#include "Assistant.rsg"
#include "Assistant.hrh"
CBookEditView* CBookEditView::NewL()
{
CBookEditView* self = NewLC();
CleanupStack::Pop(self);
return self;
}
CBookEditView* CBookEditView::NewLC()
{
CBookEditView* self = new (ELeave) CBookEditView();
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
void CBookEditView::ConstructL()
{
BaseConstructL(R_ASSISTANT_BOOK);
}
CBookEditView::CBookEditView()
{
m_pAppContainer = NULL;
m_pBookInfo = NULL;
}
CBookEditView::~CBookEditView()
{
}
TUid CBookEditView::Id() const
{
return TUid::Uid(11);
}
void CBookEditView::HandleCommandL(TInt aCommand)
{
switch (aCommand)
{
case EAssistantFinish:
{
m_pBookInfo = m_pAppContainer->GetData();
AppUi()->ActivateLocalViewL(TUid::Uid(10));
}
break;
case EAssistantCancel:
{
m_pBookInfo = NULL;
AppUi()->ActivateLocalViewL(TUid::Uid(10));
}
break;
case EAssistantWrite:
{
m_Status = EAssistantStatusWrite;
AppUi()->ActivateLocalViewL(TUid::Uid(10));
}
break;
case EAssistantModify:
{
m_Status = EAssistantStatusModify;
m_pAppContainer->ChangeReadOnly(m_Status);
this->Cba()->SetCommandSetL(R_CBA_BOOK);
this->Cba()->DrawNow();
}
break;
case EAssistantDelete:
{
TBuf<32> sTmpTitle;
CAknNoteDialog* note = new (ELeave) CAknNoteDialog;
note->PrepareLC(R_DELETE_MESSAGE_NOTE);
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_ASSISTANT_DELETE_THIS);
note->SetTextL(sTmpTitle);
if(note->RunLD())
{
m_Status = EAssistantStatusDelete;
AppUi()->ActivateLocalViewL(TUid::Uid(10));
}
}
break;
case EAssistantBack:
{
m_pBookInfo = NULL;
AppUi()->ActivateLocalViewL(TUid::Uid(10));
}
break;
case EAssistantExit:
AppUi()->ActivateLocalViewL(TUid::Uid(3));
break;
}
}
void CBookEditView::HandleClientRectChange()
{
if(m_pAppContainer)
{
m_pAppContainer->SetRect(ClientRect());
}
}
void CBookEditView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&)
{
m_pAppContainer = new( ELeave ) CBookEditContainer();
m_pAppContainer->SetMopParent(this);
TRect rc;
rc.SetRect(ClientRect().iTl, TSize(176, 144));
m_pAppContainer->ConstructL( rc );
AppUi()->AddToStackL( *this, m_pAppContainer );
CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
CAssistantAppUi* pApp = (CAssistantAppUi*)CEikonEnv::Static()->AppUi();
CFbsBitmap* pIcon = pApp->LoadGraphicsL1(2);
CFbsBitmap* pMask = pApp->LoadGraphicsL1(30);
CAknContextPane* contextPane = (CAknContextPane*) sp->ControlL(TUid::Uid(EEikStatusPaneUidContext));
contextPane->SetPicture(pIcon,pMask);
//Set View Title
TBuf<32> sTmpTitle;
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_ASSISTANT_BOOK);
CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
tp->SetTextL(sTmpTitle);
if(m_Status == EAssistantStatusOpen)
{
this->Cba()->SetCommandSetL(R_CBA_OPTION);
this->Cba()->DrawNow(); // (改变CBA)
}
else if(m_Status == EAssistantStatusNew || m_Status == EAssistantStatusModify)
{
this->Cba()->SetCommandSetL(R_CBA_BOOK);
this->Cba()->DrawNow(); // (改变CBA)
}
if(m_Status == EAssistantStatusOpen || m_Status == EAssistantStatusModify)
{
m_pAppContainer->SetData(m_Status,m_pBookInfo);
}
}
void CBookEditView::DoDeactivate()
{
if(m_pAppContainer)
{
AppUi()->RemoveFromStack( m_pAppContainer );
delete m_pAppContainer;
}
m_pBookInfo = NULL;
}
void CBookEditView::SetData(CBookInfo* aBookInfo)
{
m_pBookInfo = aBookInfo;
}
CBookInfo* CBookEditView::GetData()
{
return m_pBookInfo;
}
void CBookEditView::SetStatus(TInt aStatus)
{
m_Status = aStatus;
}
void CBookEditView::GetStatus(TInt& aStatus)
{
aStatus = m_Status;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -