📄 asyncsendmessage.cpp
字号:
/*****************************************************************************
* 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 + -