File: PropertyEvent.sip

package info (click to toggle)
tulip 4.8.0dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 179,264 kB
  • ctags: 64,517
  • sloc: cpp: 600,444; ansic: 36,311; makefile: 22,136; python: 1,304; sh: 946; yacc: 522; xml: 337; pascal: 157; php: 66; lex: 55
file content (114 lines) | stat: -rw-r--r-- 4,262 bytes parent folder | download | duplicates (2)
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

};

};