24 #include <tulip/tuliphash.h>
25 #include <tulip/PropertyTypes.h>
26 #include <tulip/AbstractProperty.h>
27 #include <tulip/PropertyAlgorithm.h>
28 #include <tulip/Observable.h>
29 #include <tulip/minmaxproperty.h>
34 class PropertyContext;
36 typedef MinMaxProperty<tlp::IntegerType, tlp::IntegerType> IntegerMinMaxProperty;
42 class TLP_SCOPE IntegerProperty :
public IntegerMinMaxProperty {
45 IntegerProperty(Graph *, std::string n =
"");
47 PropertyInterface* clonePrototype(Graph *,
const std::string& );
48 static const std::string propertyTypename;
49 std::string getTypename()
const {
50 return propertyTypename;
52 virtual void setNodeValue(
const node n,
const int &v);
53 virtual void setEdgeValue(
const edge e,
const int &v);
54 virtual void setAllNodeValue(
const int &v);
55 virtual void setAllEdgeValue(
const int &v);
57 int compare(
const node n1,
const node n2)
const;
58 int compare(
const edge e1,
const edge e2)
const;
61 virtual void clone_handler(AbstractProperty<tlp::IntegerType, tlp::IntegerType> &);
65 void treatEvent(
const Event&);
72 class TLP_SCOPE IntegerVectorProperty:
public AbstractVectorProperty<tlp::IntegerVectorType, tlp::IntegerType> {
74 IntegerVectorProperty(Graph *g, std::string n =
""):AbstractVectorProperty<IntegerVectorType, tlp::IntegerType>(g, n) {}
76 PropertyInterface* clonePrototype(Graph *,
const std::string& );
77 static const std::string propertyTypename;
78 std::string getTypename()
const {
79 return propertyTypename;