diff options
author | Ocke Janssen <oj@openoffice.org> | 2002-10-18 11:24:00 +0000 |
---|---|---|
committer | Ocke Janssen <oj@openoffice.org> | 2002-10-18 11:24:00 +0000 |
commit | 884c9c85e673d6d078ee9875b69943d4a8d3347f (patch) | |
tree | aafe866c69355b541f403474783f72925c54755d /forms/source | |
parent | 68a742538afbb655d7eb93512525b4485210ae99 (diff) |
#i2817# cut savedvalue when it is greater than the max text len
Diffstat (limited to 'forms/source')
-rw-r--r-- | forms/source/component/Edit.cxx | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/forms/source/component/Edit.cxx b/forms/source/component/Edit.cxx index 6485e4ac220f..76aa6af4a6cb 100644 --- a/forms/source/component/Edit.cxx +++ b/forms/source/component/Edit.cxx @@ -2,9 +2,9 @@ * * $RCSfile: Edit.cxx,v $ * - * $Revision: 1.12 $ + * $Revision: 1.13 $ * - * last change: $Author: vg $ $Date: 2002-07-23 11:05:37 $ + * last change: $Author: oj $ $Date: 2002-10-18 12:24:00 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -573,7 +573,7 @@ void OEditModel::_loaded(const EventObject& rEvent) aVal <<= (sal_Int16)nFieldLen; m_xAggregateSet->setPropertyValue(PROPERTY_MAXTEXTLEN, aVal); - m_nMaxLen = nFieldLen; // damit das Ganze beim _unloaded wieder zurueckgesetzt wird + m_nMaxLen = static_cast<sal_Int16>(nFieldLen); // damit das Ganze beim _unloaded wieder zurueckgesetzt wird } } else @@ -617,7 +617,7 @@ sal_Bool OEditModel::_commit() { try { - if (m_bNumericField) + if ( m_bNumericField ) DBTypeConversion::setValue(m_xColumnUpdate, m_xFormatter, m_aNullDate, sNewValue, m_nFormatKey, m_nFieldType, m_nKeyType); else m_xColumnUpdate->updateString(sNewValue); @@ -650,6 +650,14 @@ void OEditModel::_onValueChanged() m_nFormatKey, m_nKeyType); + // #i2817# OJ + sal_uInt16 nMaxTextLen = getINT16(m_xAggregateSet->getPropertyValue(PROPERTY_MAXTEXTLEN)); + if ( nMaxTextLen && m_aSaveValue.getLength() > nMaxTextLen ) + { + sal_Int32 nDiff = m_aSaveValue.getLength() - nMaxTextLen; + m_aSaveValue = m_aSaveValue.replaceAt(nMaxTextLen,nDiff,::rtl::OUString()); + } + m_xAggregateFastSet->setFastPropertyValue(OEditModel::nTextHandle, makeAny(m_aSaveValue)); } |