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

📄 msgattributechange.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).
*
*****************************************************************************/
// MsgAttributeChange.cpp : implementation file
//

#include "stdafx.h"
#include "QMMINWSimulator.h"
#include "MsgAttributeChange.h"
#include "MessageSearch.h"
#include "application.h"
#include "nwgcmlhandler.h"
#include "stdlib.h"
#include "AddEditDialog.h"
#include "MessageManager.h"
IMPLEMENT_DYNAMIC(MsgAttributeChange, CDialog)
MsgAttributeChange::MsgAttributeChange(CWnd* pParent /*=NULL*/)
	: CDialog(MsgAttributeChange::IDD, pParent)
	, TxtMsgId(_T(""))
	, TxtDataSet(_T(""))
	, DiDlg(false)
{
}

void MsgAttributeChange::SetMsgId(UINT32 MsgIdFromAddEdit)
{

	MsgId = MsgIdFromAddEdit;

}

MsgAttributeChange::~MsgAttributeChange()
{
}

void MsgAttributeChange::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_COMBO_APPID, AppId);
	DDX_Control(pDX, IDC_COMBO_MSGID, CmbMsgId);
	DDX_Control (pDX,	IDC_COMBO_DEFAULT_DATA_SET,		CmbDataSet);
	DDX_CBString(pDX, IDC_COMBO_MSGID, TxtMsgId);
	DDX_CBString(pDX,	IDC_COMBO_DEFAULT_DATA_SET,		TxtDataSet);
	DDX_Control (pDX,	IDC_RADIO_DIALOG,				DiDialog);
	DDX_Control (pDX,	IDC_BUTTON_ADD_DATASET,			AddEditDialogOpener);
	DDX_Control	(pDX,	IDC_COMBO_FREQ,				mFreq);
	DDX_Control	(pDX,	IDC_COMBO_TIMER,			mTimer);
	DDX_Control (pDX,	IDC_RADIO_DATASET,			DiDataset);
	DDX_Control(pDX, IDC_STATIC_SEL_ID, static_sel_ind);
	DDX_Control(pDX, IDC_STATIC_APP_ID, static_appid);
	DDX_Control(pDX, IDC_STATIC_MSG_ID, static_msgid);
	DDX_Control(pDX, IDC_STATIC_SEL_ATTRIB, static_sel_attrib);
	DDX_Control(pDX, IDC_STATIC_DEFAULT_INPUT, static_def_input);
	DDX_Control(pDX, IDC_STATIC_DEF_DS, static_default_ds);
	DDX_Control(pDX, IDC_STATIC_FREQ_ASYNCMSG, static_freq);
	DDX_Control(pDX, IDC_STATIC_TIMER_ASYNCMSG, static_timer);
	DDX_Control(pDX, IDC_STATIC_ADD_DS, static_add_ds);
	DDX_Control(pDX, IDC_STATIC_CLK_ADD, static_clk_to_add);
	DDX_Control(pDX, IDOK, button_save);
	DDX_Control(pDX, IDCANCEL, button_close);
	DDX_Control(pDX, IDC_BUTTON_SRH_MSG_ID, search_button);
}


BEGIN_MESSAGE_MAP(MsgAttributeChange, CDialog)
        ON_WM_WINDOWPOSCHANGING()
	ON_BN_CLICKED	(IDC_BUTTON_SRH_MSG_ID,		OnBnClickedButton1)
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
	ON_CBN_SELCHANGE(IDC_COMBO_APPID, OnCbnSelendokComboAppid)
	ON_CBN_SELCHANGE(IDC_COMBO_MSGID, OnCbnSelendokComboMsgid)
	ON_WM_CLOSE()
	ON_BN_CLICKED(IDC_BUTTON_SRH_MSG_ID, OnBnClickedButtonSrhMsgId)
	ON_BN_CLICKED(IDCANCEL, OnBnClickedCancel)
	ON_BN_CLICKED(IDC_BUTTON_ADD_DATASET, OnBnClickedButtonAddDataset)
	ON_CBN_SELCHANGE(IDC_COMBO_DEFAULT_DATA_SET, OnCbnSelchangeComboDefaultDataSet)
	ON_MESSAGE(WM_SET_VALUES_IN_DIALOG,SetValuesInDialog)
	ON_CBN_SELCHANGE(IDC_COMBO_FREQ, OnCbnSelchangeComboFreq)
	ON_BN_CLICKED(IDC_RADIO_DIALOG, OnBnClickedRadioDialog)
	ON_BN_CLICKED(IDC_RADIO_DATASET, OnBnClickedRadioDataset)
	ON_CBN_SELCHANGE(IDC_COMBO_TIMER, OnCbnSelchangeComboTimer)
