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

📄 editview.cpp

📁 自己做的Symbian小项目 可给大家参考
💻 CPP
字号:
/* Copyright (c) 2007, Nokia. All rights reserved */
#include "LDFUCKAppUi.h"
#include "EditView.h"
#include "EditContainer.h"
#include "LDFUCK.hrh"
#include "LDFUCK.rsg"

#include <eikspace.h>
#include <akntitle.h>
#include <aknnotewrappers.h>
#include "OperateInfo.h"

CEditView* CEditView::NewL()
{
    CEditView* self = NewLC();
    CleanupStack::Pop(self);
    return self;
}

CEditView* CEditView::NewLC()
{
	CEditView* self = new (ELeave) CEditView();
	CleanupStack::PushL(self);
	self->ConstructL();
	return self;
}

void CEditView::ConstructL()
{
	BaseConstructL(R_PLAN_EDIT_VIEW);
	//创建引擎
	mEngine = CMtmsEngine::NewL(*this);
}

CEditView::CEditView()
{
	m_pAppContainer = NULL;
}


CEditView::~CEditView()
{
	if (mEngine)
	{
		delete mEngine;
		mEngine=NULL;
	}
}

TUid CEditView::Id() const
{
	return TUid::Uid(EEditViewID);
}

void CEditView::HandleCommandL(TInt aCommand)
{
	switch(aCommand){
	case EPLANCmdEditInsert://
		{	
			
		TBuf<16>sName;
		TBuf<128>sContent;
		m_pAppContainer->getNumber(sName);
		m_pAppContainer->getText(sContent);
			
		m_pTempNotify->EditToTempNotify(sName, sContent);

		AppUi()->ActivateLocalViewL(TUid::Uid(ETempViewID));
		}
		break;
	case EAknSoftkeyExit://
		AppUi()->ActivateLocalViewL(TUid::Uid(EHelpViewID));
	
		break;
	case EPLANCmdEditSend://
		{
		if(m_pAppContainer->NumJudge()&&m_pAppContainer->TextJudge())
		{
			 //send sms

			m_Num = HBufC::NewL(14);
			m_Name = HBufC::NewL(128);
	
			m_pAppContainer->getNumber(m_Num->Des());
 			m_pAppContainer->getText(m_Name->Des());

			m_OperateInfo->getEditInfo(m_Num,m_Name);

	
			mEngine->CreateSMSMessageL(m_Num->Des(), m_Name->Des());
			mEngine->ValidateCreatedSMS();
    		mEngine->SendSMSL();
			break;
		}
		else
			break;
 



//		AppUi()->ActivateLocalViewL(TUid::Uid(EEditViewID));
		}
		break;
	default:
		AppUi()->HandleCommandL(aCommand);
 		break;
	}
//	AppUi()->HandleCommandL(aCommand);
}

void CEditView::HandleClientRectChange()
{

}

void CEditView::DoActivateL(const TVwsViewId&, TUid, const TDesC8&)
{
	m_pAppContainer = new( ELeave ) CEditContainer();
	m_pAppContainer->SetMopParent(this);
	m_pAppContainer->ConstructL(TRect(TPoint(0,44),TSize(176,144)),m_Number,m_Content );	
	AppUi()->AddToStackL( *this, m_pAppContainer );

	//set title
	TBuf<32> buf;
	CEikonEnv::Static()->ReadResource(buf, R_QTN_IF_EDITTITLE);
	CEikStatusPane* sp=iEikonEnv->AppUiFactory()->StatusPane();
	CAknTitlePane* tp=(CAknTitlePane*)sp->ControlL(TUid::Uid(EEikStatusPaneUidTitle));
	tp->SetTextL(buf);


}

void CEditView::DoDeactivate()
{
	m_Number.Zero();
	m_Content.Zero();

	if(m_pAppContainer)
	{
		AppUi()->RemoveFromStack( m_pAppContainer );
		delete m_pAppContainer;
		m_pAppContainer = NULL;
	}
}


void CEditView::TempToEditNotify(const TDesC& aNumber,const TDesC& aContent)
{
	this->SetContent(aContent);
	this->SetNumber(aNumber);
}

TDesC CEditView::SetContent(const TDesC&  aContent ){
	m_Content=aContent;
	return m_Content;
}

TDesC CEditView::SetNumber(const TDesC&  aNumber ){
	m_Number=aNumber;
	return m_Number;
}

//sms succeed or failed notes
void CEditView::HandleMessageSentL(TInt aError)
{
	TBuf<32> buf;
	m_error=aError;
	if (KErrNone==aError) 
	{
		CEikonEnv::Static()->ReadResource(buf, R_QTN_LF_ALERT_SUCCEED); 
		CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
		informationNote->ExecuteLD(buf);
	}else
	{	
		CEikonEnv::Static()->ReadResource(buf, R_QTN_LF_ALERT_FAILED); 
		CAknInformationNote* informationNote = new (ELeave) CAknInformationNote;
		informationNote->ExecuteLD(buf);
 	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -