From ee0903f520403c5e03caef287f813e7b062d05ab Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sat, 17 Jun 2006 16:48:40 +0000 Subject: add some new (currently unused) source/renderer based elements --- lib/python/Components/Element.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 lib/python/Components/Element.py (limited to 'lib/python/Components/Element.py') diff --git a/lib/python/Components/Element.py b/lib/python/Components/Element.py new file mode 100644 index 00000000..6f812b20 --- /dev/null +++ b/lib/python/Components/Element.py @@ -0,0 +1,30 @@ +from Tools.CList import CList + +# down up +# Render Converter Converter Source + +# a bidirectional connection +class Element: + def __init__(self): + self.downstream_elements = CList() + self.upstream_elements = CList() + self.master = None + self.source = None + + def connectDownstream(self, downstream): + self.downstream_elements.append(downstream) + if self.master is None: + self.master = downstream + + def connectUpstream(self, upstream): + self.upstream_elements.append(upstream) + self.source = upstream # for single-source elements (i.e., most of them.) + self.changed() + + def connect(self, upstream): + self.connectUpstream(upstream) + upstream.connectDownstream(self) + + # default action: push downstream + def changed(self): + self.downstream_elements.changed() -- cgit v1.2.3