Tulip  4.2.0
Better Visualization Through Research
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Groups Pages
tlp::GraphProperty Class Reference

#include <GraphProperty.h>

Inherits tlp::AbstractProperty< Tnode, Tedge >.

Public Member Functions

 GraphProperty (Graph *, std::string n="")
 
PropertyInterfaceclonePrototype (Graph *, const std::string &)
 
std::string getTypename () const
 
bool hasNonDefaultValue (const node n) const
 
bool hasNonDefaultValue (const edge e) const
 
bool setAllEdgeStringValue (const std::string &v)
 
bool setAllNodeStringValue (const std::string &v)
 
virtual void setAllNodeValue (const GraphType::RealType &g)
 
bool setEdgeStringValue (const edge e, const std::string &v)
 
bool setNodeStringValue (const node n, const std::string &v)
 
virtual void setNodeValue (const node n, const GraphType::RealType &g)
 
void treatEvent (const Event &)
 
- Public Member Functions inherited from tlp::AbstractProperty< Tnode, Tedge >
 AbstractProperty (Graph *, std::string n="")
 
int compare (const node n1, const node n2) const
 
int compare (const edge e1, const edge e2) const
 
virtual void computeMetaValue (node n, Graph *sg, Graph *mg)
 
virtual void computeMetaValue (edge e, tlp::Iterator< edge > *itE, Graph *mg)
 
virtual bool copy (const node destination, const node source, PropertyInterface *property, bool ifNotDefault=false)
 
virtual bool copy (const edge destination, const edge source, PropertyInterface *property, bool ifNotDefault=false)
 
virtual void copy (PropertyInterface *property)
 
virtual void erase (const node n)
 
virtual void erase (const edge e)
 
virtual DataMem * getEdgeDataMemValue (const edge e) const
 
virtual DataMem * getEdgeDefaultDataMemValue () const
 
virtual std::string getEdgeDefaultStringValue () const
 
virtual Tedge::RealType getEdgeDefaultValue () const
 
virtual std::string getEdgeStringValue (const edge e) const
 
virtual tlp::StoredType
< typename Tedge::RealType >
::ReturnedConstValue 
getEdgeValue (const edge e) const
 
virtual DataMem * getNodeDataMemValue (const node n) const
 
virtual DataMem * getNodeDefaultDataMemValue () const
 
virtual std::string getNodeDefaultStringValue () const
 
virtual Tnode::RealType getNodeDefaultValue () const
 
virtual std::string getNodeStringValue (const node n) const
 
virtual tlp::StoredType
< typename Tnode::RealType >
::ReturnedConstValue 
getNodeValue (const node n) const
 
virtual DataMem * getNonDefaultDataMemValue (const node n) const
 
virtual DataMem * getNonDefaultDataMemValue (const edge e) const
 
virtual tlp::Iterator< edge > * getNonDefaultValuatedEdges (const Graph *g=NULL) const
 
virtual tlp::Iterator< node > * getNonDefaultValuatedNodes (const Graph *g=NULL) const
 
virtual AbstractProperty
< Tnode, Tedge > & 
operator= (AbstractProperty< Tnode, Tedge > &prop)
 
virtual void setAllEdgeDataMemValue (const DataMem *v)
 
virtual void setAllEdgeValue (const typename Tedge::RealType &v)
 
virtual void setAllNodeDataMemValue (const DataMem *v)
 
virtual void setAllNodeValue (const typename Tnode::RealType &v)
 
virtual void setEdgeDataMemValue (const edge e, const DataMem *v)
 
virtual void setEdgeValue (const edge e, const typename Tedge::RealType &v)
 
virtual void setMetaValueCalculator (PropertyInterface::MetaValueCalculator *mvCalc)
 
virtual void setNodeDataMemValue (const node n, const DataMem *v)
 
virtual void setNodeValue (const node n, const typename Tnode::RealType &v)
 
- Public Member Functions inherited from tlp::PropertyInterface
void addPropertyObserver (Observable *pObs)
 
tlp::GraphgetGraph () const
 
MetaValueCalculatorgetMetaValueCalculator ()
 
const std::string & getName () const
 
void removePropertyObserver (Observable *pObs)
 
- Public Member Functions inherited from tlp::Observable
void addListener (Observable *const listener) const
 
