Beispiel #1
0
	/*
	 * function    : FindChannel 
	 * design      : find channel in map and return it 
	 * param       : char * - channel name
	 * return      : ChannelObject* - ChannelObject pointer
	 * caller      : 
	 */
	ChannelObject* ChannelMap::FindChannel(const char *ChannelName)
	{
		std::string TempString(ChannelName);

		ChannelFinder = RealChannelMap.find(TempString);

		if( ChannelFinder != RealChannelMap.end() )  
			return ChannelFinder->second;
		else	return NULL;
	}
Beispiel #2
0
///한라인에 표시할수 있는 최대문자길이보다 크면 잘라서 추가한다.
void CTListBox::AppendText(const char* szTxt,D3DCOLOR dwColor,bool bAutoIncValue )
{
	if( szTxt == NULL )
		return;

	///최대 아이템수를 넘으면 제일먼저 들어온 아이템을 버린다.
	if( (m_iMaxSize > 0) && !m_ITM.empty() && (m_iMaxSize <= (int)m_ITM.size()) )
		m_ITM.pop_front();

	t_list_item itm;	
	itm.m_bDrawn = false;
	int iLen = (int)strlen( szTxt );


	CTSplitString szString;	
	SIZE szSize = szString.GetSizeText( m_iFont, szTxt );
	
	//홍근 :
	if( szSize.cx <= m_iWidth )
	//if( iLen <= m_nMaxPutChar )
	{
		strcpy(itm.m_szTxt,szTxt);
		itm.m_dwColor = dwColor;
		m_ITM.push_back(itm);
	}
	else
	{
		if( m_nMaxPutChar <= 0 )
		{
			strcpy( itm.m_szTxt,szTxt );
			itm.m_dwColor = dwColor;
			m_ITM.push_back(itm);

		}
		else
		{
			CTSplitString TempString( m_iFont, (char*)szTxt, m_iWidth ,CTControlMgr::GetInstance()->GetCodePage() );
			for( int i = 0; i < TempString.GetLineCount(); ++i )
			{
				strcpy( itm.m_szTxt, TempString.GetString( i ));
				itm.m_dwColor = dwColor;
				m_ITM.push_back(itm);
			}
		}
	}
	if( bAutoIncValue )
		SetValue( GetMaximum() );
}
Beispiel #3
0
	/*
	 * function    : add sc_clock
	 * design      : allocate sc_clock and push it to map
	 * param       : char * - channel name
	 * param       : char * - data type
	 */
	void ChannelMap::AddSCclock(const char *ChannelName, const char *DataType)
	{
		sc_interface *p_SCinterface = NULL;

		p_SCinterface =	new sc_clock(ChannelName, 10, SC_NS);
		
		ChannelObject *p_ChannelObject = new ChannelObject();

		// assign datas in ChannelObject
		strcpy(p_ChannelObject->ChannelType, "sc_clock");
		strcpy(p_ChannelObject->DataType, DataType);
		p_ChannelObject->p_SCinterface = p_SCinterface; 

		// insert ChannelObject into map
		std::string TempString(ChannelName);
	
		RealChannelMap[TempString] = p_ChannelObject;
	}
Beispiel #4
0
	/*
	 * function    : add sc_signal 
	 * design      : allocate sc_signal and push it to map
	 * param       : char * - channel name
	 * param       : char * - data type
	 */
	void ChannelMap::AddSCsignal(const char *ChannelName, const char *DataType)
	{
		sc_interface *p_SCinterface = NULL;

		if(strcmp(DataType, "bool") == 0)
			p_SCinterface =	new sc_signal<bool>(ChannelName);
		else if(strcmp(DataType, "UINT32") == 0)
			p_SCinterface =	new sc_signal<unsigned int>(ChannelName);
		else
			return;
		
		ChannelObject *p_ChannelObject = new ChannelObject();

		// assign datas in ChannelObject
		strcpy(p_ChannelObject->ChannelType, "sc_signal");
		strcpy(p_ChannelObject->DataType, DataType);
		p_ChannelObject->p_SCinterface = p_SCinterface; 

		// insert ChannelObject into map
		std::string TempString(ChannelName);
	
		RealChannelMap[TempString] = p_ChannelObject;
	}
