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;