⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shapedrawerappui.cpp

📁 最新官方例子,图形,描述副,基本控件,通讯协议,等等,
💻 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 + -