Beispiel #5
0
	/*
	 * function    : add sc_signal 
	 * design      : allocate sc_signal and push it to map
	 * param       : char * - channel name
	 * param       : char * - data type
	 */
	void ChannelMap::AddAHBLiteSignal(const char *ChannelName, const char *DataType)
	{
		sc_interface *p_SCinterface = NULL;
		char a_NameTemp[256] = {0,};

		if(strcmp(DataType, "Master") == 0)	{
			char a_UINTTemp[7][256] = { "$HADDR_", "$HBURST_", "$HRDATA_",
															 		"$HSIZE_", "$HTRANS_", "$HWDATA_", "$HPROT_" };

			char a_BOOLTemp[4][256] = { "$HLOCK_", "$HWRITE_", "$HREADY_", "$HRESP_" };

			for(int UINTIndex = 0; UINTIndex < 7; UINTIndex++)	{
				strcpy(a_NameTemp, ChannelName);
				strcat(a_NameTemp, a_UINTTemp[UINTIndex]);	

				p_SCinterface = new sc_signal<unsigned int>(a_NameTemp);

				ChannelObject *p_ChannelObject = new ChannelObject();
				
				strcpy(p_ChannelObject->ChannelType, "AHBLITE");
				strcpy(p_ChannelObject->DataType, DataType);
				p_ChannelObject->p_SCinterface = p_SCinterface;

				std::string TempString(a_NameTemp);

				RealChannelMap[TempString] = p_ChannelObject;
			}

			for(int BOOLIndex = 0; BOOLIndex < 4; BOOLIndex++)	{
				strcpy(a_NameTemp, ChannelName);
				strcat(a_NameTemp, a_BOOLTemp[BOOLIndex]);

				p_SCinterface = new sc_signal<bool>(a_NameTemp);

				ChannelObject *p_ChannelObject = new ChannelObject();

				strcpy(p_ChannelObject->ChannelType, "AHBLITE");
				strcpy(p_ChannelObject->DataType, DataType);
				p_ChannelObject->p_SCinterface = p_SCinterface;

				std::string TempString(a_NameTemp);

				RealChannelMap[TempString] = p_ChannelObject;
			}
		}
		else if(strcmp(DataType, "Slave") == 0)	{
			char a_UINTTemp[7][256] = { "$HADDR_", "$HBURST_", "$HRDATA_",
																	"$HPROT_", "$HTRANS_", "$HWDATA_", "$HSIZE_" };

			char a_BOOLTemp[6][256] = { "$HLOCK_", "$HWRITE_", "$HREADY_", 
																	"$HSEL_", "$HREADYOUT_", "$HRESP_" };

			for(int UINTIndex = 0; UINTIndex < 7; UINTIndex++)	{
				strcpy(a_NameTemp, ChannelName);
				strcat(a_NameTemp, a_UINTTemp[UINTIndex]);

				p_SCinterface = new sc_signal<unsigned int>(a_NameTemp);

				ChannelObject *p_ChannelObject = new ChannelObject();
				
				strcpy(p_ChannelObject->ChannelType, "AHBLITE");
				strcpy(p_ChannelObject->DataType, DataType);
				p_ChannelObject->p_SCinterface = p_SCinterface;

				std::string TempString(a_NameTemp);

				RealChannelMap[TempString] = p_ChannelObject;
			}

			for(int BOOLIndex = 0; BOOLIndex < 6; BOOLIndex++)	{
				strcpy(a_NameTemp, ChannelName);
				strcat(a_NameTemp, a_BOOLTemp[BOOLIndex]);

				p_SCinterface = new sc_signal<bool>(a_NameTemp);

				ChannelObject *p_ChannelObject = new ChannelObject();

				strcpy(p_ChannelObject->ChannelType, "AHBLITE");
				strcpy(p_ChannelObject->DataType, DataType);
				p_ChannelObject->p_SCinterface = p_SCinterface;

				std::string TempString(a_NameTemp);

				RealChannelMap[TempString] = p_ChannelObject;
			}
		}
		else
			return;
	}