22 #ifndef DOXYGEN_NOTFOR_DEVEL
23 #ifndef TLP_PROPERTYMANAGER_H
24 #define TLP_PROPERTYMANAGER_H
28 #include <tulip/Node.h>
29 #include <tulip/Edge.h>
33 template<
class itType >
36 class PropertyInterface;
39 class PropertyManager {
42 std::map<std::string, PropertyInterface*> localProperties;
43 std::map<std::string, PropertyInterface*> inheritedProperties;
47 explicit PropertyManager(Graph*);
50 bool existProperty(
const std::string&)
const;
51 bool existLocalProperty(
const std::string&)
const;
52 bool existInheritedProperty(
const std::string&)
const;
53 void setLocalProperty(
const std::string&, PropertyInterface *);
54 PropertyInterface* getProperty(
const std::string&)
const;
55 PropertyInterface* getLocalProperty(
const std::string&)
const;
56 PropertyInterface* getInheritedProperty(
const std::string&)
const;
57 void delLocalProperty(
const std::string&);
58 void notifyBeforeDelInheritedProperty(
const std::string&);
59 void erase(
const node );
60 void erase(
const edge );
62 Iterator<std::string>* getLocalProperties();
63 Iterator<std::string>* getInheritedProperties();
64 Iterator<PropertyInterface*>* getLocalObjectProperties();
65 Iterator<PropertyInterface*>* getInheritedObjectProperties();
68 void setInheritedProperty(
const std::string&, PropertyInterface *);
74 #endif //DOXYGEN_NOTFOR_DEVEL