interfaces
valuecolumninterface.h
Go to the documentation of this file.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