HexWidget

class HexWidget : public QScrollArea

Public Types

enum AddrWidth

Values:

enumerator AddrWidth32
enumerator AddrWidth64
enum ItemSize

Values:

enumerator ItemSizeByte
enumerator ItemSizeWord
enumerator ItemSizeDword
enumerator ItemSizeQword
enum ItemFormat

Values:

enumerator ItemFormatHex
enumerator ItemFormatOct
enumerator ItemFormatDec
enumerator ItemFormatSignedDec
enumerator ItemFormatFloat
enum class ColumnMode

Values:

enumerator Fixed
enumerator PowerOf2
enum class EditWordState

Values:

enumerator Read
enumerator WriteNotStarted
enumerator WriteNotEdited
enumerator WriteEdited
enum class HexNavigationMode

Values:

enumerator Words
enumerator WordChar
enumerator AnyChar

Public Functions

explicit HexWidget(QWidget *parent = nullptr)
~HexWidget() override = default
void setMonospaceFont(const QFont &font)
void setItemSize(int nbytes)
void setItemFormat(ItemFormat format)
void setItemEndianness(bool bigEndian)
void setItemGroupSize(int size)
void setFixedLineSize(int bytes)

Sets line size in bytes. Changes column mode to fixed. Command can be rejected if current item format is bigger than requested size.

Parameters:

bytes – line size in bytes.

void setColumnMode(ColumnMode mode)
void selectRange(RVA start, RVA end)

Select non empty inclusive range [start; end].

Parameters:
  • start

  • end

void clearSelection()
Selection getSelection()

Public Slots

void seek(uint64_t address)
void refresh()
void updateColors()

Signals

void selectionChanged(HexWidget::Selection selection)
void positionChanged(RVA start)
struct Selection

Public Members

bool empty
RVA startAddress
RVA endAddress