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

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

#include "stdafx.h"
#include "PixtelDataTypes.h"
#include "QMMINWSimulator.h"
#include "GenericInput.h"
#include "Format.h"
#include "Value.h"
#include "Var.h"
#include ".\genericinput.h"
IMPLEMENT_DYNAMIC(CGenericInput, CDialog)
CGenericInput::CGenericInput(CWnd* pParent /*=NULL*/)
	: CDialog(CGenericInput::IDD, pParent)
{
}

CGenericInput::~CGenericInput()
{

}

void CGenericInput::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_EDIT_OUTGOING_MSG_NAME, out_going_msg_name);
	DDX_Control(pDX, IDC_EDIT_OUTGOING_MSGID, out_going_msg_id);
	DDX_Control(pDX, IDC_EDIT_INCOMING_MSG_NAME, incoming_msg_name);
	DDX_Control(pDX, IDC_EDIT_INCOMING_MSG_ID, incoming_msg_id);
	DDX_Control(pDX, IDC_LIST_DATASET_DETAILS, dataset_details);
	DDX_Control(pDX, IDC_STATIC_INC_MSG_DETAILS, static_inc_msg_details);
	DDX_Control(pDX, IDC_STATIC_INCOMING_MSG_NAME, static_inc_msg_name);
	DDX_Control(pDX, IDC_STATIC_INCOMING_MSG_ID, static_inc_msg_id);
	DDX_Control(pDX, IDC_STATIC_OUTGOING_MSG_DETAILS, static_outgoing_msg_details);
	DDX_Control(pDX, IDC_STATIC_OUTGOING_MSG_NAME, static_out_msg_name);
	DDX_Control(pDX, IDC_STATIC_OUTGOING_MSG_ID, static_outgoing_id);
	DDX_Control(pDX, IDC_STATIC_DS_DETAILS, static_ds_details);
	DDX_Control(pDX, ID_BUTTON_MAKEBUFFER, in_dlg_Send);
	DDX_Control(pDX, IDC_BUTTON_ONCLOSE, in_dlg_Close);
}



BOOL CGenericInput::OnInitDialog()
{
	
	CDialog::OnInitDialog();

	/*Filling of the outgoing and incoming message edit boxes*/
	char * buffer_for_msgid = (char*) malloc(20);   /* this is reqd only for itoa and used for no oyher purpose*/
	out_going_msg_name.SetWindowText(OutGoingMsgPtr->GetMessageName());
	out_going_msg_id.SetWindowText(CString(itoa(OutGoingMsgPtr->GetMessageId(),buffer_for_msgid,10)));
	
	if(cmessagemanager.m_plstIncomingMsg->GetCount())
	{
		for(POSITION pos = cmessagemanager.m_plstIncomingMsg->GetHeadPosition();pos!=NULL;)
		{
			CIncomingMsg * incoming_msg = (CIncomingMsg *)cmessagemanager.m_plstIncomingMsg->GetNext(pos);
			if(incoming_msg->GetMessageId() == IncomingMsgID)
			{
				incoming_msg_name.SetWindowText(incoming_msg->GetMessageName());
				incoming_msg_id.SetWindowText(CString(itoa(incoming_msg->GetMessageId(),buffer_for_msgid,10)));
			}
		}

	}
	free(buffer_for_msgid);
	Inittext();
	InitListDrop();

	return 1;	
}


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

