409 all_wires &= self.IsWire(element) |
409 all_wires &= self.IsWire(element) |
410 if all_wires: |
410 if all_wires: |
411 self.DeleteWire(self.SelectedElement) |
411 self.DeleteWire(self.SelectedElement) |
412 else: |
412 else: |
413 self.SelectedElement.Delete() |
413 self.SelectedElement.Delete() |
414 self.Refresh() |
414 self.RefreshBuffer() |
|
415 self.RefreshScrollBars() |
|
416 self.Refresh() |
|
417 elif keycode == WXK_LEFT: |
|
418 if event.ControlDown() and event.ShiftDown(): |
|
419 self.Scroll(0, ypos) |
|
420 elif event.ControlDown(): |
|
421 self.Scroll(max(0, xpos - 1), ypos) |
|
422 elif keycode == WXK_RIGHT: |
|
423 if event.ControlDown() and event.ShiftDown(): |
|
424 self.Scroll(xmax, ypos) |
|
425 elif event.ControlDown(): |
|
426 self.Scroll(min(xpos + 1, xmax), ypos) |
|
427 elif keycode == WXK_UP: |
|
428 if event.ControlDown() and event.ShiftDown(): |
|
429 self.Scroll(xpos, 0) |
|
430 elif event.ControlDown(): |
|
431 self.Scroll(xpos, max(0, ypos - 1)) |
|
432 elif keycode == WXK_DOWN: |
|
433 if event.ControlDown() and event.ShiftDown(): |
|
434 self.Scroll(xpos, ymax) |
|
435 elif event.ControlDown(): |
|
436 self.Scroll(xpos, min(ypos + 1, ymax)) |
415 event.Skip() |
437 event.Skip() |
416 |
438 |
417 #------------------------------------------------------------------------------- |
439 #------------------------------------------------------------------------------- |
418 # Adding element functions |
440 # Adding element functions |
419 #------------------------------------------------------------------------------- |
441 #------------------------------------------------------------------------------- |
491 wire.ConnectEndPoint(None, end_connector) |
513 wire.ConnectEndPoint(None, end_connector) |
492 self.AddWire(wire) |
514 self.AddWire(wire) |
493 rung.SelectElement(wire) |
515 rung.SelectElement(wire) |
494 self.RefreshPosition(coil) |
516 self.RefreshPosition(coil) |
495 self.Rungs.append(rung) |
517 self.Rungs.append(rung) |
|
518 self.RefreshBuffer() |
|
519 self.RefreshScrollBars() |
496 self.Refresh() |
520 self.Refresh() |
497 |
521 |
498 def AddLadderContact(self): |
522 def AddLadderContact(self): |
499 wires = [] |
523 wires = [] |
500 if self.IsWire(self.SelectedElement): |
524 if self.IsWire(self.SelectedElement): |
582 right_wires[0].SetSelectedSegment(-1) |
606 right_wires[0].SetSelectedSegment(-1) |
583 self.SelectedElement = right_wires[0] |
607 self.SelectedElement = right_wires[0] |
584 rung.RefreshBoundingBox() |
608 rung.RefreshBoundingBox() |
585 new_bbox = rung.GetBoundingBox() |
609 new_bbox = rung.GetBoundingBox() |
586 self.RefreshRungs(new_bbox.height - old_bbox.height, rungindex + 1) |
610 self.RefreshRungs(new_bbox.height - old_bbox.height, rungindex + 1) |
|
611 self.RefreshBuffer() |
|
612 self.RefreshScrollBars() |
587 self.Refresh() |
613 self.Refresh() |
588 else: |
614 else: |
589 message = wxMessageDialog(self, "You must select the wire where a contact should be added!", "Error", wxOK|wxICON_ERROR) |
615 message = wxMessageDialog(self, "You must select the wire where a contact should be added!", "Error", wxOK|wxICON_ERROR) |
590 message.ShowModal() |
616 message.ShowModal() |
591 message.Destroy() |
617 message.Destroy() |
801 self.RefreshPosition(right_element.GetParentBlock()) |
827 self.RefreshPosition(right_element.GetParentBlock()) |
802 self.SelectedElement.RefreshBoundingBox() |
828 self.SelectedElement.RefreshBoundingBox() |
803 rung.RefreshBoundingBox() |
829 rung.RefreshBoundingBox() |
804 new_bbox = rung.GetBoundingBox() |
830 new_bbox = rung.GetBoundingBox() |
805 self.RefreshRungs(new_bbox.height - old_bbox.height, rungindex + 1) |
831 self.RefreshRungs(new_bbox.height - old_bbox.height, rungindex + 1) |
|
832 self.RefreshBuffer() |
|
833 self.RefreshScrollBars() |
806 self.Refresh() |
834 self.Refresh() |
807 else: |
835 else: |
808 message = wxMessageDialog(self, "The group of block must be coherent!", "Error", wxOK|wxICON_ERROR) |
836 message = wxMessageDialog(self, "The group of block must be coherent!", "Error", wxOK|wxICON_ERROR) |
809 message.ShowModal() |
837 message.ShowModal() |
810 message.Destroy() |
838 message.Destroy() |
1156 if dialog.ShowModal() == wxID_OK: |
1184 if dialog.ShowModal() == wxID_OK: |
1157 values = dialog.GetValues() |
1185 values = dialog.GetValues() |
1158 contact.SetName(values["name"]) |
1186 contact.SetName(values["name"]) |
1159 contact.SetType(values["type"]) |
1187 contact.SetType(values["type"]) |
1160 contact.RefreshModel(False) |
1188 contact.RefreshModel(False) |
|
1189 self.RefreshBuffer() |
|
1190 self.RefreshScrollBars() |
1161 self.Refresh() |
1191 self.Refresh() |
1162 dialog.Destroy() |
1192 dialog.Destroy() |
1163 |
1193 |
1164 def EditCoilContent(self, coil): |
1194 def EditCoilContent(self, coil): |
1165 if self.GetDrawingMode() == FREEDRAWING_MODE: |
1195 if self.GetDrawingMode() == FREEDRAWING_MODE: |
1180 if dialog.ShowModal() == wxID_OK: |
1210 if dialog.ShowModal() == wxID_OK: |
1181 values = dialog.GetValues() |
1211 values = dialog.GetValues() |
1182 coil.SetName(values["name"]) |
1212 coil.SetName(values["name"]) |
1183 coil.SetType(values["type"]) |
1213 coil.SetType(values["type"]) |
1184 coil.RefreshModel(False) |
1214 coil.RefreshModel(False) |
|
1215 self.RefreshBuffer() |
|
1216 self.RefreshScrollBars() |
1185 self.Refresh() |
1217 self.Refresh() |
1186 dialog.Destroy() |
1218 dialog.Destroy() |
1187 |
1219 |
1188 def EditPowerRailContent(self, powerrail): |
1220 def EditPowerRailContent(self, powerrail): |
1189 if self.GetDrawingMode() == FREEDRAWING_MODE: |
1221 if self.GetDrawingMode() == FREEDRAWING_MODE: |