1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
/**
*
* This file is part of Tulip (www.tulip-software.org)
*
* Authors: David Auber and the Tulip development Team
* from LaBRI, University of Bordeaux 1 and Inria Bordeaux - Sud Ouest
*
* Tulip is free software; you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation, either version 3
* of the License, or (at your option) any later version.
*
* Tulip is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
*/
namespace tlp {
class PropertyEvent : tlp::Event {
%TypeHeaderCode
#include <tulip/PropertyInterface.h>
%End
%Docstring
That class represents an event that happened on a :class:`tlp.PropertyInterface` derived instance.
To get the property that sent the event, use the :meth:`tlp.PropertyEvent.getProperty`.
The type of property event can be retrieved through the :meth:`tlp.PropertyEvent.getType` method.
Below is an exhaustive list of those types :
* :const:`tlp.PropertyEvent.TLP_BEFORE_SET_NODE_VALUE` : the value of a node is about to be modified. Use :meth:`tlp.PropertyEvent.getNode()` to get the concerned node.
* :const:`tlp.PropertyEvent.TLP_AFTER_SET_NODE_VALUE` : the value of a node has been modified. Use :meth:`tlp.PropertyEvent.getNode()` to get the concerned node.
* :const:`tlp.PropertyEvent.TLP_BEFORE_SET_EDGE_VALUE` : the value of an edge is about to be modified. Use :meth:`tlp.PropertyEvent.getEdge()` to get the concerned edge.
* :const:`tlp.PropertyEvent.TLP_AFTER_SET_EDGE_VALUE` : the value of an edge has been modified. Use :meth:`tlp.PropertyEvent.getEdge()` to get the concerned edge.
* :const:`tlp.PropertyEvent.TLP_BEFORE_SET_ALL_NODE_VALUE` : the value of all nodes is about to be modified.
* :const:`tlp.PropertyEvent.TLP_AFTER_SET_ALL_NODE_VALUE` : the value of all nodes has been modified.
* :const:`tlp.PropertyEvent.TLP_BEFORE_SET_ALL_EDGE_VALUE` : the value of all edges is about to be modified.
* :const:`tlp.PropertyEvent.TLP_AFTER_SET_ALL_EDGE_VALUE` : the value of all edges has been modified.
%End
%ConvertToSubClassCode
if (dynamic_cast<tlp::PropertyEvent*>(sipCpp)) {
sipType = sipFindType("tlp::PropertyEvent");
} else {
sipType = NULL;
}
%End
public:
enum PropertyEventType {TLP_BEFORE_SET_NODE_VALUE = 0,
TLP_AFTER_SET_NODE_VALUE,
TLP_BEFORE_SET_ALL_NODE_VALUE,
TLP_AFTER_SET_ALL_NODE_VALUE,
TLP_BEFORE_SET_ALL_EDGE_VALUE,
TLP_AFTER_SET_ALL_EDGE_VALUE,
TLP_BEFORE_SET_EDGE_VALUE,
TLP_AFTER_SET_EDGE_VALUE
};
PropertyEvent(const tlp::PropertyInterface& prop, PropertyEventType propEvtType,
tlp::Event::EventType evtType = tlp::Event::TLP_MODIFICATION,
unsigned int id = UINT_MAX);
// ========================================================================================
tlp::PropertyInterface* getProperty() const;
%Docstring
tlp.PropertyEvent.getProperty()
Returns the property concerned by the event.
:rtype: derived instances of :class:`tlp.PropertyInterface`
%End
// ========================================================================================
tlp::node getNode() const;
%Docstring
tlp.PropertyEvent.getNode()
Returns the node concerned by the event (if any, otherwise return an invalid node)
:rtype: :class:`tlp.node`
%End
// ========================================================================================
tlp::edge getEdge() const;
%Docstring
tlp.PropertyEvent.getEdge()
Returns the edge concerned by the event (if any, otherwise return an invalid edge)
:rtype: :class:`tlp.edge`
%End
// ========================================================================================
PropertyEventType getType() const;
%Docstring
tlp.Graph.getType()
Returns the type of graph event.
:rtype: :const:`tlp.GraphEvent.TLP_*` (cf. class description above)
%End
};
};
|