📄 gridview.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> // add picture
#include "GridView.h"
#include "GridContainer.h"
#include "AssistantAppUi.h"
#include "Assistant.rsg"
#include "Assistant.hrh"
#include "Assistant.mbg"
CGridView* CGridView::NewL()
{
CGridView* self = NewLC();
CleanupStack::Pop(self);
return self;
}
CGridView* CGridView::NewLC()
{
CGridView* self = new (ELeave) CGridView();
CleanupStack::PushL(self);
self->ConstructL();
return self;
}
void CGridView::ConstructL()
{
BaseConstructL(R_ASSISTANT_MAIN);
}
CGridView::CGridView()
{
m_pAppContainer = NULL;
}
CGridView::~CGridView()
{
}
TUid CGridView::Id() const
{
return TUid::Uid(3);
}
void CGridView::HandleCommandL(TInt aCommand)
{
TInt nIndex = m_pAppContainer->GetIndex();
switch(aCommand)
{
case EAssistantOpen:
{
if(nIndex == 0)
{
AppUi()->ActivateLocalViewL(TUid::Uid(5));
}
else if(nIndex ==1)
{
AppUi()->ActivateLocalViewL(TUid::Uid(7));
}
else if(nIndex ==2)
{
AppUi()->ActivateLocalViewL(TUid::Uid(10));
}
else
{
TBuf<32> sTmpTitle;
CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_ASSISTANT_BUILDING);
CAknInformationNote* informationNote = new(ELeave)CAknInformationNote;
informationNote->ExecuteLD(sTmpTitle);
}
}
break;
case EAssistantHelp:
{
m_pHelpStatus->SetStatus(EAssistantStatusMain);
// AppUi()->ActivateLocalViewL(TUid::Uid(4));
}
break;
default:
AppUi()->HandleCommandL(aCommand);
break;
}
}
void CGridView::HandleClientRectChange()
{
if(m_pAppContainer)
{
m_pAppContainer->SetRect(ClientRect());
}
}
void CGridView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&)
{
m_pAppContainer = new( ELeave ) CGridContainer();
m_pAppContainer->SetMopParent(this);
TRect rc;
rc.SetRect(ClientRect().iTl, TSize(176, 144));
m_pAppContainer->ConstructL(rc/*,this*/);
AppUi()->AddToStackL(*this, m_pAppContainer);
CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
//Set View icon
CAssistantAppUi* pApp = (CAssistantAppUi*)CEikonEnv::Static()->AppUi();
CFbsBitmap* pIcon = pApp->LoadGraphicsL1(6);
CFbsBitmap* pMask = pApp->LoadGraphicsL1(31);
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_ASSISTANT);
CAknTitlePane* tp = (CAknTitlePane*)sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
tp->SetTextL(sTmpTitle);
// TRect rc;
// rc.SetRect(TPoint(0,0), TSize(176, 208));
// m_pAppContainer->ConstructL(rc,this);
// AppUi()->AddToStackL(*this, m_pAppContainer);
//
// TBuf<KMaxPath> pathMbm;zz
// #ifdef __WINS__
// pathMbm.Copy(_L("z:\\system\\apps\\Assistant\\Assistant.mbm"));
// #else
// CAssistantAppUi* pApp = (CAssistantAppUi*)CEikonEnv::Static()->AppUi();
// pApp->GetAppPath(pathMbm);
// pathMbm.Append(_L("Assistant.mbm"));
// #endif
//
// CEikStatusPane* statusPane = StatusPane();
//
// //set icon
// CAknContextPane* contextPane = (CAknContextPane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidContext));
// CFbsBitmap* bitmap = iEikonEnv->CreateBitmapL(pathMbm, EMbmAssistantMain);
// CFbsBitmap* bitmapMask = iEikonEnv->CreateBitmapL(pathMbm, EMbmAssistantMain_mask);
//
// contextPane->SetPicture(bitmap, bitmapMask);
//
// TBuf<32> sTmpTitle;
// CEikonEnv::Static()->ReadResource(sTmpTitle, R_QTN_ASSISTANT_ASSISTANT);
//
// CAknTitlePane* titlePane = (CAknTitlePane*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
// titlePane->SetTextL(sTmpTitle);
}
void CGridView::DoDeactivate()
{
if(m_pAppContainer)
{
AppUi()->RemoveFromStack( m_pAppContainer );
delete m_pAppContainer;
}
}
void CGridView::SetHelpStatusPtr(MStatus* aPtr)
{
m_pHelpStatus = aPtr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -