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)
107 Q_PROPERTY(
bool hexCaps READ hexCaps WRITE setHexCaps)
111 Q_PROPERTY(
bool dynamicBytesPerLine READ dynamicBytesPerLine WRITE setDynamicBytesPerLine)
115 Q_PROPERTY(
bool highlighting READ highlighting WRITE setHighlighting)
121 Q_PROPERTY(QColor highlightingColor READ highlightingColor WRITE setHighlightingColor)
128 Q_PROPERTY(
bool overwriteMode READ overwriteMode WRITE setOverwriteMode)
134 Q_PROPERTY(QColor selectionColor READ selectionColor WRITE setSelectionColor)
141 Q_PROPERTY(
bool readOnly READ isReadOnly WRITE setReadOnly)
144 Q_PROPERTY(QFont font READ font WRITE setFont)
158 bool setData(QIODevice &iODevice);
163 QByteArray dataAt(qint64 pos, qint64 count=-1);
168 bool write(QIODevice &iODevice, qint64 pos=0, qint64 count=-1);
178 void insert(qint64 pos,
char ch);
184 void remove(qint64 pos, qint64 len=1);
191 void replace(qint64 pos,
char ch);
201 void insert(qint64 pos, const QByteArray &ba);
209 void replace(qint64 pos, qint64 len, const QByteArray &ba);
217 qint64 cursorPosition(QPoint point);
221 void ensureVisible();
228 qint64 indexOf(const QByteArray &ba, qint64 from);
240 qint64 lastIndexOf(const QByteArray &ba, qint64 from);
244 QString selectionToReadableString();
249 void setFont(const QFont &font);
253 QString toReadableString();
270 void currentAddressChanged(qint64 address);
273 void currentSizeChanged(qint64 size);
279 void overwriteModeChanged(
bool state);
288 void setAddressArea(
bool addressArea);
290 QColor addressAreaColor();
291 void setAddressAreaColor(const QColor &color);
293 qint64 addressOffset();
294 void setAddressOffset(qint64 addressArea);
297 void setAddressWidth(
int addressWidth);
300 void setAsciiArea(
bool asciiArea);
303 void setBytesPerLine(
int count);
305 qint64 cursorPosition();
306 void setCursorPosition(qint64 position);
309 void setData(const QByteArray &ba);
311 void setHexCaps(const
bool isCaps);
314 void setDynamicBytesPerLine(const
bool isDynamic);
315 bool dynamicBytesPerLine();
318 void setHighlighting(
bool mode);
320 QColor highlightingColor();
321 void setHighlightingColor(const QColor &color);
323 bool overwriteMode();
324 void setOverwriteMode(
bool overwriteMode);
327 void setReadOnly(
bool readOnly);
329 QColor selectionColor();
330 void setSelectionColor(const QColor &color);
334 void keyPressEvent(QKeyEvent *event);
335 void mouseMoveEvent(QMouseEvent * event);
336 void mousePressEvent(QMouseEvent * event);
337 void paintEvent(QPaintEvent *event);
338 void resizeEvent(QResizeEvent *);
339 virtual
bool focusNextPrevChild(
bool next);
342 void resetSelection(qint64 pos);
343 void resetSelection();
344 void setSelection(qint64 pos);
345 int getSelectionBegin();
346 int getSelectionEnd();
351 QString toReadable(const QByteArray &ba);
355 void dataChangedPrivate(
int idx=0);
361 int _pxCharWidth, _pxCharHeight;
374 qint64 _bSelectionBegin;
375 qint64 _bSelectionEnd;
376 qint64 _bSelectionInit;
383 QColor _addressAreaColor;
386 qint64 _addressOffset;
391 QBrush _brushSelection;
393 QBrush _brushHighlighted;
394 QPen _penHighlighted;
397 bool _dynamicBytesPerLine;
400 bool _editAreaIsAscii;
406 qint64 _cursorPosition;
409 QByteArray _dataShown;
410 QByteArray _hexDataShown;
411 qint64 _lastEventSize;
412 QByteArray _markedShown;
415 UndoStack * _undoStack;
Definition: qhexedit.h:59