forked from eden-emu/eden
		
	
		
			
				
	
	
		
			66 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #ifndef XBYTEARRAY_H
 | |
| #define XBYTEARRAY_H
 | |
| 
 | |
| /** \cond docNever */
 | |
| 
 | |
| #include <QtCore>
 | |
| 
 | |
| /*! XByteArray represents the content of QHexEcit.
 | |
| XByteArray comprehend the data itself and informations to store if it was
 | |
| changed. The QHexEdit component uses these informations to perform nice
 | |
| rendering of the data
 | |
| 
 | |
| XByteArray also provides some functionality to insert, replace and remove
 | |
| single chars and QByteArras. Additionally some functions support rendering
 | |
| and converting to readable strings.
 | |
| */
 | |
| class XByteArray
 | |
| {
 | |
| public:
 | |
|     explicit XByteArray();
 | |
| 
 | |
|     int addressOffset();
 | |
|     void setAddressOffset(int offset);
 | |
| 
 | |
|     int addressWidth();
 | |
|     void setAddressWidth(int width);
 | |
| 
 | |
|     QByteArray & data();
 | |
|     void setData(QByteArray data);
 | |
| 
 | |
|     bool dataChanged(int i);
 | |
|     QByteArray dataChanged(int i, int len);
 | |
|     void setDataChanged(int i, bool state);
 | |
|     void setDataChanged(int i, const QByteArray & state);
 | |
| 
 | |
|     int realAddressNumbers();
 | |
|     int size();
 | |
| 
 | |
|     QByteArray & insert(int i, char ch);
 | |
|     QByteArray & insert(int i, const QByteArray & ba);
 | |
| 
 | |
|     QByteArray & remove(int pos, int len);
 | |
| 
 | |
|     QByteArray & replace(int index, char ch);
 | |
|     QByteArray & replace(int index, const QByteArray & ba);
 | |
|     QByteArray & replace(int index, int length, const QByteArray & ba);
 | |
| 
 | |
|     QChar asciiChar(int index);
 | |
|     QString toRedableString(int start=0, int end=-1);
 | |
| 
 | |
| signals:
 | |
| 
 | |
| public slots:
 | |
| 
 | |
| private:
 | |
|     QByteArray _data;
 | |
|     QByteArray _changedData;
 | |
| 
 | |
|     int _addressNumbers;                    // wanted width of address area
 | |
|     int _addressOffset;                     // will be added to the real addres inside bytearray
 | |
|     int _realAddressNumbers;                // real width of address area (can be greater then wanted width)
 | |
|     int _oldSize;                           // size of data
 | |
| };
 | |
| 
 | |
| /** \endcond docNever */
 | |
| #endif // XBYTEARRAY_H
 | 
