00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision: 18127 $ 00007 00008 Copyright (c) German Cancer Research Center, Division of Medical and 00009 Biological Informatics. All rights reserved. 00010 See MITKCopyright.txt or https://www.mitk.org/copyright.html for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef mitkEnumerationPropertySerializer_h_included 00019 #define mitkEnumerationPropertySerializer_h_included 00020 00021 #include "mitkBasePropertySerializer.h" 00022 00023 #include "mitkEnumerationProperty.h" 00024 00025 #include "SceneSerializationBaseExports.h" 00026 00027 namespace mitk 00028 { 00029 00030 class SceneSerializationBase_EXPORT EnumerationPropertySerializer : public BasePropertySerializer 00031 { 00032 public: 00033 00034 mitkClassMacro( EnumerationPropertySerializer, BasePropertySerializer ); 00035 00036 virtual TiXmlElement* Serialize() 00037 { 00038 if (const EnumerationProperty* prop = dynamic_cast<const EnumerationProperty*>(m_Property.GetPointer())) 00039 { 00040 TiXmlElement* element = new TiXmlElement("enum"); 00041 element->SetAttribute("value", prop->GetValueAsString()); 00042 return element; 00043 } 00044 else return NULL; 00045 } 00046 00047 protected: 00048 00049 EnumerationPropertySerializer() {} 00050 virtual ~EnumerationPropertySerializer() {} 00051 }; 00052 00053 } // namespace 00054 00055 // important to put this into the GLOBAL namespace (because it starts with 'namespace mitk') 00056 MITK_REGISTER_SERIALIZER(EnumerationPropertySerializer); 00057 00058 #endif 00059