valuecolumninterface.h

00001 /***************************************************************************
00002                           valuecolumninterface.h  -  description
00003                              -------------------
00004     begin                : Fri Sep 12 2003
00005     copyright            : (C) 2003 by Friedrich W. H. Kossebau
00006     email                : Friedrich.W.H@Kossebau.de
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This library is free software; you can redistribute it and/or         *
00012  *   modify it under the terms of the GNU Library General Public           *
00013  *   License version 2 as published by the Free Software Foundation.       *
00014  *                                                                         *
00015  ***************************************************************************/
00016 
00017 
00018 #ifndef VALUECOLUMNINTERFACE_H
00019 #define VALUECOLUMNINTERFACE_H
00020 
00021 namespace KHE
00022 {
00023 
00032 class ValueColumnInterface
00033 {
00034   public:
00036     enum KCoding
00037     {
00039       HexadecimalCoding=0,
00041       DecimalCoding=1,
00043       OctalCoding=2,
00045       BinaryCoding=3,
00047       MaxCodingId=0xFFFF
00048     };
00049 
00051     enum KResizeStyle
00052     {
00056       NoResize=0,
00061       LockGrouping=1,
00064       FullSizeUsage=2,
00066       MaxResizeStyleId=0xFF
00067     };
00068 
00069 
00070   public: // get methods
00074     virtual KResizeStyle resizeStyle() const = 0;
00078     virtual int noOfBytesPerLine()     const = 0;
00079 
00083     virtual KCoding coding()        const = 0;
00087     virtual int byteSpacingWidth()  const = 0;
00088 
00092     virtual int noOfGroupedBytes()  const = 0;
00096     virtual int groupSpacingWidth() const = 0;
00097 
00101     virtual int binaryGapWidth()    const = 0;
00102 
00103 
00104   public: // set methods
00110     virtual void setResizeStyle( KResizeStyle Style ) = 0;
00116     virtual void setNoOfBytesPerLine( int NoCpL ) = 0;
00117 
00124     virtual void setCoding( KCoding C ) = 0;
00130     virtual void setByteSpacingWidth( int BSW ) = 0;
00131 
00137     virtual void setNoOfGroupedBytes( int NoGB ) = 0;
00143     virtual void setGroupSpacingWidth( int GSW ) = 0;
00144 
00150     virtual void setBinaryGapWidth( int BGW ) = 0;
00151 };
00152 
00153 
00159 template<class T>
00160 ValueColumnInterface *valueColumnInterface( T *t )
00161 {
00162   if( !t )
00163     return 0;
00164 
00165   return static_cast<ValueColumnInterface*>( t->qt_cast("KHE::ValueColumnInterface") );
00166 }
00167 
00168 }
00169 
00170 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys