[mapguide-commits] r1250 - trunk/MgDev/Common/MdfParser
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri Mar 16 08:54:51 EDT 2007
Author: waltweltonlair
Date: 2007-03-16 08:54:51 -0400 (Fri, 16 Mar 2007)
New Revision: 1250
Modified:
trunk/MgDev/Common/MdfParser/IOAreaSymbolization2D.cpp
trunk/MgDev/Common/MdfParser/IOLineSymbolization2D.cpp
trunk/MgDev/Common/MdfParser/IOStroke.cpp
Log:
Cleaned up IOLineSymbolization2D. A LineSymbolization2D is just a stroke,
and therefore we can delegate a lot of the work to the IOStroke class.
Modified: trunk/MgDev/Common/MdfParser/IOAreaSymbolization2D.cpp
===================================================================
--- trunk/MgDev/Common/MdfParser/IOAreaSymbolization2D.cpp 2007-03-16 06:49:06 UTC (rev 1249)
+++ trunk/MgDev/Common/MdfParser/IOAreaSymbolization2D.cpp 2007-03-16 12:54:51 UTC (rev 1250)
@@ -89,7 +89,6 @@
void IOAreaSymbolization2D::ElementChars(const wchar_t *ch)
{
-
}
void IOAreaSymbolization2D::EndElement(const wchar_t *name, HandlerStack *handlerStack)
@@ -118,15 +117,13 @@
if (areaSymbolization != NULL && areaSymbolization->GetFill() != NULL)
IOFill::Write(fd, areaSymbolization->GetFill());
- //Property: Edge
+ //Property: Stroke
if (areaSymbolization != NULL && areaSymbolization->GetEdge() != NULL)
IOStroke::Write(fd, areaSymbolization->GetEdge(), "Stroke", version); // NOXLATE
// Write any previously found unknown XML
if (areaSymbolization != NULL && !areaSymbolization->GetUnknownXml().empty())
- {
fd << toCString(areaSymbolization->GetUnknownXml());
- }
dectab();
fd << tab() << "</AreaSymbolization2D>" << std::endl; // NOXLATE
Modified: trunk/MgDev/Common/MdfParser/IOLineSymbolization2D.cpp
===================================================================
--- trunk/MgDev/Common/MdfParser/IOLineSymbolization2D.cpp 2007-03-16 06:49:06 UTC (rev 1249)
+++ trunk/MgDev/Common/MdfParser/IOLineSymbolization2D.cpp 2007-03-16 12:54:51 UTC (rev 1250)
@@ -70,23 +70,25 @@
void IOLineSymbolization2D::ElementChars(const wchar_t *ch)
{
- if (m_currElemName == L"LineStyle") // NOXLATE
- this->_lineSymbolization->GetStroke()->SetLineStyle(ch);
- else if (m_currElemName == L"Thickness") // NOXLATE
- this->_lineSymbolization->GetStroke()->SetThickness(ch);
- else if (m_currElemName == L"Color") // NOXLATE
- this->_lineSymbolization->GetStroke()->SetColor(ch);
- else if (m_currElemName == L"Unit") // NOXLATE
+ Stroke* stroke = this->_lineSymbolization->GetStroke();
+
+ if (m_currElemName == swLineStyle)
+ stroke->SetLineStyle(ch);
+ else if (m_currElemName == swThickness)
+ stroke->SetThickness(ch);
+ else if (m_currElemName == swColor)
+ stroke->SetColor(ch);
+ else if (m_currElemName == swUnit)
{
LengthUnit unit = LengthConverter::EnglishToUnit(ch);
- this->_lineSymbolization->GetStroke()->SetUnit(unit);
+ stroke->SetUnit(unit);
}
- else if (m_currElemName == L"SizeContext") // NOXLATE
+ else if (m_currElemName == swSizeContext)
{
if (::wcscmp(ch, L"MappingUnits") == 0) // NOXLATE
- this->_lineSymbolization->GetStroke()->SetSizeContext(MdfModel::MappingUnits);
- else if (::wcscmp(ch, L"DeviceUnits") == 0) // NOXLATE
- this->_lineSymbolization->GetStroke()->SetSizeContext(MdfModel::DeviceUnits);
+ stroke->SetSizeContext(MdfModel::MappingUnits);
+ else // "DeviceUnits" & default
+ stroke->SetSizeContext(MdfModel::DeviceUnits);
}
}
@@ -95,7 +97,7 @@
if (m_startElemName == name)
{
if (!UnknownXml().empty())
- this->_lineSymbolization->SetUnknownXml(UnknownXml());
+ this->_lineSymbolization->GetStroke()->SetUnknownXml(UnknownXml());
this->lineRule->GetSymbolizations()->Adopt(this->_lineSymbolization);
handlerStack->pop();
@@ -108,66 +110,6 @@
void IOLineSymbolization2D::Write(MdfStream &fd, LineSymbolization2D *lineSymbolization, Version *version)
{
- //Property: Stroke
- if (lineSymbolization->GetStroke())
- {
- fd << tab() << startStr(sLineSymbolization2D) << std::endl;
- inctab();
-
- //Property: LineStyle
- fd << tab() << startStr(sLineStyle);
- fd << EncodeString(lineSymbolization->GetStroke()->GetLineStyle());
- fd << endStr(sLineStyle) << std::endl;
-
- //Property: Thickness
- fd << tab() << startStr(sThickness);
- fd << EncodeString(lineSymbolization->GetStroke()->GetThickness());
- fd << endStr(sThickness) << std::endl;
-
- //Property: ForegroundColor
- fd << tab() << startStr(sColor);
- fd << EncodeString(lineSymbolization->GetStroke()->GetColor());
- fd << endStr(sColor) << std::endl;
-
- //Property: Unit
- fd << tab() << startStr(sUnit);
- std::auto_ptr<MdfString> str(LengthConverter::UnitToEnglish(lineSymbolization->GetStroke()->GetUnit()));
- fd << EncodeString(*str);
- fd << endStr(sUnit) << std::endl;
-
- //Property: SizeContext
- // Only write SizeContext if the version is not less than 1.1
- bool bWriteSizeContext = true;
- if (version != NULL)
- {
- int nMajor = version->GetMajor();
- int nMinor = version->GetMinor();
- double scalerMajorMinorVersion = ( (double)version->GetMajor() ) * 1.0 + ( (double)version->GetMinor() ) * 0.1;
-
- bWriteSizeContext = (scalerMajorMinorVersion >= 1.1);
- }
-
- if (bWriteSizeContext)
- {
- fd << tab() << "<SizeContext>"; // NOXLATE
- if(lineSymbolization->GetStroke()->GetSizeContext() == MdfModel::MappingUnits)
- {
- fd << "MappingUnits"; // NOXLATE
- }
- else
- {
- fd << "DeviceUnits"; // NOXLATE
- }
- fd << "</SizeContext>" << std::endl; // NOXLATE
- }
-
- // Write any previously found unknown XML
- if (!lineSymbolization->GetUnknownXml().empty())
- {
- fd << toCString(lineSymbolization->GetUnknownXml());
- }
-
- dectab();
- fd << tab() << endStr(sLineSymbolization2D) << std::endl;
- }
+ // a LineSymbolization2D is just a Stroke
+ IOStroke::Write(fd, lineSymbolization->GetStroke(), sLineSymbolization2D, version);
}
Modified: trunk/MgDev/Common/MdfParser/IOStroke.cpp
===================================================================
--- trunk/MgDev/Common/MdfParser/IOStroke.cpp 2007-03-16 06:49:06 UTC (rev 1249)
+++ trunk/MgDev/Common/MdfParser/IOStroke.cpp 2007-03-16 12:54:51 UTC (rev 1250)
@@ -84,16 +84,12 @@
LengthUnit unit = LengthConverter::EnglishToUnit(ch);
this->_stroke->SetUnit(unit);
}
- else if (this->m_currElemName == swSizeContext) // NOXLATE
+ else if (m_currElemName == swSizeContext)
{
if (::wcscmp(ch, L"MappingUnits") == 0) // NOXLATE
- {
this->_stroke->SetSizeContext(MdfModel::MappingUnits);
- }
else // "DeviceUnits" & default
- {
this->_stroke->SetSizeContext(MdfModel::DeviceUnits);
- }
}
}
@@ -117,30 +113,31 @@
inctab();
//Property: LineStyle
- fd << tab() << "<LineStyle>"; // NOXLATE
+ fd << tab() << startStr(sLineStyle);
fd << EncodeString(stroke->GetLineStyle());
- fd << "</LineStyle>" << std::endl; // NOXLATE
+ fd << endStr(sLineStyle) << std::endl;
//Property: Thickness
- fd << tab() << "<Thickness>"; // NOXLATE
+ fd << tab() << startStr(sThickness);
fd << EncodeString(stroke->GetThickness());
- fd << "</Thickness>" << std::endl; // NOXLATE
+ fd << endStr(sThickness) << std::endl;
//Property: ForegroundColor
- fd << tab() << "<Color>"; // NOXLATE
+ fd << tab() << startStr(sColor);
fd << EncodeString(stroke->GetColor());
- fd << "</Color>" << std::endl; // NOXLATE
+ fd << endStr(sColor) << std::endl;
//Property: Unit
- fd << tab() << "<Unit>"; // NOXLATE
+ fd << tab() << startStr(sUnit);
std::auto_ptr<MdfString> str(LengthConverter::UnitToEnglish(stroke->GetUnit()));
fd << EncodeString(*str);
- fd << "</Unit>" << std::endl; // NOXLATE
+ fd << endStr(sUnit) << std::endl;
- if (!version || ((*version) >= Version(1, 1, 0))) // don't write to pre-1.1.0 schema
+ //Property: SizeContext
+ // Only write SizeContext if the version is 1.1 or greater
+ if (!version || ((*version) >= Version(1, 1, 0)))
{
- //Property: SizeContext
- fd << tab() << "<SizeContext>"; // NOXLATE
+ fd << tab() << startStr(sSizeContext);
if(stroke->GetSizeContext() == MdfModel::MappingUnits)
{
fd << "MappingUnits"; // NOXLATE
@@ -149,7 +146,7 @@
{
fd << "DeviceUnits"; // NOXLATE
}
- fd << "</SizeContext>" << std::endl; // NOXLATE
+ fd << endStr(sSizeContext) << std::endl;
}
// Write any previously found unknown XML
More information about the mapguide-commits
mailing list