KHexEdit
charcolumninterface.h
Go to the documentation of this file.00001 /*************************************************************************** 00002 charcolumninterface.h - description 00003 ------------------- 00004 begin : Fri Sep 12 2003 00005 copyright : (C) 2003 by Friedrich W. H. Kossebau 00006 email : kossebau@kde.org 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 KHE_CHARCOLUMNINTERFACE_H 00019 #define KHE_CHARCOLUMNINTERFACE_H 00020 00021 #include <QtCore/QChar> 00022 #include <QtCore/QObject> 00023 00024 namespace KHE 00025 { 00026 00033 class CharColumnInterface 00034 { 00035 public: 00036 virtual ~CharColumnInterface(){} 00037 00038 public: 00040 enum KEncoding 00041 { 00043 LocalEncoding=0, 00045 ISO8859_1Encoding=1, 00047 CECP1047Encoding=2, 00049 MaxEncodingId=0xFFFF 00050 }; 00051 00052 public: // set methods 00059 virtual void setShowUnprintable( bool SU = true ) = 0; 00065 virtual void setSubstituteChar( QChar SC ) = 0; 00072 virtual void setEncoding( KEncoding C ) = 0; 00073 00074 00075 public: // get methods 00080 virtual bool showUnprintable() const = 0; 00084 virtual QChar substituteChar() const = 0; 00088 virtual KEncoding encoding() const = 0; 00089 }; 00090 00091 00096 template<class T> 00097 CharColumnInterface *charColumnInterface( T *t ) 00098 { 00099 return t ? qobject_cast<KHE::CharColumnInterface *>( t ) : 0; 00100 } 00101 00102 } 00103 00104 Q_DECLARE_INTERFACE( KHE::CharColumnInterface, "org.kde.khe.charcolumninterface/1.0" ) 00105 00106 #endif