20 #ifndef TULIP_METAGRAPH_H
21 #define TULIP_METAGRAPH_H
23 #include <tulip/PropertyTypes.h>
24 #include <tulip/AbstractProperty.h>
28 class PropertyContext;
31 typedef AbstractProperty<tlp::GraphType, tlp::EdgeSetType> AbstractGraphProperty;
40 friend class GraphAbstract;
46 void treatEvent(
const Event&);
50 bool setNodeStringValue(
const node n,
const std::string & v);
51 bool setAllNodeStringValue(
const std::string & v);
52 bool setEdgeStringValue(
const edge e,
const std::string & v);
53 bool setAllEdgeStringValue(
const std::string & v);
54 static const std::string propertyTypename;
55 std::string getTypename()
const {
56 return propertyTypename;
61 virtual void setNodeValue(
const node n,
const GraphType::RealType& g);
62 virtual void setAllNodeValue(
const GraphType::RealType& g);
65 bool hasNonDefaultValue(
const node n)
const {
66 return nodeProperties.hasNonDefaultValue(n.
id);
68 bool hasNonDefaultValue(
const edge e)
const {
69 return !edgeProperties.get(e.
id).empty();
73 MutableContainer<std::set<node> > referencedGraph;
74 const std::set<edge>& getReferencedEdges(
const edge)
const;