ElementSelectionRule
Last update: 16.07.2026class compolyx.ElementSelectionRule(graph, obj, parent=None)
Base class for rules. This acts as an interface to the cpp object of the rules. The base class implements _py_update which is called after the cpp update. It sets the changed flag. Since NameGraph derives from Observable, observers can listen on ‘changed’.
In order to support csv_serialization, the classes have to implement a ‘_dict’ method and a list named ‘_csv_parameters’. The _dict method specifies which properties are written and _csv_parameters specifies which parameters are read and how they are parsed. The keys in _dict and the elements in _parameters_csv have to be consistent. If the conversion from the string to an object is more than simple type conversion, it can be implemented in _update_rule_from_csv.
Attributes
| Name | Description |
|---|---|
ElementSelectionRule.active |
Active status of the object. |
ElementSelectionRule.changed |
Triggers an observable to dispatch a change notification. |
ElementSelectionRule.enabled |
Indicates whether the object is enabled. |
ElementSelectionRule.extent |
Extent of the rule. |
ElementSelectionRule.id |
ID of the object. |
ElementSelectionRule.include_rule_type |
include type. |
ElementSelectionRule.is_dict_item |
Indicates whether the object is an item in a dictionary. |
ElementSelectionRule.is_list_item |
Indicates whether the object is an item of a list. |
ElementSelectionRule.link_path |
Root path of the current node in the tree for links to this object. |
ElementSelectionRule.name |
Name of the object. |
ElementSelectionRule.parent |
Parent object in the tree. |
ElementSelectionRule.relative_rule_type |
relative type. |
ElementSelectionRule.root_path |
Root path of the current node in the tree. |
ElementSelectionRule.status |
Status of the object. |
ElementSelectionRule.status_changed |
Boolean flag which is set to true in C++ when up-to-date status of object changes. |
ElementSelectionRule.uid |
UID of the object. |
ElementSelectionRule.vertex |
Raises an error if the object has been removed from the graph. |
Methods
| Name | Description |
|---|---|
ElementSelectionRule.find_parent(type) |
Steps up the tree and returns the first parent with given type. |
ElementSelectionRule.obj_exists() |
Checks if __obj still references the c++ object (has not been reset to None by self._delete) and exists in the graph. |
ElementSelectionRule.serialize_name_and_id() |
Serializes the name and ID. |
ElementSelectionRule.serialize_rule_types() |
|
ElementSelectionRule.update() |
|
ElementSelectionRule.visit(visitor) |
Walk through the tree and let the visitor perform action on every descendant node. |