editors/LDViewer.py
branchpython3
changeset 3750 f62625418bff
parent 2457 9deec258ab1a
child 3752 9f6f46dbe3ae
equal deleted inserted replaced
3749:fda6c1a37662 3750:f62625418bff
    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):