void addObserver (Observable *const observer) const
 
unsigned int countListeners () const
 
unsigned int countObservers () const
 
unsigned int getReceived () const
 
unsigned int getSent () const
 
void removeListener (Observable *const listener) const
 
void removeObserver (Observable *const observerver) const
 

Static Public Attributes

static const std::string propertyTypename
 

Friends

class GraphAbstract
 

Additional Inherited Members

- Static Public Member Functions inherited from tlp::Observable
static ObservablegetObject (tlp::node n)
 
static const tlp::VectorGraph & getObservableGraph ()
 
static void holdObservers ()
 
static bool isAlive (tlp::node n)
 
static unsigned int observersHoldCounter ()
 
static void unholdObservers ()
 
- Protected Member Functions inherited from tlp::AbstractProperty< Tnode, Tedge >
virtual void clone_handler (AbstractProperty< Tnode, Tedge > &)
 
- Protected Attributes inherited from tlp::AbstractProperty< Tnode, Tedge >
Tedge::RealType edgeDefaultValue
 
MutableContainer< typename
Tedge::RealType > 
edgeProperties
 
Tnode::RealType nodeDefaultValue
 
MutableContainer< typename
Tnode::RealType > 
nodeProperties
 

Detailed Description

A graph property that maps a tlp::Graph* value to graph elements.

Warning
This property is mainly used into the meta node engine. Using GraphProperty outside of this system is strongly discouraged since it could lead to unwanted behavior.

Definition at line 39 of file GraphProperty.h.

Member Function Documentation

PropertyInterface* tlp::GraphProperty::clonePrototype ( Graph graph,
const std::string &  name 
)
virtual

Creates a property of the same type (e.g. tlp::DoubleProperty) in the graph. The new property will not contain a copy of this property's values.

Parameters
graphThe Graph in which to create the new property.
nameThe name of the new property.
Returns
The newly created property.

Implements tlp::PropertyInterface.

std::string tlp::GraphProperty::getTypename ( ) const
inlinevirtual

Gets a string describing the type of the property (e.g. "graph", "double", "layout", "string", "integer", "color", "size").

Returns
The name of this property's type.

Implements tlp::PropertyInterface.

Definition at line 55 of file GraphProperty.h.

bool tlp::GraphProperty::setAllEdgeStringValue ( const std::string &  value)
virtual

Sets all the edges value to the value described by the string. For some types, some parsing will be necessary (e.g. LayoutPorperty). All previous values are lost.

Parameters
valueA string describing the new value to set on all the edges.
Returns
Whether the given string was a correct representation for this property's type. If not, the values are not set.

Reimplemented from tlp::AbstractProperty< Tnode, Tedge >.

bool tlp::GraphProperty::setAllNodeStringValue ( const std::string &  value)
virtual

Sets all the nodes value to the value described by the string. For some types, some parsing will be necessary (e.g. LayoutPorperty). All previous values are lost.

Parameters
valueA string describing the new value to set on all the nodes.
Returns
Whether the given string was a correct representation for this property's type. If not, the values are not set.

Reimplemented from tlp::AbstractProperty< Tnode, Tedge >.

bool tlp::GraphProperty::setEdgeStringValue ( const edge  e,
const std::string &  value 
)
virtual

Sets a new value on the edge, described by the string parameter.

Parameters
eThe edge on which to set value on.
valueA string describing the value to set on the edge.
Returns
Whether the string was a correct representation for this property's type. If not, the value is not set.

Reimplemented from tlp::AbstractProperty< Tnode, Tedge >.

bool tlp::GraphProperty::setNodeStringValue ( const node  n,
const std::string &  value 
)
virtual

Sets a new value on the node, described by the string parameter.

Parameters
nThe node on which to set the new value.
valueA string describing the value to set on the node.
Returns
Whether the string was a correct representation for this property's type. If not, the value is not set.

Reimplemented from tlp::AbstractProperty< Tnode, Tedge >.

void tlp::GraphProperty::treatEvent ( const Event message)
virtual

treatEvent This function is called when events are sent to the Listeners, and Listeners only.

Is it passed a reference to the event that just happened.

Parameters
messageThe event that was sent.

Reimplemented from tlp::Observable.