[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