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

📄 asyncsendmessage.cpp

📁 mtk simulator v2 new source code
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/*****************************************************************************
*  Copyright Statement:
*  --------------------
*  This software is protected by Copyright and the information contained
*  herein is confidential. The software may not be copied and the information
*  contained herein may not be used or disclosed except with the written
*  permission of MediaTek Inc. (C) 2005
*
*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. 
*
*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/**
 *	Copyright Notice
 *	?2002 - 2003, Pixtel Communications, Inc., 1489 43rd Ave. W.,
 *	Vancouver, B.C. V6M 4K8 Canada. All Rights Reserved.
 *  (It is illegal to remove this copyright notice from this software or any
 *  portion of it)
 */

/**************************************************************

	FILENAME	: AsyncSendMessage.cpp

  	PURPOSE		: Sends the async message from Simulator

	REMARKS		: nil

	AUTHOR		: Kuldeep

	DATE		: Aug 5,03

**************************************************************/

#include "stdafx.h"
#include "AsyncSendMessage.h"
#include "AsyncMessageSeq.h"
#include "GlobalDefines.h"
#include "MessageManager.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// CAsyncSendMessage dialog


CAsyncSendMessage::CAsyncSendMessage(CWnd* pParent /*=NULL*/)
	: CDialog(CAsyncSendMessage::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAsyncSendMessage)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CAsyncSendMessage::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAsyncSendMessage)
	//}}AFX_DATA_MAP
	DDX_Control(pDX, IDC_CMB_DEFAULT_DATASET, cmbDefaultDataSet);
	DDX_Control(pDX, IDC_COMBO_FREQUENCY, mFreq);
	DDX_Control(pDX, IDC_COMBO_TIMER, mTimer);
	DDX_Control(pDX, IDC_STATIC_ASYNC_MSG_VIEW, static_async_view);
	DDX_Control(pDX, IDC_STATIC_SELECT_SEND_IND, static_selsend_ind);
	DDX_Control(pDX, IDOK, send_button);
	DDX_Control(pDX, IDCANCEL, close_button);
	DDX_Control(pDX, IDC_STATIC_FREQU_ASYNC_SM, static_dataset);
	DDX_Control(pDX, IDC_STATIC_FREQU, static_freq);
	DDX_Control(pDX, IDC_STATIC_TIMR, static_timer);
	DDX_Control(pDX, IDC_STATIC_FREQ_TIMER_MODI2, static_freq_timer_details);
}


BEGIN_MESSAGE_MAP(CAsyncSendMessage, CDialog)
	//{{AFX_MSG_MAP(CAsyncSendMessage)
	ON_WM_WINDOWPOSCHANGING()
	ON_NOTIFY(TVN_SELCHANGED, IDC_TREE_APPLICATION, OnSelchangedTreeApplication)
	//}}AFX_MSG_MAP
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
	ON_MESSAGE(WM_SENDVALUE,OnClickChangeCTreeCtrl)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAsyncSendMessage message handlers

void CAsyncSendMessage::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}


BOOL CAsyncSendMessage::OnInitDialog()
{
	CDialog::OnInitDialog();
	//Load all the Values into the Tree in the initDialog
	//Load all the AsyncEvents name from the XML
	Inittext();
	InitSampleData();
	m_treeAppControl.SetFocus();
	return TRUE;
}

void CAsyncSendMessage::Inittext()
{
	LoadString(library_identifier,IDS_STRING_SEL_SEND_IND, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_selsend_ind.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_ASYNC_VIEW, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_async_view.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_SEND, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	send_button.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_CLOSE, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	close_button.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_DLG_SEND_EVENTS, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	SetWindowText(stringID_to_string);
	
	LoadString(library_identifier,IDS_STRING_FREQ_TMR_DETAILS, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_freq_timer_details.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_FREQ_OCCUR, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_freq.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_TIMER_OCUR, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_timer.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_DEFAULT_DS, stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_dataset.SetWindowText(stringID_to_string); 

}
//routine for setting of the library identifier variable....
void CAsyncSendMessage::SetLibrayIdentifier(HINSTANCE lib_id)
{
	library_identifier = lib_id;
}

/**************************************************************

	FUNCTION NAME		: InitSampleData

  	PURPOSE				: Fills the tree for showing the list of async messages list.

	INPUT PARAMETERS	: nil
				
	OUTPUT PARAMETERS	: nil

	RETURNS				: void

	REMARKS				: Parses a list from XML Framework to show the list of messages.

**************************************************************/

void CAsyncSendMessage::InitSampleData()
{
	//initialize the tree by putting the values of the application from the XML handler
	m_treeAppControl.Create(WS_CHILD | WS_VISIBLE | WS_BORDER | TVS_HASBUTTONS |WS_TABSTOP|
		                  TVS_LINESATROOT | TVS_HASLINES | TVS_SHOWSELALWAYS,
						  CRect(35, 45, 365, 220), this, 101 ) ; 
	HTREEITEM hRoot = m_treeAppControl.InsertItem(_T("Events"));
	m_treeAppControl.SetItemData(hRoot, 0);
	int iCount = 0;
	CDataList dataList;	
	CData dataObj;
	char *dummy = (char*) malloc(sizeof(char)*10);
	CString strXMLEvent;
	if(cmessagemanager.m_plstAsyncMsg->GetCount() > 0)//check if emtpy message list 
	{	
		for( POSITION pos = cmessagemanager.m_plstAsyncMsg->GetHeadPosition(); pos != NULL;)
		{
			CAsyncMessageSeq *pAsyncMessage = (CAsyncMessageSeq*)(cmessagemanager.m_plstAsyncMsg->GetNext( pos )) ;
			strXMLEvent = pAsyncMessage->GetMessageName();
			CPtrList *ptrAyncEventsList = GetAllAsyncEventsForApp(strXMLEvent);
			HTREEITEM h1 = m_treeAppControl.InsertItem(strXMLEvent, hRoot);			
			m_treeAppControl.SetItemData(h1,1);
			AddDataListInTree(ptrAyncEventsList,strXMLEvent,h1);
		}
	}

	/*m_treeAppControl.ModifyStyle(0, TVS_LINESATROOT | TVS_HASBUTTONS | TVS_SHOWSELALWAYS | TVS_HASLINES );
	HTREEITEM hRoot = m_treeAppControl.InsertItem(_T("Events"));
	HTREEITEM h1 = m_treeAppControl.InsertItem(_T("BootUp"), hRoot);
	HTREEITEM h2 = m_treeAppControl.InsertItem(_T("Call"), hRoot);
	HTREEITEM h3 = m_treeAppControl.InsertItem(_T("SMS"), hRoot);
	m_treeAppControl.SetItemData(hRoot, 0);
	m_treeAppControl.SetItemData(h1, 1);
	m_treeAppControl.SetItemData(h2, 2);
	m_treeAppControl.SetItemData(h3, 3);*/
}

void CAsyncSendMessage::OnSelchangedTreeApplication(NMHDR* pNMHDR, LRESULT* pResult) 
{

}

/**************************************************************

	FUNCTION NAME		: OnOK

  	PURPOSE				: Called by the MFC framework after OK button is pressed

	INPUT PARAMETERS	: nil
				
	OUTPUT PARAMETERS	: nil

	RETURNS				: void

	REMARKS				: Makes a message to be sent informing the framework that an asyn message is selected 

**************************************************************/


void CAsyncSendMessage::OnOK() 
{
	// TODO: Add extra validation here
	//send the selected event message to the MMI
	//NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
	CString *strSText = new CString();
	HWND hWnd = ::GetParent(this->m_hWnd);
	HTREEITEM htree = m_treeAppControl.GetSelectedItem();
	DWORD nID = m_treeAppControl.GetItemData(htree);
	*strSText = m_treeAppControl.GetItemText(htree);
	if(nID > 0)
	{
		PopUpMsgStruct *stMsgStruct = new PopUpMsgStruct;

⌨️ 快捷键说明

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