END_MESSAGE_MAP()


// MsgAttributeChange message handlers

void MsgAttributeChange::OnBnClickedButton1()
{
	// TODO: Add your control notification handler code here
	MessageSearch ms;
	ms.SetTheLibraryIdentifier(library_identifier);
	ms.DoModal ();
}

void MsgAttributeChange::OnBnClickedOk()
{
	//six parameters are required
	CString InputMode,DefaultDataset,tempstr, messageID;
	UINT32  Freq,Timer,Msgid;
	CmbDataSet.GetWindowText(DefaultDataset);   //2. Dataset 3. Default dataset
	if(DefaultDataset.GetLength()==0)
		AfxMessageBox(_T("Please Select the Dataset , Specify Frequency, Timer attributes"),MB_OK); 
	else
	{
		CmbMsgId.GetWindowText(messageID);
		Msgid = _ttoi(messageID);		//1. MessageId
    
	if(DiDialog.GetCheck()==BST_CHECKED)		//4. input mode
		InputMode =_T("Dialog");
	else
		InputMode = _T("Dataset");

	mFreq.GetWindowText(tempstr);				//5. frequency
	Freq = _ttoi(tempstr);

	mTimer.GetWindowText(tempstr);
	Timer = _ttoi(tempstr);			//6. timer

	CMessageManager *ptrcsendmessage = new CMessageManager();
	
		if( AfxMessageBox(_T("You are going to change Message Attributes for ")+messageID+_T(". Are you sure?"),MB_YESNO)==IDYES)
		{
	ptrcsendmessage->SetDataSetDetails(Msgid, DefaultDataset,DefaultDataset,InputMode,Freq,Timer); 
		}
	
	free(ptrcsendmessage);
}
	button_save.EnableWindow(0); 

}


/*--------------------------------------------------------------------------------*/
/*-------------- Following is the idea to fill the app id combo with values ------*/
/*-------------- Date: 12 Oct, 2004 ----------------------------------------------*/
/*-------------- Author: Gurdev Singh --------------------------------------------*/
/*--------------------------------------------------------------------------------*/


BOOL MsgAttributeChange::OnInitDialog()
{
	CDialog::OnInitDialog();
	char *dummy = (char*) malloc(sizeof(char)*10); 
    
	//Initialisation of AppId Combobox
//text initialisation
	InitText();
	CNWGCMLHandler tempobj;
	CPtrList *ptrCPtrList;
	CApplication * ptrCApplication;
	ptrCPtrList = tempobj.GetApplicationList();

	if(ptrCPtrList->GetCount())
	{
		for(POSITION pos =  ptrCPtrList->GetHeadPosition();pos!= NULL;)
		{
     		ptrCApplication = (CApplication *) (ptrCPtrList->GetNext (pos));
			AppId.AddString(CString(itoa(ptrCApplication->GetAppId(),dummy,10))+":"+(ptrCApplication->GetApplicationName()));
		}
	}

	if(Is_Coming_From == ADDEDIT)
	{
		AddEditDialogOpener.EnableWindow(FALSE);
		SetValuesInDialog(MsgId,0); // This is for when a call is from Add Edit Dialog, And we want MsgAttrib as filled one
	}

	InitFrequencyTimerCombo(); 
	AppId.SetCurSel(0);
	DiDialog.SetCheck(0);
	DiDataset.SetCheck(0);
	
	OnCbnSelendokComboAppid();
	OnCbnSelendokComboMsgid();

	free(dummy);



	return TRUE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}