void CGenericInput::Inittext()
{
	LoadString(library_identifier,IDS_STRING_INC_MSG_DETAILS,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_inc_msg_details.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_MESSAGE_NAME,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_inc_msg_name.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_MESSAGE_ID,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_inc_msg_id.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_OUTGOING_DETAILS,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_outgoing_msg_details.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_OUTGOING_NAME,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_out_msg_name.SetWindowText(stringID_to_string);
	LoadString(library_identifier,IDS_STRING_OUTGOING_ID,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_outgoing_id.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_DATASET_DETAILS,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	static_ds_details.SetWindowText(stringID_to_string);

	LoadString(library_identifier,IDS_STRING_DLG_GEN_INP,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	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);
	in_dlg_Send.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);
	in_dlg_Close.SetWindowText(stringID_to_string);


}

CFormat* CGenericInput::GetFormatForMessage(CMessage *pMessage)
{
	if(pMessage!=NULL)
	{
		CFormat *pFormat;
		if(cmessagemanager.m_pFormatList->GetCount() > 0)//check if emtpy message list 
		{	
			for( POSITION pos = cmessagemanager.m_pFormatList->GetHeadPosition(); pos != NULL;)
			{
				pFormat = (CFormat*)(cmessagemanager.m_pFormatList->GetNext( pos )) ;
				if(!(pMessage->GetFormat().CompareNoCase(pFormat->GetName())))				
				{
					return pFormat;
				}
			}
		}	
	}
	return NULL;
}

void CGenericInput::InitListDrop()
{
	CFormat * fmt_ptr_for_out_going_msg;
	CDataList datalist_for_out_going_msg;
	CString default_dataset_for_out_going_msg;
	CData dataobj;
	/*Initialisation of list drop window.....dataset deatils*/
	int index = 1;
	dataset_details.SetEditableColumns(index);
    CMap<int,int,CString,CString&>* pList = new CMap<int,int,CString,CString&>();
	LoadString(library_identifier,IDS_STRING_DATA_TYPE,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	dataset_details.InsertColumn(0,stringID_to_string,NON_EDITABLE,NULL,MAX_STR_RES_LEN,LVCFMT_LEFT,70,0);
	LoadString(library_identifier,IDS_STRING_VAR_NAME,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
    dataset_details.InsertColumn(1,stringID_to_string,NON_EDITABLE,NULL,MAX_STR_RES_LEN,LVCFMT_LEFT,70,0);
	LoadString(library_identifier,IDS_STRING_DESCRIPTION_DATA_VAL,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
	dataset_details.InsertColumn(2,stringID_to_string,NON_EDITABLE,NULL,MAX_STR_RES_LEN,LVCFMT_LEFT,70,0);
	LoadString(library_identifier,IDS_STRING_VALUE,stringID_to_string.GetBuffer(MAX_LANG_RES_STRING_LEN+1),MAX_LANG_RES_STRING_LEN);
    dataset_details.InsertColumn(3,stringID_to_string,EDITABLE,pList,MAX_STR_RES_LEN,LVCFMT_LEFT,70,0);
	dataset_details.SetColumnWidth(0,100);
    dataset_details.SetColumnWidth(1,100);
	dataset_details.SetColumnWidth(2,200);
	dataset_details.SetColumnWidth(3,200);

	fmt_ptr_for_out_going_msg = GetFormatForMessage(OutGoingMsgPtr);	
	datalist_for_out_going_msg = fmt_ptr_for_out_going_msg->GetDataList();
	default_dataset_for_out_going_msg = datalist_for_out_going_msg.GetDefault();
	CList<CVar,CVar&> & varlist_outgoing = fmt_ptr_for_out_going_msg->GetVarList();
	CList<CData,CData&> & dataset_list = datalist_for_out_going_msg.GetData();
	index =0;
	if(dataset_list.GetCount())
	{
		for(POSITION pos = dataset_list.GetHeadPosition();pos!=NULL;)
		{
			dataobj = (dataset_list.GetNext(pos));
			if(!dataobj.GetName().CompareNoCase(default_dataset_for_out_going_msg))
			{
				CList<CValue,CValue&>& valuelist_outgoing = dataobj.GetValueList();
				if(valuelist_outgoing.GetCount() && varlist_outgoing.GetCount())
				{
					POSITION pos2 = varlist_outgoing.GetHeadPosition();
					for(POSITION pos1 = valuelist_outgoing.GetHeadPosition();pos1!=NULL;)
					{
						CValue val_for_listdrop = valuelist_outgoing.GetNext(pos1);
						CVar var_for_listdrop = varlist_outgoing.GetNext(pos2);
						dataset_details.InsertItem(index,var_for_listdrop.GetDataType().GetName());
						dataset_details.SetItemText(index,1,var_for_listdrop.GetName());
						dataset_details.SetItemText(index,2,val_for_listdrop.GetDescription());
						dataset_details.SetItemText(index++,3,val_for_listdrop.GetSourceValue());
					}
				}
			}
		}

⌨️ 快捷键说明

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