equal
deleted
inserted
replaced
21 # You should have received a copy of the GNU General Public License |
21 # You should have received a copy of the GNU General Public License |
22 # along with this program; if not, write to the Free Software |
22 # along with this program; if not, write to the Free Software |
23 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
23 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
24 |
24 |
25 |
25 |
26 from __future__ import absolute_import |
26 |
27 from __future__ import division |
27 |
28 from future.builtins import round |
28 from future.builtins import round |
29 |
29 |
30 import wx |
30 import wx |
31 from six.moves import xrange |
31 from six.moves import xrange |
32 |
32 |
67 element_tree[element] = {"parents": ["start"], "children": [], "weight": None} |
67 element_tree[element] = {"parents": ["start"], "children": [], "weight": None} |
68 GenerateTree(element, element_tree, stop_list) |
68 GenerateTree(element, element_tree, stop_list) |
69 elif element_tree[element]: |
69 elif element_tree[element]: |
70 element_tree[element]["parents"].append("start") |
70 element_tree[element]["parents"].append("start") |
71 remove_stops = {"start": [], "stop": []} |
71 remove_stops = {"start": [], "stop": []} |
72 for element, values in element_tree.items(): |
72 for element, values in list(element_tree.items()): |
73 if "stop" in values["children"]: |
73 if "stop" in values["children"]: |
74 removed = [] |
74 removed = [] |
75 for child in values["children"]: |
75 for child in values["children"]: |
76 if child != "stop": |
76 if child != "stop": |
77 # if child in elements: |
77 # if child in elements: |
86 values["children"].remove(child) |
86 values["children"].remove(child) |
87 for element in remove_stops["start"]: |
87 for element in remove_stops["start"]: |
88 element_tree[element]["parents"].remove("start") |
88 element_tree[element]["parents"].remove("start") |
89 for element in remove_stops["stop"]: |
89 for element in remove_stops["stop"]: |
90 element_tree[element]["children"].remove("stop") |
90 element_tree[element]["children"].remove("stop") |
91 for element, values in element_tree.items(): |
91 for element, values in list(element_tree.items()): |
92 if values and "stop" in values["children"]: |
92 if values and "stop" in values["children"]: |
93 CalcWeight(element, element_tree) |
93 CalcWeight(element, element_tree) |
94 if values["weight"]: |
94 if values["weight"]: |
95 branch_size += values["weight"] |
95 branch_size += values["weight"] |
96 else: |
96 else: |
299 def SearchElements(self, bbox): |
299 def SearchElements(self, bbox): |
300 if self.GetDrawingMode() == FREEDRAWING_MODE: |
300 if self.GetDrawingMode() == FREEDRAWING_MODE: |
301 return Viewer.SearchElements(self, bbox) |
301 return Viewer.SearchElements(self, bbox) |
302 |
302 |
303 elements = [] |
303 elements = [] |
304 for element in self.Blocks.values() + self.Comments.values(): |
304 for element in list(self.Blocks.values()) + list(self.Comments.values()): |
305 if element.IsInSelection(bbox): |
305 if element.IsInSelection(bbox): |
306 elements.append(element) |
306 elements.append(element) |
307 return elements |
307 return elements |
308 |
308 |
309 # ------------------------------------------------------------------------------- |
309 # ------------------------------------------------------------------------------- |
1188 for wire, _handle in connector.GetWires(): |
1188 for wire, _handle in connector.GetWires(): |
1189 self.RefreshPosition(wire.StartConnected.GetParentBlock()) |
1189 self.RefreshPosition(wire.StartConnected.GetParentBlock()) |
1190 |
1190 |
1191 def RefreshRungs(self, movey, fromidx): |
1191 def RefreshRungs(self, movey, fromidx): |
1192 if movey != 0: |
1192 if movey != 0: |
1193 for i in xrange(fromidx, len(self.Rungs)): |
1193 for i in range(fromidx, len(self.Rungs)): |
1194 self.RungComments[i].Move(0, movey) |
1194 self.RungComments[i].Move(0, movey) |
1195 self.RungComments[i].RefreshModel() |
1195 self.RungComments[i].RefreshModel() |
1196 self.Rungs[i].Move(0, movey) |
1196 self.Rungs[i].Move(0, movey) |
1197 for element in self.Rungs[i].GetElements(): |
1197 for element in self.Rungs[i].GetElements(): |
1198 if self.IsBlock(element): |
1198 if self.IsBlock(element): |