void MsgAttributeChange::SetLibraryIdentifier(HINSTANCE lib_id)
{
	library_identifier = lib_id;
}

void MsgAttributeChange::InitText()
{
	LoadString(library_identifier,IDS_STRING_SEL_IND,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_sel_ind.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_STATIC_APPID_COMBO,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_appid.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_STATIC_MSGID_COMBO,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_msgid.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_SEL_ATTRIBS,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_sel_attrib.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_INPUT_MODE,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_def_input.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_default_ds.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_FREQ_ASYNC_MSG,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_ASYNC_MSG,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_ADD_DS,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_add_ds.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_NEW_DS,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_clk_to_add.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_SAVE,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	button_save.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);
	button_close.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_ADD,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	AddEditDialogOpener.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_DS_INPUT_MODE,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	DiDataset.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_DIALOG_INPUT_MODE,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	DiDialog.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_SEARCH_MSG,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	search_button.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_DLG_CHG_ATTRIB,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	SetWindowText(stringID_to_string);
}

void MsgAttributeChange::OnCbnSelendokComboAppid()
{
	CPtrList * ptrOutGoingMsgList= cmessagemanager.m_plstOutGoingMsg;
	COutgoingMessage * ptrOutGoingMsg;
	CString strAppId;
	char *dummy = (char*) malloc(sizeof(char)*10); 
	CmbMsgId.ResetContent ();
	CmbDataSet.ResetContent();
	mFreq.SetWindowText(_T(""));
	mTimer.SetWindowText(_T(""));
	DiDialog.SetCheck(0); 
	DiDataset.SetCheck(0);
	AppId.GetLBText(AppId.GetCurSel(),strAppId);
	UINT32 appid = _ttoi(strAppId);
	CmbMsgId.ResetContent();
	if(ptrOutGoingMsgList->GetCount())
	{
		for(POSITION pos =  ptrOutGoingMsgList->GetHeadPosition();pos!= NULL;)
		{
     		ptrOutGoingMsg = (COutgoingMessage *) (ptrOutGoingMsgList->GetNext (pos));
	
			if(ptrOutGoingMsg->GetAppId() == appid)
			{
				CmbMsgId.AddString(CString(itoa(ptrOutGoingMsg->GetMessageId(),dummy,10)) + ":" + (ptrOutGoingMsg->GetMessageName()));
			}
		}
	}
	CmbMsgId.SetCurSel (0);
	OnCbnSelendokComboMsgid();
	// TODO: Add your control notification handler code here
}

void MsgAttributeChange::OnCbnSelendokComboMsgid()
{
	
	CString sMsgId, msgformat;
	CmbMsgId.GetLBText(CmbMsgId.GetCurSel(),sMsgId);
    CPtrList * ptrOutGoingMsgList= cmessagemanager.m_plstOutGoingMsg;
	COutgoingMessage * ptrOutGoingMsg;
	UINT32 messageid = _ttoi(sMsgId);
	CDataList datalist;
	char *dummy = (char*) malloc(sizeof(char)*10) ;
	CmbDataSet.ResetContent();
	
	mFreq.SetWindowText(_T(""));
	mTimer.SetWindowText(_T(""));
	DiDialog.EnableWindow(1); 
	DiDataset.EnableWindow(1); 
	CmbDataSet.EnableWindow(1); 
	mFreq.EnableWindow(1); 
	mTimer.EnableWindow(1); 
	
	if(ptrOutGoingMsgList->GetCount())
	{
		for(POSITION pos =  ptrOutGoingMsgList->GetHeadPosition();pos!= NULL;)
		{
     		ptrOutGoingMsg = (COutgoingMessage *) (ptrOutGoingMsgList->GetNext (pos));
			if(ptrOutGoingMsg->GetMessageId()== messageid)
			{
				msgformat = ptrOutGoingMsg->GetFormat();
				break;

⌨️ 快捷键说明

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