📄 registview.cpp
字号:
/*
* ============================================================================
* Name : CRegistView from CAknView
* Part of : Regist
* Copyright (c) 2003 Nokia. All rights reserved.
* ============================================================================
*/
// INCLUDE FILES
#include <aknviewappui.h>
#include <avkon.hrh>
#include <akncontext.h>
#include <akntitle.h>
#include <aknnotewrappers.h>
#include <eikmenup.h>
#include <LDMCM8.rsg>
#include <LDMCM8.mbg>
#include "LDMCM8.hrh"
#include "RegistView.h"
#include "RegistContainer.h"
#include "LDMCM8AppUi.h"
// ================= MEMBER FUNCTIONS =======================
CRegistView* CRegistView::NEWL()
{
CRegistView* self = NEWLC();
CleanupStack::Pop(self);
return self;
}
CRegistView* CRegistView::NEWLC()
{
CRegistView* self = new (ELeave) CRegistView;
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
// C++ default constructor can NOT contain any code, that
// might leave.
//
CRegistView::CRegistView()
{
m_nMenuFlag = 0;
}
// EPOC default constructor can leave.
void CRegistView::ConstructL()
{
BaseConstructL(R_REGIST_VIEW);//(R_AKNEXEDITOR_VIEW1);
}
// Destructor
CRegistView::~CRegistView()
{
if (iContainer)
{
AppUi()->RemoveFromStack(iContainer);
}
delete iContainer;
}
// ---------------------------------------------------------
// TUid CRegistView::Id()
// Returns Id of the view.
// ---------------------------------------------------------
TUid CRegistView::Id() const
{
return KViewId1;
}
// ---------------------------------------------------------
// CRegistView::HandleCommandL(TInt aCommand)
// Handles commands
// ---------------------------------------------------------
void CRegistView::HandleCommandL(TInt aCommand)
{
switch (aCommand)
{
// case ERegistCmdSelectEdwin1:
// case ERegistCmdSelectGTextEd1:
// iContainer->FocusTo(aCommand);
// break;
case ELDMCM8CmdRegistReg:
{
m_nMenuFlag = 1;
TBuf<128> sTmpGetInfo;
iContainer->GetInput(sTmpGetInfo,1);
if (sTmpGetInfo.Length() == 0)
{
TBuf<64> sTmpInfo;
CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_ERRORNAME);
CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
informationNote->ExecuteLD(sTmpInfo);
}
TBuf<64> sTmpGetInfo1;
iContainer->GetInput(sTmpGetInfo,2);
iContainer->GetInput(sTmpGetInfo1,3);
if (sTmpGetInfo.Length() == 0 || sTmpGetInfo1.Length() == 0)
{
TBuf<64> sTmpInfo;
CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_ERRORPWD1);
CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
informationNote->ExecuteLD(sTmpInfo);
}
else if (sTmpGetInfo.Length() != 6 || sTmpGetInfo1.Length() != 6)
{
TBuf<64> sTmpInfo;
CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_ERRORPWD2);
CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
informationNote->ExecuteLD(sTmpInfo);
}
else if (sTmpGetInfo.Compare(sTmpGetInfo1))
{
TBuf<64> sTmpInfo;
CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_ERRORPWD3);
CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
informationNote->ExecuteLD(sTmpInfo);
}
else
{
TBuf<64> sTmpInfo;
CEikonEnv::Static()->ReadResource(sTmpInfo, R_QTN_MCM_REGIST_REGINFO);
CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
informationNote->ExecuteLD(sTmpInfo);
}
}
break;
// case ELDMCM8CmdRegistLog:
//
// break;
case ELDMCM8CmdRegistHelp:
{
m_nMenuFlag = 0;
TBuf<32> sTmpTitle;
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MCM_REGIST_HELPINFO);
CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
informationNote->ExecuteLD(sTmpTitle);
}
break;
default:
AppUi()->HandleCommandL(aCommand);
break;
}
}
// ---------------------------------------------------------
// CRegistView::HandleClientRectChange()
// Handles client rect change.
// ---------------------------------------------------------
void CRegistView::HandleClientRectChange()
{
if (iContainer)
{
iContainer->SetRect(ClientRect());
}
}
// ---------------------------------------------------------
// CRegistView::DoActivateL(...)
// Creates the Container class object.
// ---------------------------------------------------------
void CRegistView::DoActivateL(const TVwsViewId& /*aPrevViewId*/,
TUid /*aCustomMessageId*/,
const TDesC8& /*aCustomMessage*/)
{
iContainer = new (ELeave) CRegistContainer;
iContainer->SetMopParent(this);
TRect rc;
rc.SetRect(ClientRect().iTl, TSize(176, 144));
iContainer->ConstructL(rc);
AppUi()->AddToStackL(*this, iContainer);
TBuf<KMaxPath> pathMbm;
#ifdef __WINS__
pathMbm.Copy(_L("z:\\system\\apps\\LDMCM8\\LDMCM8.mbm"));
#else
CLDMCM8AppUi* pApp = (CLDMCM8AppUi*)CEikonEnv::Static()->AppUi();
pApp->GetAppPath(pathMbm);
pathMbm.Append(_L("LDMCM8.mbm"));
#endif
CEikStatusPane* statusPane = StatusPane();
//modify icon by Miserce 2008-05-21
CAknContextPane* contextPane = (CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmLdmcm8Registicon);
contextPane->SetPicture(bitmap);
//
//modify Chinese title by Miserce 2008-05-21
TBuf<32> sTmpTitle;
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_MCM_REGIST_TITLE);
CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
titlePane->SetTextL(sTmpTitle);
}
// ---------------------------------------------------------
// CRegistView::DoDeactivate()
// Deletes the Container class object.
// ---------------------------------------------------------
void CRegistView::DoDeactivate()
{
if (iContainer)
{
AppUi()->RemoveFromStack(iContainer);
}
delete iContainer;
iContainer = NULL;
}
void CRegistView::DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane)
{
if(aResourceId != R_MCM_REGIST_MENU)
return;
aMenuPane->SetItemDimmed(ELDMCM8CmdRegistReg, EFalse);
aMenuPane->SetItemDimmed(ELDMCM8CmdRegistHelp, EFalse);
switch(m_nMenuFlag)
{
case 0:
aMenuPane->SetItemDimmed(ELDMCM8CmdRegistLog, ETrue);
break;
case 1:
aMenuPane->SetItemDimmed(ELDMCM8CmdRegistLog, EFalse);
break;
default:
break;
}
}
// End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -