📄 flipcloseview.cpp
字号:
#include "flipcloseview.h"
#include "sman.h"
#include <SMan.rsg>
/*************************************************************
*
* Flip closed view
*
**************************************************************/
CSMan2FlipCloseView::CSMan2FlipCloseView(CConfig *cData) : CViewBase(cData)
{
}
TBool CSMan2FlipCloseView::ViewScreenModeCompatible(TInt aScreenMode)
{
return (aScreenMode == 1);
}
TVwsViewIdAndMessage CSMan2FlipCloseView::ViewScreenDeviceChangedL()
{
return TVwsViewIdAndMessage(TVwsViewId(KUidSMan2App, KUidTaskView));
}
void CSMan2FlipCloseView::ViewDeactivated()
{
activateCount--;
if (activateCount <= 0)
{
MakeVisible(EFalse);
static_cast<CEikAppUi*>(iEikonEnv->AppUi())->RemoveFromStack(this);
// I think i found a bug in SE's flipclosed mode implementation. Doing this line of
// code here will corrupt the graphic of the scrollbar for iBJackView.
// Route logging back to original location
//static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->oScanner->logHelper->logTextBox = static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->bluejackLog;
//static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->bluejackLog->SetTextL(&(static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->oScanner->logBuffer));
//static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->bluejackLog->SetCursorPosL(static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->bluejackLog->TextLength(), 0);
}
}
void CSMan2FlipCloseView::ViewActivatedL(const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, const TDesC8& /*aCustomMessage*/)
{
if (activateCount <= 0)
{
doViewActivated();
bluejackLog->SetExtent(TPoint(0, iTitleBar->Position().iY + iTitleBar->Size().iHeight),
TSize((CEikonEnv::Static()->ScreenDevice())->SizeInPixels().iWidth, (CEikonEnv::Static()->ScreenDevice())->SizeInPixels().iHeight - 10 - iTitleBar->Size().iHeight));
static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->oScanner->logHelper->logTextBox = bluejackLog;
static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->iBJackView->oScanner->logHelper->updateLog(NULL, 0, CLogger::logAll);
}
}
TVwsViewId CSMan2FlipCloseView::ViewId() const
{
return TVwsViewId(KUidSMan2App, KUidFlipclosedView);
}
TKeyResponse CSMan2FlipCloseView::HandleKey(TInt iScanCode)
{
if ((iScanCode == EStdKeyDevice3) || (iScanCode == EStdKeyDeviceE))
{
// Back key. Device3 = back button, DeviceE = jogdial push
static_cast<CSMan2AppUi*>(iEikonEnv->AppUi())->SetAppPosition(EFalse);
return EKeyWasConsumed;
}
else if ((iScanCode == EStdKeyDevice9) || (iScanCode == EStdKeyDeviceD))
{
// application key. Device9 = option button, DeviceD = jogdial pull
static_cast<CSMan2AppUi*>(CEikonEnv::Static()->AppUi())->LaunchPopupMenuL(R_FC_BLUEJACK_MENU,
TPoint(bluejackLog->Size().iWidth, bluejackLog->Size().iHeight + 10 + bluejackLog->Position().iY), EPopupTargetBottomRight);
return EKeyWasConsumed;
}
return EKeyWasNotConsumed;
}
TKeyResponse CSMan2FlipCloseView::OfferKeyEventL(const TKeyEvent& aKeyEvent, TEventCode aType)
{
if (aType == EEventKey)
{
if (aKeyEvent.iCode == EQuartzKeyTwoWayDown)
{
bluejackLog->MoveDisplayL(TCursorPosition::EFLineDown);
bluejackLog->UpdateScrollBarsL();
return EKeyWasConsumed;
}
else if (aKeyEvent.iCode == EQuartzKeyTwoWayUp)
{
bluejackLog->MoveDisplayL(TCursorPosition::EFLineUp);
bluejackLog->UpdateScrollBarsL();
return EKeyWasConsumed;
}
TKeyResponse aKey = HandleKey(aKeyEvent.iScanCode);
if (aKey == EKeyWasConsumed)
return EKeyWasConsumed;
}
return EKeyWasNotConsumed;
}
CSMan2FlipCloseView::~CSMan2FlipCloseView()
{
}
void CSMan2FlipCloseView::ConstructL(const TRect& aRect)
{
//popupActive = EFalse;
CreateWindowL();
SetExtent(aRect.iTl, aRect.Size());
// CEikEdwin::EReadOnly;
bluejackLog = new (ELeave) CEikGlobalTextEditor;
bluejackLog->ConstructL(this, 18, MAX_LOG_LINES * MAX_LOG_LINE_SIZE, EEikEdwinInclusiveSizeFixed | CEikEdwin::EReadOnly, EGulFontControlAll, EGulAllFonts);
// This setting doesn't really matter since this control is dynamically adjusted when the view is activated
bluejackLog->SetExtent(TPoint(0, 30), TSize(aRect.Size().iWidth, 144 - 10)); //aRect.Size().iHeight - EQikToolbarHeight - 10));
bluejackLog->CreateScrollBarFrameL();
bluejackLog->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto);
controlsArray->AppendL(bluejackLog);
iTitleBar = new (ELeave) CEikMover;
iTitleBar->SetExtent(TPoint(0, 0), TSize(aRect.Size().iWidth, 25));
iTitleBar->SetContainerWindowL(*this);
HBufC* dataBuffer = CEikonEnv::Static()->AllocReadResourceL(R_TBUF_FC_BLUEJACKTXT);
iTitleBar->SetText(dataBuffer);
controlsArray->AppendL(iTitleBar);
viewId = CSMan2AppUi::EViewFlipClosed;
bjackIconPosition = TPoint(2, bluejackLog->Size().iHeight + 2) ;
initBJackIcon();
MakeVisible(EFalse);
ActivateL();
}
void CSMan2FlipCloseView::HandleControlEventL(CCoeControl* /*aControl*/, TCoeEvent /*aEventType*/)
{
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -