QHexView ======== QHexView is a hexadecimal widget for Qt5


Features ----- - Customizable data backend (see more below). - Document/View based. - Unlimited Undo/Redo. - Fully Customizable. - Fast rendering. - Easy to Use. Buffer Backends ----- These are the available buffer backends: - QMemoryBuffer: A simple, flat memory array. - QMemoryRefBuffer: QHexView just display the referenced data, editing is disabled.

It's also possible to create new data backends from scratch. Usage ----- The data is managed by QHexView through QHexDocument class.
You can load a generic QIODevice using the method fromDevice() of QHexDocument class with various buffer backends.
Helper methods are provided in order to load a QFile a In-Memory buffer in QHexView:
```cpp // Load data from In-Memory Buffer... QHexDocument* document = QHexDocument::fromMemory(bytearray); // ...from a generic I/O device... QHexDocument* document = QHexDocument::fromDevice(iodevice); /* ...or from File */ QHexDocument* document = QHexDocument::fromFile("data.bin"); QHexView* hexview = new QHexView(); hexview->setDocument(document); // Associate QHexEditData with this QHexEdit // Document editing QByteArray data = document->read(24, 78); // Read 78 bytes starting to offset 24 document->insert(4, "Hello QHexEdit"); // Insert a string to offset 4 document->remove(6, 10); // Delete bytes from offset 6 to offset 10 document->replace(30, "New Data"); // Replace bytes from offset 30 with the string "New Data" // Metatadata management QHexMetadata* hexmetadata = document->metadata(); hexmetadata->background(6, 0, 10, Qt::Red); // Highlight background to line 6, from 0 to 10 hexmetadata->foreground(8, 0, 15, Qt::darkBLue); // Highlight foreground to line 8, from 0 to 15 hexmetadata->comment(16, "I'm a comment!"); // Add a comment to line 16 hexmetadata->clear(); // Reset styling ``` License ----- QHexEdit is released under MIT license