21#include "identifier.h"
22#include "transliteration_table.h"
29 for ( i=0; i< s.length(); i++) {
30 TQChar c = s.at( i).lower();
31 if (!(( int) c== '_' || ( int) c>= 'a' && ( int) c<= 'z' || i>0 && ( int) c>= '0' && ( int) c<= '9'))
34 return i>0 && i== s.length();
39 TQString fn( s.simplifyWhiteSpace() );
40 fn.replace( ' ', "_"); fn.replace( '$', "_");
41 fn.replace( '\\', "-"); fn.replace( '/', "-");
42 fn.replace( ':', "-"); fn.replace( '*', "-");
46inline TQString char2Identifier( const TQChar& c)
48 if ( c.unicode() >= TRANSLITERATION_TABLE_SIZE)
49 return TQString(TQChar( '_'));
50 const char * const s = transliteration_table[ c.unicode()];
51 return s ? TQString::fromLatin1( s) : TQString(TQChar( '_'));
58 TQString r, id = s.simplifyWhiteSpace();
61 r.reserve( id.length());
67 if (( int) c>= '0' && ( int) c<= '9') {
71 add = char2Identifier( c);
76 for (uint i=1; i< id.length(); i++) {
77 add = char2Identifier( id.at( i));
90 return "<p>"+ i18n( "Value of \"%1\" column must be an identifier.").arg( valueName)
91 + "</p><p>"+ i18n( "\"%1\" is not a valid identifier.").arg( v.toString())+ "</p>";
96IdentifierValidator::IdentifierValidator(TQObject * parent, const char * name)
101IdentifierValidator::~IdentifierValidator()
122Validator::Result IdentifierValidator::internalCheck(
123 const TQString & valueName, const TQVariant& v,
124 TQString &message, TQString & )
127 return Validator::Ok;
129 return Validator::Error;
virtual State validate(TQString &input, int &pos) const
A validator extending TQValidator with offline-checking for value's validity.
KEXIUTILS_EXPORT TQString string2FileName(const TQString &s)
type * findParent(TQObject *o, const char *className)
KEXIUTILS_EXPORT TQString identifierExpectedMessage(const TQString &valueName, const TQVariant &v)
KEXIUTILS_EXPORT TQString string2Identifier(const TQString &s)
KEXIUTILS_EXPORT bool isIdentifier(const TQString &s)
|