dba34a: merged in CWS dba33i
This commit is contained in:
@@ -39,6 +39,7 @@
|
|||||||
#include <com/sun/star/util/Color.idl>
|
#include <com/sun/star/util/Color.idl>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <com/sun/star/awt/XItemList.idl>
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
|
||||||
@@ -225,6 +226,11 @@ published service UnoControlComboBoxModel
|
|||||||
this is possible.</p>
|
this is possible.</p>
|
||||||
*/
|
*/
|
||||||
[optional, property] short MouseWheelBehavior;
|
[optional, property] short MouseWheelBehavior;
|
||||||
|
|
||||||
|
/** allows mmanipulating the list of items in the combo box more fine-grained than the
|
||||||
|
<member>StringItemList</member> property.
|
||||||
|
*/
|
||||||
|
[optional] interface XItemList;
|
||||||
};
|
};
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
@@ -213,8 +213,19 @@ published service UnoControlListBoxModel
|
|||||||
|
|
||||||
/** allows mmanipulating the list of items in the list box more fine-grained than the
|
/** allows mmanipulating the list of items in the list box more fine-grained than the
|
||||||
<member>StringItemList</member> property.
|
<member>StringItemList</member> property.
|
||||||
|
|
||||||
|
@since OOo 3.3
|
||||||
*/
|
*/
|
||||||
[optional] interface XItemList;
|
[optional] interface XItemList;
|
||||||
|
|
||||||
|
/** specifies where an item separator - a horizontal line - is drawn.
|
||||||
|
|
||||||
|
<p>If this is not <NULL/>, then a horizontal line will be drawn between the item at the given position,
|
||||||
|
and the following item.</p>
|
||||||
|
|
||||||
|
@since OOo 3.3
|
||||||
|
*/
|
||||||
|
[optional, property, maybevoid] short ItemSeparatorPos;
|
||||||
};
|
};
|
||||||
|
|
||||||
//=============================================================================
|
//=============================================================================
|
||||||
|
@@ -140,9 +140,8 @@ enum rtl_math_DecimalPlaces
|
|||||||
|
|
||||||
/** Conversions analogous to sprintf() using internal rounding.
|
/** Conversions analogous to sprintf() using internal rounding.
|
||||||
|
|
||||||
+/-HUGE_VAL are converted to "1.#INF" and "-1.#INF", NAN values are
|
+/-HUGE_VAL are converted to "INF" and "-INF", NAN values are
|
||||||
converted to "1.#NAN" and "-1.#NAN", of course using cDecSeparator instead
|
converted to "NaN".
|
||||||
of '.'.
|
|
||||||
|
|
||||||
@param pResult
|
@param pResult
|
||||||
Returns the resulting byte string. Must itself not be null, and must point
|
Returns the resulting byte string. Must itself not be null, and must point
|
||||||
@@ -216,9 +215,8 @@ void SAL_CALL rtl_math_doubleToString(rtl_String ** pResult,
|
|||||||
|
|
||||||
/** Conversions analogous to sprintf() using internal rounding.
|
/** Conversions analogous to sprintf() using internal rounding.
|
||||||
|
|
||||||
+/-HUGE_VAL are converted to "1.#INF" and "-1.#INF", NAN values are
|
+/-HUGE_VAL are converted to "INF" and "-INF", NAN values are
|
||||||
converted to "1.#NAN" and "-1.#NAN", of course using cDecSeparator instead
|
converted to "NaN".
|
||||||
of '.'.
|
|
||||||
|
|
||||||
@param pResult
|
@param pResult
|
||||||
Returns the resulting Unicode string. Must itself not be null, and must
|
Returns the resulting Unicode string. Must itself not be null, and must
|
||||||
@@ -296,8 +294,9 @@ void SAL_CALL rtl_math_doubleToUString(rtl_uString ** pResult,
|
|||||||
Leading tabs (0x09) and spaces (0x20) are eaten. Overflow returns
|
Leading tabs (0x09) and spaces (0x20) are eaten. Overflow returns
|
||||||
+/-HUGE_VAL, underflow 0. In both cases pStatus is set to
|
+/-HUGE_VAL, underflow 0. In both cases pStatus is set to
|
||||||
rtl_math_ConversionStatus_OutOfRange, otherwise to
|
rtl_math_ConversionStatus_OutOfRange, otherwise to
|
||||||
rtl_math_ConversionStatus_Ok. "+/-1.#INF" is recognized as +/-HUGE_VAL,
|
rtl_math_ConversionStatus_Ok. "INF", "-INF" and "+/-1.#INF" are
|
||||||
pStatus is set to rtl_math_ConversionStatus_OutOfRange. "+/-1.#NAN" is
|
recognized as +/-HUGE_VAL, pStatus is set to
|
||||||
|
rtl_math_ConversionStatus_OutOfRange. "NaN" and "+/-1.#NAN" are
|
||||||
recognized and the value is set to +/-NAN, pStatus is set to
|
recognized and the value is set to +/-NAN, pStatus is set to
|
||||||
rtl_math_ConversionStatus_Ok.
|
rtl_math_ConversionStatus_Ok.
|
||||||
|
|
||||||
@@ -333,8 +332,9 @@ double SAL_CALL rtl_math_stringToDouble(
|
|||||||
Leading tabs (U+0009) and spaces (U+0020) are eaten. Overflow returns
|
Leading tabs (U+0009) and spaces (U+0020) are eaten. Overflow returns
|
||||||
+/-HUGE_VAL, underflow 0. In both cases pStatus is set to
|
+/-HUGE_VAL, underflow 0. In both cases pStatus is set to
|
||||||
rtl_math_ConversionStatus_OutOfRange, otherwise to
|
rtl_math_ConversionStatus_OutOfRange, otherwise to
|
||||||
rtl_math_ConversionStatus_Ok. "+/-1.#INF" is recognized as +/-HUGE_VAL,
|
rtl_math_ConversionStatus_Ok. "INF", "-INF" and "+/-1.#INF" are
|
||||||
pStatus is set to rtl_math_ConversionStatus_OutOfRange. "+/-1.#NAN" is
|
recognized as +/-HUGE_VAL, pStatus is set to
|
||||||
|
rtl_math_ConversionStatus_OutOfRange. "NaN" and "+/-1.#NAN" are
|
||||||
recognized and the value is set to +/-NAN, pStatus is set to
|
recognized and the value is set to +/-NAN, pStatus is set to
|
||||||
rtl_math_ConversionStatus_Ok.
|
rtl_math_ConversionStatus_Ok.
|
||||||
|
|
||||||
|
@@ -318,44 +318,37 @@ inline void doubleToString(StringT ** pResult,
|
|||||||
|
|
||||||
if ( rtl::math::isNan( fValue ) )
|
if ( rtl::math::isNan( fValue ) )
|
||||||
{
|
{
|
||||||
sal_Int32 nCapacity = RTL_CONSTASCII_LENGTH("-1.#NAN");
|
// #i112652# XMLSchema-2
|
||||||
|
sal_Int32 nCapacity = RTL_CONSTASCII_LENGTH("NaN");
|
||||||
if (pResultCapacity == 0)
|
if (pResultCapacity == 0)
|
||||||
{
|
{
|
||||||
pResultCapacity = &nCapacity;
|
pResultCapacity = &nCapacity;
|
||||||
T::createBuffer(pResult, pResultCapacity);
|
T::createBuffer(pResult, pResultCapacity);
|
||||||
nResultOffset = 0;
|
nResultOffset = 0;
|
||||||
}
|
}
|
||||||
|
T::appendAscii(pResult, pResultCapacity, &nResultOffset,
|
||||||
|
RTL_CONSTASCII_STRINGPARAM("NaN"));
|
||||||
|
|
||||||
if ( bSign )
|
|
||||||
T::appendAscii(pResult, pResultCapacity, &nResultOffset,
|
|
||||||
RTL_CONSTASCII_STRINGPARAM("-"));
|
|
||||||
T::appendAscii(pResult, pResultCapacity, &nResultOffset,
|
|
||||||
RTL_CONSTASCII_STRINGPARAM("1"));
|
|
||||||
T::appendChar(pResult, pResultCapacity, &nResultOffset, cDecSeparator);
|
|
||||||
T::appendAscii(pResult, pResultCapacity, &nResultOffset,
|
|
||||||
RTL_CONSTASCII_STRINGPARAM("#NAN"));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool bHuge = fValue == HUGE_VAL; // g++ 3.0.1 requires it this way...
|
bool bHuge = fValue == HUGE_VAL; // g++ 3.0.1 requires it this way...
|
||||||
if ( bHuge || rtl::math::isInf( fValue ) )
|
if ( bHuge || rtl::math::isInf( fValue ) )
|
||||||
{
|
{
|
||||||
sal_Int32 nCapacity = RTL_CONSTASCII_LENGTH("-1.#INF");
|
// #i112652# XMLSchema-2
|
||||||
|
sal_Int32 nCapacity = RTL_CONSTASCII_LENGTH("-INF");
|
||||||
if (pResultCapacity == 0)
|
if (pResultCapacity == 0)
|
||||||
{
|
{
|
||||||
pResultCapacity = &nCapacity;
|
pResultCapacity = &nCapacity;
|
||||||
T::createBuffer(pResult, pResultCapacity);
|
T::createBuffer(pResult, pResultCapacity);
|
||||||
nResultOffset = 0;
|
nResultOffset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( bSign )
|
if ( bSign )
|
||||||
T::appendAscii(pResult, pResultCapacity, &nResultOffset,
|
T::appendAscii(pResult, pResultCapacity, &nResultOffset,
|
||||||
RTL_CONSTASCII_STRINGPARAM("-"));
|
RTL_CONSTASCII_STRINGPARAM("-"));
|
||||||
T::appendAscii(pResult, pResultCapacity, &nResultOffset,
|
T::appendAscii(pResult, pResultCapacity, &nResultOffset,
|
||||||
RTL_CONSTASCII_STRINGPARAM("1"));
|
RTL_CONSTASCII_STRINGPARAM("INF"));
|
||||||
T::appendChar(pResult, pResultCapacity, &nResultOffset, cDecSeparator);
|
|
||||||
T::appendAscii(pResult, pResultCapacity, &nResultOffset,
|
|
||||||
RTL_CONSTASCII_STRINGPARAM("#INF"));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -736,7 +729,30 @@ inline double stringToDouble(CharT const * pBegin, CharT const * pEnd,
|
|||||||
++p0;
|
++p0;
|
||||||
}
|
}
|
||||||
CharT const * p = p0;
|
CharT const * p = p0;
|
||||||
|
bool bDone = false;
|
||||||
|
|
||||||
|
// #i112652# XMLSchema-2
|
||||||
|
if (3 >= (pEnd - p))
|
||||||
|
{
|
||||||
|
if ((CharT('N') == p[0]) && (CharT('a') == p[1])
|
||||||
|
&& (CharT('N') == p[2]))
|
||||||
|
{
|
||||||
|
p += 3;
|
||||||
|
rtl::math::setNan( &fVal );
|
||||||
|
bDone = true;
|
||||||
|
}
|
||||||
|
else if ((CharT('I') == p[0]) && (CharT('N') == p[1])
|
||||||
|
&& (CharT('F') == p[2]))
|
||||||
|
{
|
||||||
|
p += 3;
|
||||||
|
fVal = HUGE_VAL;
|
||||||
|
eStatus = rtl_math_ConversionStatus_OutOfRange;
|
||||||
|
bDone = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bDone) // do not recognize e.g. NaN1.23
|
||||||
|
{
|
||||||
// leading zeros and group separators may be safely ignored
|
// leading zeros and group separators may be safely ignored
|
||||||
while (p != pEnd && (*p == CharT('0') || *p == cGroupSeparator))
|
while (p != pEnd && (*p == CharT('0') || *p == cGroupSeparator))
|
||||||
++p;
|
++p;
|
||||||
@@ -778,7 +794,8 @@ inline double stringToDouble(CharT const * pBegin, CharT const * pEnd,
|
|||||||
if (!isDigit(c))
|
if (!isDigit(c))
|
||||||
break;
|
break;
|
||||||
if ( nDigs < nSigs )
|
if ( nDigs < nSigs )
|
||||||
{ // further digits (more than nSigs) don't have any significance
|
{ // further digits (more than nSigs) don't have any
|
||||||
|
// significance
|
||||||
fFrac = fFrac * 10.0 + static_cast<double>(c - CharT('0'));
|
fFrac = fFrac * 10.0 + static_cast<double>(c - CharT('0'));
|
||||||
--nFracExp;
|
--nFracExp;
|
||||||
++nDigs;
|
++nDigs;
|
||||||
@@ -810,7 +827,8 @@ inline double stringToDouble(CharT const * pBegin, CharT const * pEnd,
|
|||||||
++p;
|
++p;
|
||||||
}
|
}
|
||||||
if ( fVal == 0.0 )
|
if ( fVal == 0.0 )
|
||||||
{ // no matter what follows, zero stays zero, but carry on the offset
|
{ // no matter what follows, zero stays zero, but carry on the
|
||||||
|
// offset
|
||||||
while (p != pEnd && isDigit(*p))
|
while (p != pEnd && isDigit(*p))
|
||||||
++p;
|
++p;
|
||||||
}
|
}
|
||||||
@@ -839,7 +857,8 @@ inline double stringToDouble(CharT const * pBegin, CharT const * pEnd,
|
|||||||
fVal = HUGE_VAL;
|
fVal = HUGE_VAL;
|
||||||
eStatus = rtl_math_ConversionStatus_OutOfRange;
|
eStatus = rtl_math_ConversionStatus_OutOfRange;
|
||||||
}
|
}
|
||||||
else if ( nAllExp < DBL_MIN_10_EXP || (bOverFlow && bExpSign) )
|
else if ((nAllExp < DBL_MIN_10_EXP) ||
|
||||||
|
(bOverFlow && bExpSign) )
|
||||||
{ // underflow
|
{ // underflow
|
||||||
fVal = 0.0;
|
fVal = 0.0;
|
||||||
eStatus = rtl_math_ConversionStatus_OutOfRange;
|
eStatus = rtl_math_ConversionStatus_OutOfRange;
|
||||||
@@ -890,6 +909,7 @@ inline double stringToDouble(CharT const * pBegin, CharT const * pEnd,
|
|||||||
++p;
|
++p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// overflow also if more than DBL_MAX_10_EXP digits without decimal
|
// overflow also if more than DBL_MAX_10_EXP digits without decimal
|
||||||
// separator, or 0. and more than DBL_MIN_10_EXP digits, ...
|
// separator, or 0. and more than DBL_MIN_10_EXP digits, ...
|
||||||
|
@@ -185,6 +185,7 @@ rtl::textenc::BmpUnicodeToSingleByteRange const unicodeToAdobeSymbolEncoding[]
|
|||||||
{ 0x23D0, 0x23D0 - 0x23D0, 0xBE }, { 0x25CA, 0x25CA - 0x25CA, 0xE0 },
|
{ 0x23D0, 0x23D0 - 0x23D0, 0xBE }, { 0x25CA, 0x25CA - 0x25CA, 0xE0 },
|
||||||
{ 0x2660, 0x2660 - 0x2660, 0xAA }, { 0x2663, 0x2663 - 0x2663, 0xA7 },
|
{ 0x2660, 0x2660 - 0x2660, 0xAA }, { 0x2663, 0x2663 - 0x2663, 0xA7 },
|
||||||
{ 0x2665, 0x2665 - 0x2665, 0xA9 }, { 0x2666, 0x2666 - 0x2666, 0xA8 },
|
{ 0x2665, 0x2665 - 0x2665, 0xA9 }, { 0x2666, 0x2666 - 0x2666, 0xA8 },
|
||||||
|
{ 0xF000, 0xF0FF - 0xF000, 0x00 }, // symbol aliasing U+F0XX->S+00XX
|
||||||
{ 0xF6D9, 0xF6D9 - 0xF6D9, 0xD3 }, { 0xF6DA, 0xF6DA - 0xF6DA, 0xD2 },
|
{ 0xF6D9, 0xF6D9 - 0xF6D9, 0xD3 }, { 0xF6DA, 0xF6DA - 0xF6DA, 0xD2 },
|
||||||
{ 0xF6DB, 0xF6DB - 0xF6DB, 0xD4 }, { 0xF8E5, 0xF8E5 - 0xF8E5, 0x60 },
|
{ 0xF6DB, 0xF6DB - 0xF6DB, 0xD4 }, { 0xF8E5, 0xF8E5 - 0xF8E5, 0x60 },
|
||||||
{ 0xF8E8, 0xF8EA - 0xF8E8, 0xE2 } };
|
{ 0xF8E8, 0xF8EA - 0xF8E8, 0xE2 } };
|
||||||
@@ -251,6 +252,7 @@ rtl::textenc::BmpUnicodeToSingleByteRange const unicodeToAdobeDingbatsEncoding[]
|
|||||||
{ 0x2756, 0x2756 - 0x2756, 0x76 }, { 0x2758, 0x275E - 0x2758, 0x78 },
|
{ 0x2756, 0x2756 - 0x2756, 0x76 }, { 0x2758, 0x275E - 0x2758, 0x78 },
|
||||||
{ 0x2761, 0x2767 - 0x2761, 0xA1 }, { 0x2776, 0x2794 - 0x2776, 0xB6 },
|
{ 0x2761, 0x2767 - 0x2761, 0xA1 }, { 0x2776, 0x2794 - 0x2776, 0xB6 },
|
||||||
{ 0x2798, 0x27AF - 0x2798, 0xD8 }, { 0x27B1, 0x27BE - 0x27B1, 0xF1 },
|
{ 0x2798, 0x27AF - 0x2798, 0xD8 }, { 0x27B1, 0x27BE - 0x27B1, 0xF1 },
|
||||||
|
{ 0xF000, 0xF0FF - 0xF000, 0x00 }, // symbol aliasing U+F0XX->S+00XX
|
||||||
{ 0xF8D7, 0xF8E4 - 0xF8D7, 0x80 }};
|
{ 0xF8D7, 0xF8E4 - 0xF8D7, 0x80 }};
|
||||||
|
|
||||||
rtl::textenc::BmpUnicodeToSingleByteConverterData const
|
rtl::textenc::BmpUnicodeToSingleByteConverterData const
|
||||||
|
Reference in New Issue
Block a user