4 #include <QAbstractScrollArea> 11 #ifdef QHEXEDIT_EXPORTS 12 #define QHEXEDIT_API Q_DECL_EXPORT 13 #elif QHEXEDIT_IMPORTS 14 #define QHEXEDIT_API Q_DECL_IMPORT 59 class QHEXEDIT_API
QHexEdit :
public QAbstractScrollArea
66 Q_PROPERTY(
bool addressArea READ addressArea WRITE setAddressArea)
71 Q_PROPERTY(QColor addressAreaColor READ addressAreaColor WRITE setAddressAreaColor)
78 Q_PROPERTY(qint64 addressOffset READ addressOffset WRITE setAddressOffset)
82 Q_PROPERTY(
int addressWidth READ addressWidth WRITE setAddressWidth)
86 Q_PROPERTY(
bool asciiArea READ asciiArea WRITE setAsciiArea)
89 Q_PROPERTY(
int bytesPerLine READ bytesPerLine WRITE setBytesPerLine)
95 Q_PROPERTY(qint64 cursorPosition READ cursorPosition WRITE setCursorPosition)
102 Q_PROPERTY(QByteArray data READ data WRITE setData NOTIFY dataChanged)
106 Q_PROPERTY(
bool highlighting READ highlighting WRITE setHighlighting)
112 Q_PROPERTY(QColor highlightingColor READ highlightingColor WRITE setHighlightingColor)
119 Q_PROPERTY(
bool overwriteMode READ overwriteMode WRITE setOverwriteMode)
125 Q_PROPERTY(QColor selectionColor READ selectionColor WRITE setSelectionColor)
132 Q_PROPERTY(
bool readOnly READ isReadOnly WRITE setReadOnly)
135 Q_PROPERTY(QFont font READ font WRITE setFont)
149 bool setData(QIODevice &iODevice);
154 QByteArray dataAt(qint64 pos, qint64 count=-1);
159 bool write(QIODevice &iODevice, qint64 pos=0, qint64 count=-1);
169 void insert(qint64 pos,
char ch);
175 void remove(qint64 pos, qint64 len=1);
182 void replace(qint64 pos,
char ch);
192 void insert(qint64 pos, const QByteArray &ba);
200 void replace(qint64 pos, qint64 len, const QByteArray &ba);
208 qint64 cursorPosition(QPoint point);
212 void ensureVisible();
219 qint64 indexOf(const QByteArray &ba, qint64 from);
231 qint64 lastIndexOf(const QByteArray &ba, qint64 from);
235 QString selectionToReadableString();
240 void setFont(const QFont &font);
244 QString toReadableString();
261 void currentAddressChanged(qint64 address);
264 void currentSizeChanged(qint64 size);
270 void overwriteModeChanged(
bool state);
279 void setAddressArea(
bool addressArea);
281 QColor addressAreaColor();
282 void setAddressAreaColor(const QColor &color);
284 qint64 addressOffset();
285 void setAddressOffset(qint64 addressArea);
288 void setAddressWidth(
int addressWidth);
291 void setAsciiArea(
bool asciiArea);
294 void setBytesPerLine(
int count);
296 qint64 cursorPosition();
297 void setCursorPosition(qint64 position);
300 void setData(const QByteArray &ba);
303 void setHighlighting(
bool mode);
305 QColor highlightingColor();
306 void setHighlightingColor(const QColor &color);
308 bool overwriteMode();
309 void setOverwriteMode(
bool overwriteMode);
312 void setReadOnly(
bool readOnly);
314 QColor selectionColor();
315 void setSelectionColor(const QColor &color);
319 void keyPressEvent(QKeyEvent *event);
320 void mouseMoveEvent(QMouseEvent * event);
321 void mousePressEvent(QMouseEvent * event);
322 void paintEvent(QPaintEvent *event);
323 void resizeEvent(QResizeEvent *);
327 void resetSelection(qint64 pos);
328 void resetSelection();
329 void setSelection(qint64 pos);
330 int getSelectionBegin();
331 int getSelectionEnd();
336 QString toReadable(const QByteArray &ba);
340 void dataChangedPrivate(
int idx=0);
346 int _pxCharWidth, _pxCharHeight;
359 qint64 _bSelectionBegin;
360 qint64 _bSelectionEnd;
361 qint64 _bSelectionInit;
368 QColor _addressAreaColor;
371 qint64 _addressOffset;
376 QBrush _brushSelection;
378 QBrush _brushHighlighted;
379 QPen _penHighlighted;
388 qint64 _cursorPosition;
391 QByteArray _dataShown;
392 QByteArray _hexDataShown;
393 qint64 _lastEventSize;
394 QByteArray _markedShown;
397 UndoStack * _undoStack;
Definition: qhexedit.h:59