You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeutils/khexedit/lib/kvaluecolumn.h

93 lines
2.8 KiB

/***************************************************************************
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 TDEBufferRanges;
/** buffer column which displays the numerical values of the bytes
*
*@author Friedrich W. H. Kossebau
*/
class KValueColumn : public TDEBufferColumn
{
public:
KValueColumn( KColumnsView *CV, KDataBuffer *B, TDEBufferLayout *L, TDEBufferRanges *R );
virtual ~KValueColumn();
public:
void paintEditedByte( TQPainter *P, char Byte, const TQString &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: // TDEBufferColumn API
virtual void drawByte( TQPainter *P, char Byte, KHEChar B, const TQColor &Color ) const;
virtual void recalcByteWidth();
protected:
void drawCode( TQPainter *P, const TQString &Code, const TQColor &Color ) const;
protected: // set data
/** */
KCoding Coding;
/** */
KByteCodec *ByteCodec;
/** */
KPixelX BinaryGapWidth;
protected: // buffered data
/** buffer to hold the formatted coding */
mutable TQString 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