QScintilla/Shell.py

branch
Py2 comp.
changeset 2525
8b507a9a2d40
parent 2474
8727522a69d5
child 2677
3d4277929fb3
equal deleted inserted replaced
2523:139f182b72f6 2525:8b507a9a2d40
4 # 4 #
5 5
6 """ 6 """
7 Module implementing a graphical Python shell. 7 Module implementing a graphical Python shell.
8 """ 8 """
9
10 from __future__ import unicode_literals # __IGNORE_WARNING__
9 11
10 import sys 12 import sys
11 import re 13 import re
12 14
13 from PyQt4.QtCore import pyqtSignal, QFileInfo, Qt, QEvent 15 from PyQt4.QtCore import pyqtSignal, QFileInfo, Qt, QEvent
38 @param dbs reference to the debug server object 40 @param dbs reference to the debug server object
39 @param vm reference to the viewmanager object 41 @param vm reference to the viewmanager object
40 @param horizontal flag indicating a horizontal layout (boolean) 42 @param horizontal flag indicating a horizontal layout (boolean)
41 @param parent parent widget (QWidget) 43 @param parent parent widget (QWidget)
42 """ 44 """
43 super().__init__(parent) 45 super(ShellAssembly, self).__init__(parent)
44 46
45 self.__shell = Shell(dbs, vm, self) 47 self.__shell = Shell(dbs, vm, self)
46 48
47 from UI.SearchWidget import SearchWidget 49 from UI.SearchWidget import SearchWidget
48 self.__searchWidget = SearchWidget(self.__shell, self, horizontal) 50 self.__searchWidget = SearchWidget(self.__shell, self, horizontal)
94 96
95 @param dbs reference to the debug server object 97 @param dbs reference to the debug server object
96 @param vm reference to the viewmanager object 98 @param vm reference to the viewmanager object
97 @param parent parent widget (QWidget) 99 @param parent parent widget (QWidget)
98 """ 100 """
99 super().__init__(parent) 101 super(Shell, self).__init__(parent)
100 self.setUtf8(True) 102 self.setUtf8(True)
101 103
102 self.vm = vm 104 self.vm = vm
103 self.__mainWindow = parent 105 self.__mainWindow = parent
104 self.__lastSearch = () 106 self.__lastSearch = ()
600 602
601 @param version interpreter version string (string) 603 @param version interpreter version string (string)
602 @param platform platform of the remote interpreter (string) 604 @param platform platform of the remote interpreter (string)
603 @param dbgclient debug client variant used (string) 605 @param dbgclient debug client variant used (string)
604 """ 606 """
605 super().clear() 607 super(Shell, self).clear()
606 if self.passive and not self.dbs.isConnected(): 608 if self.passive and not self.dbs.isConnected():
607 self.__write(self.trUtf8('Passive Debug Mode')) 609 self.__write(self.trUtf8('Passive Debug Mode'))
608 self.__write(self.trUtf8('\nNot connected')) 610 self.__write(self.trUtf8('\nNot connected'))
609 else: 611 else:
610 version = version.replace("#", self.trUtf8("No.")) 612 version = version.replace("#", self.trUtf8("No."))
788 """ 790 """
789 self.setFocus() 791 self.setFocus()
790 if event.button() == Qt.MidButton: 792 if event.button() == Qt.MidButton:
791 self.__middleMouseButton() 793 self.__middleMouseButton()
792 else: 794 else:
793 super().mousePressEvent(event) 795 super(Shell, self).mousePressEvent(event)
794 796
795 def wheelEvent(self, evt): 797 def wheelEvent(self, evt):
796 """ 798 """
797 Protected method to handle wheel events. 799 Protected method to handle wheel events.
798 800
804 else: 806 else:
805 self.zoomIn() 807 self.zoomIn()
806 evt.accept() 808 evt.accept()
807 return 809 return
808 810
809 super().wheelEvent(evt) 811 super(Shell, self).wheelEvent(evt)
810 812
811 def event(self, evt): 813 def event(self, evt):
812 """ 814 """
813 Protected method handling events. 815 Protected method handling events.
814 816
817 """ 819 """
818 if evt.type() == QEvent.Gesture: 820 if evt.type() == QEvent.Gesture:
819 self.gestureEvent(evt) 821 self.gestureEvent(evt)
820 return True 822 return True
821 823
822 return super().event(evt) 824 return super(Shell, self).event(evt)
823 825
824 def gestureEvent(self, evt): 826 def gestureEvent(self, evt):
825 """ 827 """
826 Protected method handling gesture events. 828 Protected method handling gesture events.
827 829
877 line, col = self.__getEndPos() 879 line, col = self.__getEndPos()
878 self.setCursorPosition(line, col) 880 self.setCursorPosition(line, col)
879 self.prline, self.prcol = self.getCursorPosition() 881 self.prline, self.prcol = self.getCursorPosition()
880 if self.echoInput: 882 if self.echoInput:
881 ac = self.isListActive() 883 ac = self.isListActive()
882 super().keyPressEvent(ev) 884 super(Shell, self).keyPressEvent(ev)
883 self.incrementalSearchActive = True 885 self.incrementalSearchActive = True
884 if ac and \ 886 if ac and \
885 self.racEnabled: 887 self.racEnabled:
886 self.dbs.remoteCompletion(self.completionText + txt) 888 self.dbs.remoteCompletion(self.completionText + txt)
887 else: 889 else:
1451 """ 1453 """
1452 self.inDragDrop = event.mimeData().hasUrls() or event.mimeData().hasText() 1454 self.inDragDrop = event.mimeData().hasUrls() or event.mimeData().hasText()
1453 if self.inDragDrop: 1455 if self.inDragDrop:
1454 event.acceptProposedAction() 1456 event.acceptProposedAction()
1455 else: 1457 else:
1456 super().dragEnterEvent(event) 1458 super(Shell, self).dragEnterEvent(event)
1457 1459
1458 def dragMoveEvent(self, event): 1460 def dragMoveEvent(self, event):
1459 """ 1461 """
1460 Protected method to handle the drag move event. 1462 Protected method to handle the drag move event.
1461 1463
1462 @param event the drag move event (QDragMoveEvent) 1464 @param event the drag move event (QDragMoveEvent)
1463 """ 1465 """
1464 if self.inDragDrop: 1466 if self.inDragDrop:
1465 event.accept() 1467 event.accept()
1466 else: 1468 else:
1467 super().dragMoveEvent(event) 1469 super(Shell, self).dragMoveEvent(event)
1468 1470
1469 def dragLeaveEvent(self, event): 1471 def dragLeaveEvent(self, event):
1470 """ 1472 """
1471 Protected method to handle the drag leave event. 1473 Protected method to handle the drag leave event.
1472 1474
1474 """ 1476 """
1475 if self.inDragDrop: 1477 if self.inDragDrop:
1476 self.inDragDrop = False 1478 self.inDragDrop = False
1477 event.accept() 1479 event.accept()
1478 else: 1480 else:
1479 super().dragLeaveEvent(event) 1481 super(Shell, self).dragLeaveEvent(event)
1480 1482
1481 def dropEvent(self, event): 1483 def dropEvent(self, event):
1482 """ 1484 """
1483 Protected method to handle the drop event. 1485 Protected method to handle the drop event.
1484 1486
1501 if s: 1503 if s:
1502 event.acceptProposedAction() 1504 event.acceptProposedAction()
1503 self.executeLines(s) 1505 self.executeLines(s)
1504 del s 1506 del s
1505 else: 1507 else:
1506 super().dropEvent(event) 1508 super(Shell, self).dropEvent(event)
1507 1509
1508 self.inDragDrop = False 1510 self.inDragDrop = False
1509 1511
1510 def focusInEvent(self, event): 1512 def focusInEvent(self, event):
1511 """ 1513 """
1536 self.__searchNextShortcut.setEnabled(True) 1538 self.__searchNextShortcut.setEnabled(True)
1537 self.__searchPrevShortcut.setEnabled(True) 1539 self.__searchPrevShortcut.setEnabled(True)
1538 self.setCaretWidth(self.caretWidth) 1540 self.setCaretWidth(self.caretWidth)
1539 self.setCursorFlashTime(QApplication.cursorFlashTime()) 1541 self.setCursorFlashTime(QApplication.cursorFlashTime())
1540 1542
1541 super().focusInEvent(event) 1543 super(Shell, self).focusInEvent(event)
1542 1544
1543 def focusOutEvent(self, event): 1545 def focusOutEvent(self, event):
1544 """ 1546 """
1545 Public method called when the shell loses focus. 1547 Public method called when the shell loses focus.
1546 1548
1552 pass 1554 pass
1553 self.__searchShortcut.setEnabled(False) 1555 self.__searchShortcut.setEnabled(False)
1554 self.__searchNextShortcut.setEnabled(False) 1556 self.__searchNextShortcut.setEnabled(False)
1555 self.__searchPrevShortcut.setEnabled(False) 1557 self.__searchPrevShortcut.setEnabled(False)
1556 self.setCaretWidth(0) 1558 self.setCaretWidth(0)
1557 super().focusOutEvent(event) 1559 super(Shell, self).focusOutEvent(event)
1558 1560
1559 def insert(self, txt): 1561 def insert(self, txt):
1560 """ 1562 """
1561 Public slot to insert text at the current cursor position. 1563 Public slot to insert text at the current cursor position.
1562 1564

eric ide

mercurial