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 highlighting READ highlighting WRITE setHighlighting)
117 Q_PROPERTY(QColor highlightingColor READ highlightingColor WRITE setHighlightingColor)
124 Q_PROPERTY(
bool overwriteMode READ overwriteMode WRITE setOverwriteMode)
130 Q_PROPERTY(QColor selectionColor READ selectionColor WRITE setSelectionColor)
137 Q_PROPERTY(
bool readOnly READ isReadOnly WRITE setReadOnly)
140 Q_PROPERTY(QFont font READ font WRITE setFont)
154 bool setData(QIODevice &iODevice);
159 QByteArray dataAt(qint64 pos, qint64 count=-1);
164 bool write(QIODevice &iODevice, qint64 pos=0, qint64 count=-1);
174 void insert(qint64 pos,
char ch);
180 void remove(qint64 pos, qint64 len=1);
187 void replace(qint64 pos,
char ch);
197 void insert(qint64 pos, const QByteArray &ba);
205 void replace(qint64 pos, qint64 len, const QByteArray &ba);
213 qint64 cursorPosition(QPoint point);
217 void ensureVisible();
224 qint64 indexOf(const QByteArray &ba, qint64 from);
236 qint64 lastIndexOf(const QByteArray &ba, qint64 from);
240 QString selectionToReadableString();
245 void setFont(const QFont &font);
249 QString toReadableString();
266 void currentAddressChanged(qint64 address);
269 void currentSizeChanged(qint64 size);
275 void overwriteModeChanged(
bool state);
284 void setAddressArea(
bool addressArea);
286 QColor addressAreaColor();
287 void setAddressAreaColor(const QColor &color);
289 qint64 addressOffset();
290 void setAddressOffset(qint64 addressArea);
293 void setAddressWidth(
int addressWidth);
296 void setAsciiArea(
bool asciiArea);
299 void setBytesPerLine(
int count);
301 qint64 cursorPosition();
302 void setCursorPosition(qint64 position);
305 void setData(const QByteArray &ba);
307 void setHexCaps(const
bool isCaps);
311 void setHighlighting(
bool mode);
313 QColor highlightingColor();
314 void setHighlightingColor(const QColor &color);
316 bool overwriteMode();
317 void setOverwriteMode(
bool overwriteMode);
320 void setReadOnly(
bool readOnly);
322 QColor selectionColor();
323 void setSelectionColor(const QColor &color);
327 void keyPressEvent(QKeyEvent *event);
328 void mouseMoveEvent(QMouseEvent * event);
329 void mousePressEvent(QMouseEvent * event);
330 void paintEvent(QPaintEvent *event);
331 void resizeEvent(QResizeEvent *);
332 virtual
bool focusNextPrevChild(
bool next);
335 void resetSelection(qint64 pos);
336 void resetSelection();
337 void setSelection(qint64 pos);
338 int getSelectionBegin();
339 int getSelectionEnd();
344 QString toReadable(const QByteArray &ba);
348 void dataChangedPrivate(
int idx=0);
354 int _pxCharWidth, _pxCharHeight;
367 qint64 _bSelectionBegin;
368 qint64 _bSelectionEnd;
369 qint64 _bSelectionInit;
376 QColor _addressAreaColor;
379 qint64 _addressOffset;
384 QBrush _brushSelection;
386 QBrush _brushHighlighted;
387 QPen _penHighlighted;
392 bool _editAreaIsAscii;
398 qint64 _cursorPosition;
401 QByteArray _dataShown;
402 QByteArray _hexDataShown;
403 qint64 _lastEventSize;
404 QByteArray _markedShown;
407 UndoStack * _undoStack;
Definition: qhexedit.h:59