📄 msgattributechange.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).
*
*****************************************************************************/
// 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 + -