📄 shapedrawerappui.cpp
字号:
/**
*
* @brief Definition of CShapeDrawerAppui
*
* Copyright (c) EMCC Software Ltd 2003
* @version 1.0
*/
// INCLUDE FILES
// System includes
#include <eiktbar.h>
#include <eikenv.h>
#include <w32adll.h>
#include <avkon.hrh>
#include <sysutil.h>
// User Includes
#include "ShapeDrawer.pan"
#include "ShapeDrawerDocument.h"
#include "ShapeDrawerAppUi.h"
#include "ShapeDrawerGraphicView.h"
#include "ShapeDrawerGraphicViewContainer.h"
#include "ShapeDrawerListViewContainer.h"
#include "ShapeDrawerListView.h"
#include "ShapeDrawer.hrh"
_LIT(KShapeDrawerPanicName, "ShapeDrawer");
// ================= MEMBER FUNCTIONS =======================
TBool CShapeDrawerAppUi::CheckDiscSpaceL()
{
CEikDocument* eikDoc = Document();
CShapeDrawerDocument* shapeDrawerDoc = static_cast<CShapeDrawerDocument*>(eikDoc);
TInt fileEstimate = shapeDrawerDoc->DataSize();
TBool result;
RFs* fileSession = &CCoeEnv::Static()->FsSession();
result = !SysUtil::DiskSpaceBelowCriticalLevelL(fileSession, fileEstimate, EDriveC);
return result;
}
CShapeDrawerAppUi::CShapeDrawerAppUi()
{
// No implementation required
}
void CShapeDrawerAppUi::ConstructL()
{
BaseConstructL();
iView1 = CShapeDrawerGraphicView::NewL();
AddViewL(iView1); // transfer ownership
iView2 = CShapeDrawerListView::NewL();
AddViewL(iView2); // transfer ownership
SetDefaultViewL(*iView1);
}
void CShapeDrawerAppUi::HandleCommandL(TInt aCommand)
{
switch(aCommand)
{
case EShapeDrawerSwitchToListView:
{
TUid viewId;
viewId.iUid = EShapeDrawerListViewId;
ActivateLocalViewL(viewId);
break;
}
case EShapeDrawerSwitchToGraphicView:
{
TUid viewId;
viewId.iUid = EShapeDrawerGraphicViewId;
ActivateLocalViewL(viewId);
break;
}
case EAknSoftkeyExit:
case EEikCmdExit:
if (CheckDiscSpaceL())
{
SaveL();
}
Exit();
break;
case EClear:
iView1->Container()->Clear();
break;
case ESelectBrushCircle:
iView1->Container()->SetBrushShapeType(CShapeDrawerGraphicViewContainer::ECircle);
break;
case ESelectBrushRectangle:
iView1->Container()->SetBrushShapeType(CShapeDrawerGraphicViewContainer::ERectangle);
break;
default:
User::Panic(KShapeDrawerPanicName, EShapeDrawerUnknownCommand);
break;
}
}
void CShapeDrawerAppUi::HandleModelChangeL()
{
// Update the file name in the task list to show the current file.
iEikonEnv->UpdateTaskNameL();
}
void CShapeDrawerAppUi::HandleForegroundEventL(TBool aForeground)
{
if (!aForeground)
{
if (CheckDiscSpaceL())
{
SaveL();
}
}
CAknAppUi::HandleForegroundEventL(aForeground);
}
//End of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -