/*************************************************************************** kcharcolumn.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_KCHARCOLUMN_H #define KHE_KCHARCOLUMN_H // qt specific #include // lib specific #include "kbuffercolumn.h" class TQPainter; class TQColor; namespace KHE { /** buffer column that interprets the bytes as chars * *@author Friedrich W. H. Kossebau */ class KCharColumn : public TDEBufferColumn { public: KCharColumn( KColumnsView *CV, KDataBuffer *B, TDEBufferLayout *L, TDEBufferRanges *R ); virtual ~KCharColumn(); public: // modification access /** sets whether "unprintable" chars (>32) should be displayed in the char column * with their corresponding character. * @param SU * returns true if there was a change */ bool setShowUnprintable( bool SU = true ); /** sets the substitute character for "unprintable" chars * returns true if there was a change */ bool setSubstituteChar( TQChar SC ); /** sets the undefined character for "undefined" chars * returns true if there was a change */ bool setUndefinedChar( TQChar UC ); public: // value access /** returns true if "unprintable" chars (>32) are displayed in the char column * with their corresponding character, default is false */ bool showUnprintable() const; /** returns the actually used substitute character for "unprintable" chars, default is '.' */ TQChar substituteChar() const; /** returns the actually used undefined character for "undefined" chars, default is '?' */ TQChar undefinedChar() const; protected: // TDEBufferColumn API virtual void drawByte( TQPainter *P, char Byte, KHEChar B, const TQColor &Color ) const; protected: /** */ bool ShowUnprintable; /** */ TQChar SubstituteChar; /** */ TQChar UndefinedChar; }; inline bool KCharColumn::showUnprintable() const { return ShowUnprintable; } inline TQChar KCharColumn::substituteChar() const { return SubstituteChar; } inline TQChar KCharColumn::undefinedChar() const { return UndefinedChar; } inline bool KCharColumn::setSubstituteChar( TQChar SC ) { if( SubstituteChar == SC ) return false; SubstituteChar = SC; return true; } inline bool KCharColumn::setUndefinedChar( TQChar UC ) { if( UndefinedChar == UC ) return false; UndefinedChar = UC; return true; } inline bool KCharColumn::setShowUnprintable( bool SU ) { if( ShowUnprintable == SU ) return false; ShowUnprintable = SU; return true; } } #endif