Ejemplo n.º 1
0
void COption::ReadXML( CXMLReader &xml )
{
	CString name;
	xml.intoTag();

	// Set the default colours (ignoring the registry)
	m_oColors.Init();


	while (xml.nextTag( name ))
	{
		if (name == "FONT")
		{
// !!		xml.getChildData( CurrentFont );
		}
		else if (name == "STYLE")
		{
// !!		xml.getChildData( CurrentStyle );
		}
		else if (name == "GRID")
		{
			xml.getChildData( GridShow );
		}
		else if (name == "UNITS")
		{
			xml.getChildData( Units );
		}
		else
		{
			m_oColors.ReadXML( xml, name );
		}
	}	

	xml.outofTag();
}
Ejemplo n.º 2
0
void CDrawLine::LoadXML( CXMLReader &xml )
{
	switch (xtype) 
	{
	case xBus:
	case xWire:
		if (xml.getAttribute( _T("style"), m_style ))
		{
			m_style = m_pDesign->GetOptions()->GetNewStyleNumber(m_style);
			m_use_default_style = FALSE;
		}
		else
		{
			m_use_default_style = TRUE;
		}
		break;
	default:
		m_use_default_style = FALSE;
		xml.getAttribute( _T("style"), m_style );
		m_style = m_pDesign->GetOptions()->GetNewStyleNumber(m_style);
		break;
	}	

	xml.getAttribute( _T("a"), m_point_a );
	xml.getAttribute( _T("b"), m_point_b );
}
void CDrawMetaFile::LoadXML( CXMLReader &xml )
{
	xml.getAttribute( _T("a"), m_point_a );
	xml.getAttribute( _T("b"), m_point_b );
	xml.getAttribute( _T("id"), m_metafile );
	m_metafile = m_pDesign->GetOptions()->GetNewMetaFileNumber(m_metafile);
}
Ejemplo n.º 4
0
void CDrawPower::LoadXML(CXMLReader &xml)
{
	xml.getAttribute(_T("pos"), m_point_a);
	xml.getAttribute(_T("which"), which);
	xml.getAttribute(_T("direction"), dir);
	xml.getChildData(str);

	m_point_b = m_point_a;
	TextPos = m_point_a;
}
Ejemplo n.º 5
0
void CDrawSquare::LoadXML( CXMLReader &xml )
{
    xml.getAttribute( _T("a"), m_point_a );
    xml.getAttribute( _T("b"), m_point_b );
    xml.getAttribute( _T("style"), Style );
    xml.getAttribute( _T("fill"), Fill );

    Style = m_pDesign->GetOptions()->GetNewStyleNumber(Style);
    Fill = m_pDesign->GetOptions()->GetNewFillStyleNumber(Fill);
}
Ejemplo n.º 6
0
int		wmain()
{
	//const TCHAR * pFileName = _T( "AttributeLoad.xml" );
	const TCHAR * pFileName = _T( "ElementLoad.xml" );
	//const TCHAR * pFileName = _T( "expat_test.vcproj" );
	//const TCHAR * pFileName = _T( "vcproj.xml" );

	CXMLDocument * pDoc = NULL;
	{
		CXMLReader clReader;
		pDoc = clReader.Load( pFileName );
		if( pDoc == NULL )
		{
			::wprintf( L"Parse error at file: %s, line %lu:\n%s\n",
					pFileName,
					clReader.GetErrorLine(),
					clReader.GetErrorString()
					);

			return 0;
		}
	}

	DumpAllXMLElement( CXMLDocument::GetElement( pDoc->GetRoot(), _T( "Root" ) ) );

	{
		CXMLElement * pElement = CXMLDocument::GetElement( pDoc->GetRoot(), _T( "/Root/Monster" ) );
		DumpAllXMLElement( pElement );

		CXMLElement * pNotFound = CXMLDocument::GetElement( pDoc->GetRoot(), _T( "/Rootadf/Monster" ) );
		if( pNotFound != NULL )
		{
			wprintf( L"Found! Name: %s\n", pNotFound->GetName() );
		}

		const TCHAR * pText = CXMLDocument::GetText( pElement, _T( "Name/" ) );
		if( pText != NULL )
		{
			wprintf( L"Name Text: %s\n", pText );
		}

		const TCHAR * pValue = CXMLDocument::GetAttr( pElement, _T( "/Name" ), _T( "Attr" ) );
		if( pValue != NULL )
		{
			wprintf( L"Name Attr: %s\n", pValue );
		}
	}

	return 0;
}
Ejemplo n.º 7
0
//-------------------------------------------------------------------------
void CUserColor::ReadXML(CXMLReader& xml, CString sTagName)
{
	// Is this a colour?
	for (TNamesMapIterator i = m_colNames.begin(); i != m_colNames.end(); i++)
	{
		int nID = i->first;
		CString sName = i->second;
		COLORREF crColor;

		if (sTagName == sName)
		{
			xml.getChildData(crColor);
			m_colColorRef[nID] = crColor;
			break;
		}
	}
}
Ejemplo n.º 8
0
////// Load a design from a file, loaded design will be selected //////
BOOL CTinyCadDoc::ReadFileXML(CXMLReader &xml, BOOL Details, drawingCollection &drawing, BOOL AlreadyStarted)
{
  try
  {
	// Read in the first item...
	CString name;
	bool sheets = false;

	if (!AlreadyStarted)
	{
		xml.nextTag( name );
		if (name == "TinyCADSheets")
		{
			xml.intoTag();
			sheets = true;
			// We must search for the first TinyCAD section
			while (xml.nextTag( name ) && name != GetXMLTag())
			{
			}
		}
		
		// Check we are at the right point
		if (name != GetXMLTag())
		{
			Message(IDS_ABORTVERSION,MB_ICONEXCLAMATION);
			return FALSE;
		}
	}

	BOOL ResetMerge = TRUE;

	xml.intoTag();

	while (	xml.nextTag( name ) )
	{
		// Save the old layer setting
		CDrawingObject *obj = NULL;

		if (name == "DETAILS" )
		{
			if (Details)
			{
				GetDetails().ReadXML( xml, m_snap );
			}
		}
		else if (name == "NAME")
		{
			if (Details)
			{
				xml.getChildData( m_sheet_name );
			}
		}
		else if (name == "GRID")
		{
			if (Details)
			{
				m_snap.LoadXML( xml );
			}
		}
		else if (name == "FONT")
		{
			if (ResetMerge)
			{
				theOptions.ResetMerge();
				ResetMerge = FALSE;
			}
			theOptions.LoadFontXML(xml);
		}
		else if (name == "STYLE")
		{
			if (ResetMerge)
			{
				theOptions.ResetMerge();
				ResetMerge = FALSE;
			}
			theOptions.LoadStyleXML(xml);
		}
		else if (name == "FILL")
		{
			if (ResetMerge)
			{
				theOptions.ResetMerge();
				ResetMerge = FALSE;
			}
			theOptions.LoadFillStyleXML(xml);
		}
		else if (name == "META" || name == "IMAGE")
		{
			if (ResetMerge)
			{
				theOptions.ResetMerge();
				ResetMerge = FALSE;
			}
			theOptions.LoadMetaFileXML(xml);
		}
		else if (name == "SYMBOLDEF")
		{
			if (ResetMerge)
			{
				theOptions.ResetMerge();
				ResetMerge = FALSE;
			}
			theOptions.LoadSymbolXML(xml);
		}
		else if (name == "OPTIONS")
		{
			theOptions.ReadXML( xml );
		}
		else if (name == CDrawBusSlash::GetXMLTag())
		{
			obj = new CDrawBusSlash(this);
		}
		else if (name == CDrawTag::GetXMLTag())
		{
			obj = new CDrawTag(this);
		}
		else if (name == CDrawJunction::GetXMLTag())
		{
			obj = new CDrawJunction(this);
		}
		else if (name == CDrawLine::GetXMLTag(xBus))
		{
			obj = new CDrawLine(this, xBus);
		}
		else if (name == CDrawLine::GetXMLTag(xWire))
		{
			obj = new CDrawLine(this, xWire);
		}
		else if (name == CDrawLine::GetXMLTag(xLineEx2))
		{
			obj = new CDrawLine(this, xLineEx2);
		}
		else if (name == CDrawMetaFile::GetXMLTag())
		{
			obj = new CDrawMetaFile(this);
		}
		else if (name == CDrawMethod::GetXMLTag())
		{
			obj = new CDrawMethod(this);
		}
		else if (name == CDrawHierarchicalSymbol::GetXMLTag())
		{
			obj = new CDrawHierarchicalSymbol(this);
		}
		else if (name == CDrawNoConnect::GetXMLTag())
		{
			obj = new CDrawNoConnect(this);
		}
		else if (name == CDrawPin::GetXMLTag())
		{
			obj = new CDrawPin(this);
		}
		else if (name == CDrawRuler::GetXMLTag())
		{
			obj = new CDrawRuler(this, FALSE);
		}
		else if (name == CDrawSquare::GetXMLTag( TRUE ))
		{
			obj = new CDrawSquare(this, xSquareEx3);
		}
		else if (name == CDrawSquare::GetXMLTag( FALSE ))
		{
			obj = new CDrawSquare(this, xCircleEx3);
		}
		else if (name == CDrawText::GetXMLTag(xTextEx2))
		{
			obj = new CDrawText(this, xTextEx2);
		}
		else if (name == CDrawText::GetXMLTag(xBusNameEx))
		{
			obj = new CDrawText(this, xBusNameEx);
		}
		else if (name == CDrawLabel::GetXMLTag())
		{
			obj = new CDrawLabel(this);
		}
		else if (name == CDrawPolygon::GetXMLTag())
		{
			obj = new CDrawPolygon(this);
		}
		else if (name == CDrawPower::GetXMLTag())
		{
			obj = new CDrawPower(this);
		}

		if (obj != NULL)
		{
			// Load this object...
			obj->LoadXML( xml );

			// Now add object to linked list
			drawing.insert( drawing.end(), obj );
		}
	}

	xml.outofTag();

	if (sheets)
	{
		xml.outofTag();
	}
  }
  catch( CException *e ) 
  {
	  e->ReportError();
	  e->Delete();
	  return FALSE;
  }


  return drawing.size() > 0;
}
Ejemplo n.º 9
0
BOOL CApp::LoadRegExFile()
{
	if(!m_pEMML){
		return FALSE;
	}
	
	CXMLReader* XML = new CXMLReader();
	//Tag refrences returned by the XMLREADER class
	XML_TAG xRoot,xEquivs,xContents,xExpression;
	
	XML_ATT xMatchingPattern,xReplaceString;

	int iLoop;
	LPCTSTR pRegEx = g_pRegExPath;
	if(!_memicmp(pRegEx,L"FILE://",14)) pRegEx+=7;
	if(!XML->ParseFile(pRegEx)==SUCCESS){
		return FALSE;
	}
	
	xRoot = XML->GetElement(L"RegularEx",0);
	//load all of the equiv regular expressions
	if(!xRoot){
		return FALSE;
	}
	xEquivs = XML->GetChildElement(xRoot,L"Equivs",0);
	if(xEquivs){
		
		for(iLoop = 0;;iLoop++)
		{
			xExpression = XML->GetChildElement(xEquivs,L"Expression",iLoop);
			if(!xExpression){ 
				break;//no more Equiv expressions
			}
			
			
			xMatchingPattern	= XML->GetAttrByName(xExpression,L"PatternEx");
			xReplaceString		= XML->GetAttrByName(xExpression,L"replaceEX");
						
			if(!xMatchingPattern || !xReplaceString){
				Log(PB_LOG_ERROR,L"Illegal XML tag",L"CApp::LoadRegExFile",__LINE__,L"Core");
				return FALSE;
			}
			if(!m_pEMML->AddRegExPair_HE(xMatchingPattern->lpValue,xReplaceString->lpValue)){
				Log(PB_LOG_ERROR,L"Could not add regEx to EMML",L"CApp::LoadRegExFile",__LINE__,L"Core");
				return FALSE;
			}
			//Log(PB_LOG_INFO,xMatchingPattern->lpValue,xReplaceString->lpValue,__LINE__,L"LoadRegExFile");
		}
	}
	
	xContents = XML->GetChildElement(xRoot,L"Contents",0);
	//load all of the content regular expressions
	if(xContents){
	
		for(iLoop = 0;;iLoop++)
		{
			xExpression = XML->GetChildElement(xContents,L"Expression",iLoop);
			if(!xExpression){ 
				break;//no more Equiv expressions
			}
			
			
			xMatchingPattern	= XML->GetAttrByName(xExpression,L"PatternEx");
			xReplaceString		= XML->GetAttrByName(xExpression,L"replaceEX"); 

			if(!xMatchingPattern || !xReplaceString){
				Log(PB_LOG_ERROR,L"Illegal XML tag",L"CApp::LoadRegExFile",__LINE__,L"Core");
				return FALSE;
			}
			if(!m_pEMML->AddRegExPair_CT(xMatchingPattern->lpValue,xReplaceString->lpValue)){
				Log(PB_LOG_ERROR,L"Could not add regEx to EMML",L"CApp::LoadRegExFile",__LINE__,L"Core");
				return FALSE;
			}
			//Log(PB_LOG_INFO,xMatchingPattern->lpValue,xReplaceString->lpValue,__LINE__,L"LoadRegExFile");
		}
	}
	delete XML;
	return TRUE;
}