00001 /*========================================================================= 00002 00003 Program: Medical Imaging & Interaction Toolkit 00004 Language: C++ 00005 Date: $Date$ 00006 Version: $Revision$ 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 00019 #ifndef MITKPROPERTYMANAGER_H_HEADER_INCLUDED 00020 #define MITKPROPERTYMANAGER_H_HEADER_INCLUDED 00021 #include "mitkPropertyList.h" 00022 #include "MitkExtExports.h" 00023 #include <set> 00024 #include <map> 00025 00026 namespace mitk { 00027 class MitkExt_EXPORT PropertyManager { 00028 00029 public: 00030 typedef std::set<std::string> PropertyNameSet; 00031 00032 // typedef PropertyNameSetterator PropertyNameIterator; 00033 const PropertyNameSet& GetDefaultPropertyNames(); 00034 BaseProperty::Pointer CreateDefaultProperty(std::string name); 00035 static PropertyManager* GetInstance(); 00036 bool GetDefaultLimits(const std::string &name,std::pair<float,float> &minMax); 00037 protected: 00038 PropertyManager(); 00039 PropertyNameSet m_DefaultPropertyNameSet; 00040 static void InitDefaultPropertyNames(); 00041 typedef std::map< std::string, std::pair<float,float> > PropertyLimitsMap; 00042 PropertyLimitsMap m_PropertyLimits; 00043 } ; 00044 } 00045 00046 00047 #endif /* MITKPROPERTYMANAGER_H_HEADER_INCLUDED */ 00048 00049