HexEdit/HexEditWidget.py

changeset 4663
e2625053a0e2
parent 4659
2863d05e83c6
child 4664
a40706f44514
equal deleted inserted replaced
4662:33e6bd4b1721 4663:e2625053a0e2
7 Module implementing an editor for binary data. 7 Module implementing an editor for binary data.
8 """ 8 """
9 9
10 from __future__ import unicode_literals 10 from __future__ import unicode_literals
11 11
12 import sys
13 is_Py2 = sys.version_info[0] == 2
14
12 from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QByteArray, QTimer, QRect, \ 15 from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QByteArray, QTimer, QRect, \
13 QBuffer, QIODevice 16 QBuffer, QIODevice
14 from PyQt5.QtGui import QBrush, QPen, QColor, QFont, QPalette, QKeySequence, \ 17 from PyQt5.QtGui import QBrush, QPen, QColor, QFont, QPalette, QKeySequence, \
15 QPainter 18 QPainter
16 from PyQt5.QtWidgets import QAbstractScrollArea, QApplication 19 from PyQt5.QtWidgets import QAbstractScrollArea, QApplication
17 20
18 from .HexEditChunks import HexEditChunks 21 from .HexEditChunks import HexEditChunks
19 from .HexEditUndoStack import HexEditUndoStack 22 from .HexEditUndoStack import HexEditUndoStack
20 23
21 import Globals 24 import Globals
22
23
24 # TODO: implement editing in ASCII area
25 25
26 26
27 class HexEditWidget(QAbstractScrollArea): 27 class HexEditWidget(QAbstractScrollArea):
28 """ 28 """
29 Class implementing an editor for binary data. 29 Class implementing an editor for binary data.
1420 pxPosX += 3 * self.__pxCharWidth 1420 pxPosX += 3 * self.__pxCharWidth
1421 1421
1422 # render ascii value 1422 # render ascii value
1423 if self.__asciiArea: 1423 if self.__asciiArea:
1424 by = self.__dataShown[bPosLine + colIdx] 1424 by = self.__dataShown[bPosLine + colIdx]
1425 if by < 0x20 or by > 0x7e: 1425 if is_Py2 and (by < 0x20 or by > 0x7e):
1426 ch = "."
1427 elif not is_Py2 and \
1428 (by < 0x20 or (by > 0x7e and by < 0xa0)):
1426 ch = "." 1429 ch = "."
1427 else: 1430 else:
1428 ch = chr(by) 1431 ch = chr(by)
1429 r.setRect( 1432 r.setRect(
1430 pxPosAsciiX2, 1433 pxPosAsciiX2,

eric ide

mercurial