1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
/***************************************************************************
kvaluecolumn.h - description
-------------------
begin : Mit Sep 3 2003
copyright : (C) 2003 by Friedrich W. H. Kossebau
email : Friedrich.W.H@Kossebau.de
***************************************************************************/
/***************************************************************************
* *
* This library is free software; you can redistribute it and/or *
* modify it under the terms of the GNU Library General Public *
* License version 2 as published by the Free Software Foundation. *
* *
***************************************************************************/
#ifndef KHE_KVALUECOLUMN_H
#define KHE_KVALUECOLUMN_H
// lib specific
#include "kbytecodec.h"
#include "kbuffercolumn.h"
namespace KHE
{
class KBufferRanges;
/** buffer column which displays the numerical values of the bytes
*
*@author Friedrich W. H. Kossebau
*/
class KValueColumn : public KBufferColumn
{
public:
KValueColumn( KColumnsView *CV, KDataBuffer *B, KBufferLayout *L, KBufferRanges *R );
virtual ~KValueColumn();
public:
void paintEditedByte( QPainter *P, char Byte, const QString &EditBuffer );
public: // modification access
/**
* returns true if there was a change
*/
bool setCoding( KCoding C );
/** sets the spacing in the middle of a binary byte in the value column
* @param BinaryGapW spacing in the middle of a binary in pixels
* returns true if there was a change
*/
bool setBinaryGapWidth( KPixelX BGW );
public: // value access
KPixelX binaryGapWidth() const;
KCoding coding() const;
const KByteCodec *byteCodec() const;
protected: // KBufferColumn API
virtual void drawByte( QPainter *P, char Byte, KHEChar B, const QColor &Color ) const;
virtual void recalcByteWidth();
protected:
void drawCode( QPainter *P, const QString &Code, const QColor &Color ) const;
protected: // set data
/** */
KCoding Coding;
/** */
KByteCodec *ByteCodec;
/** */
KPixelX BinaryGapWidth;
protected: // buffered data
/** buffer to hold the formatted coding */
mutable QString CodedByte;
/** calculated: Offset in pixels of the second half of the binary */
KPixelX BinaryHalfOffset;
};
inline KPixelX KValueColumn::binaryGapWidth() const { return BinaryGapWidth; }
inline KCoding KValueColumn::coding() const { return Coding; }
inline const KByteCodec *KValueColumn::byteCodec() const { return ByteCodec; }
}
#endif
|