diff options
Diffstat (limited to 'offapi/com/sun/star/i18n/KParseTokens.idl')
-rw-r--r-- | offapi/com/sun/star/i18n/KParseTokens.idl | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/offapi/com/sun/star/i18n/KParseTokens.idl b/offapi/com/sun/star/i18n/KParseTokens.idl new file mode 100644 index 000000000000..fccaf55e31fb --- /dev/null +++ b/offapi/com/sun/star/i18n/KParseTokens.idl @@ -0,0 +1,178 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +#ifndef __com_sun_star_i18n_KParseTokens_idl__ +#define __com_sun_star_i18n_KParseTokens_idl__ + +//============================================================================ + +module com { module sun { module star { module i18n { + +//============================================================================ + +/** + These constants specify the characters a name or identifier token to + be parsed can have. + + <p> They are passed to + <member>XCharacterClassification::parseAnyToken()</member> and + <member>XCharacterClassification::parsePredefinedToken()</member>. + They are also set in the <member>ParseResult::StartFlags</member> + and <member>ParseResult::ContFlags</member>. </p> + */ + +published constants KParseTokens +{ + /// ASCII A-Z upper alpha + const long ASC_UPALPHA = 0x00000001; + + /// ASCII a-z lower alpha + const long ASC_LOALPHA = 0x00000002; + + /// ASCII 0-9 digit + const long ASC_DIGIT = 0x00000004; + + /// ASCII '_' underscore + const long ASC_UNDERSCORE = 0x00000008; + + /// ASCII '$' dollar + const long ASC_DOLLAR = 0x00000010; + + /// ASCII '.' dot/point + const long ASC_DOT = 0x00000020; + + /// ASCII ':' colon + const long ASC_COLON = 0x00000040; + + /// Special value to allow control characters (0x00 < char < 0x20) + const long ASC_CONTROL = 0x00000200; + + /** Special value to allow anything below 128 except control + characters. <strong>Not</strong> set in + <type>ParseResult</type>. */ + const long ASC_ANY_BUT_CONTROL = 0x00000400; + + /** Additional flag set in <member>ParseResult::StartFlags</member> + or <member>ParseResult::ContFlags</member>. Set if none of the + above ASC_... (except ASC_ANY_...) single values match an ASCII + character parsed. */ + const long ASC_OTHER = 0x00000800; + + /// Unicode (above 127) upper case letter + const long UNI_UPALPHA = 0x00001000; + + /// Unicode (above 127) lower case letter + const long UNI_LOALPHA = 0x00002000; + + /// Unicode (above 127) decimal digit number + const long UNI_DIGIT = 0x00004000; + + /// Unicode (above 127) title case letter + const long UNI_TITLE_ALPHA = 0x00008000; + + /// Unicode (above 127) modifier letter + const long UNI_MODIFIER_LETTER = 0x00010000; + + /// Unicode (above 127) other letter + const long UNI_OTHER_LETTER = 0x00020000; + + /// Unicode (above 127) letter number + const long UNI_LETTER_NUMBER = 0x00040000; + + /// Unicode (above 127) other number + const long UNI_OTHER_NUMBER = 0x00080000; + + /** If this bit is set in <em>nContCharFlags</em> parameters and a + string enclosed in double quotes is parsed and two consecutive + double quotes are encountered, the string is ended. If this bit + is not set, the two double quotes are parsed as one escaped + double quote and string parsing continues. The bit is ignored in + <em>nStartCharFlags</em> parameters. + + <p> Example: <br/> + "abc""def" --> bit not set => abc"def <br/> + "abc""def" --> bit set => abc </p> + */ + const long TWO_DOUBLE_QUOTES_BREAK_STRING = 0x10000000; + + /** Additional flag set in <member>ParseResult::StartFlags</member> + or <member>ParseResult::ContFlags</member>. Set if none of the + above UNI_... single values match a Unicode character parsed. */ + const long UNI_OTHER = 0x20000000; + + /** Only valid for <em>nStartCharFlags</em> parameter to + <method>ChararacterClassification::parseAnyToken</method> and + <method>ChararacterClassification::parsePredefinedToken</method>, + ignored on <em>nContCharFlags</em> parameter. + <strong>Not</strong> set in <type>ParseResult</type>. */ + const long IGNORE_LEADING_WS = 0x40000000; + + + // useful combinations + + /// ASCII a-zA-Z lower or upper alpha + const long ASC_ALPHA = ASC_UPALPHA | ASC_LOALPHA; + + /// ASCII a-zA-Z0-9 alphanumeric + const long ASC_ALNUM = ASC_ALPHA | ASC_DIGIT; + + /// Unicode (above 127) lower or upper or title case alpha + const long UNI_ALPHA = UNI_UPALPHA | UNI_LOALPHA | UNI_TITLE_ALPHA; + + /// Unicode (above 127) alphanumeric + const long UNI_ALNUM = UNI_ALPHA | UNI_DIGIT; + + /// Unicode (above 127) alpha or letter + const long UNI_LETTER = UNI_ALPHA | UNI_MODIFIER_LETTER | + UNI_OTHER_LETTER; + + /// Unicode (above 127) number + const long UNI_NUMBER = UNI_DIGIT | UNI_LETTER_NUMBER | + UNI_OTHER_NUMBER; + + /// any (ASCII or Unicode) alpha + const long ANY_ALPHA = ASC_ALPHA | UNI_ALPHA; + + /// any (ASCII or Unicode) digit + const long ANY_DIGIT = ASC_DIGIT | UNI_DIGIT; + + /// any (ASCII or Unicode) alphanumeric + const long ANY_ALNUM = ASC_ALNUM | UNI_ALNUM; + + /// any (ASCII or Unicode) letter + const long ANY_LETTER = ASC_ALPHA | UNI_LETTER; + + /// any (ASCII or Unicode) number + const long ANY_NUMBER = ASC_DIGIT | UNI_NUMBER; + + /// any (ASCII or Unicode) letter or number + const long ANY_LETTER_OR_NUMBER = ANY_LETTER | ANY_NUMBER; +}; + +//============================================================================ +}; }; }; }; + +#endif |