diff options
author | Ocke Janssen [oj] <Ocke.Janssen@sun.com> | 2010-02-15 10:24:00 +0100 |
---|---|---|
committer | Ocke Janssen [oj] <Ocke.Janssen@sun.com> | 2010-02-15 10:24:00 +0100 |
commit | a4bc14c0d6c2d2d6af476f9fc446381be615e752 (patch) | |
tree | be1815c66b0ed6907d1aba6505ce7aad96283847 /dbaccess/source/core/api/CRowSetDataColumn.cxx | |
parent | dba33f: fix delete (diff) | |
parent | dba33f: #i53377# impl join rowse helper resultset which is updateable (diff) | |
download | core-a4bc14c0d6c2d2d6af476f9fc446381be615e752.tar.gz core-a4bc14c0d6c2d2d6af476f9fc446381be615e752.zip |
Automated merge with http://hg.services.openoffice.org/cws/dba33f
Diffstat (limited to 'dbaccess/source/core/api/CRowSetDataColumn.cxx')
-rw-r--r-- | dbaccess/source/core/api/CRowSetDataColumn.cxx | 46 |
1 files changed, 33 insertions, 13 deletions
diff --git a/dbaccess/source/core/api/CRowSetDataColumn.cxx b/dbaccess/source/core/api/CRowSetDataColumn.cxx index 4b1c3649bf6a..7e64afb9a16e 100644 --- a/dbaccess/source/core/api/CRowSetDataColumn.cxx +++ b/dbaccess/source/core/api/CRowSetDataColumn.cxx @@ -107,7 +107,7 @@ ORowSetDataColumn::~ORowSetDataColumn() DECL_PROP1_BOOL( ISCURRENCY, READONLY ); DECL_PROP1_BOOL( ISDEFINITELYWRITABLE, READONLY ); DECL_PROP1( ISNULLABLE, sal_Int32, READONLY ); - DECL_PROP1_BOOL( ISREADONLY, READONLY ); + DECL_PROP1_BOOL( ISREADONLY, BOUND ); DECL_PROP1_BOOL( ISROWVERSION, READONLY ); DECL_PROP1_BOOL( ISSEARCHABLE, READONLY ); DECL_PROP1_BOOL( ISSIGNED, READONLY ); @@ -160,13 +160,21 @@ void SAL_CALL ORowSetDataColumn::getFastPropertyValue( Any& rValue, sal_Int32 nH // ------------------------------------------------------------------------- void SAL_CALL ORowSetDataColumn::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue )throw (Exception) { - if ( PROPERTY_ID_VALUE == nHandle ) - { - updateObject(rValue); - } - else + switch( nHandle ) { - ODataColumn::setFastPropertyValue_NoBroadcast( nHandle,rValue ); + case PROPERTY_ID_VALUE: + updateObject(rValue); + break; + case PROPERTY_ID_ISREADONLY: + { + sal_Bool bVal = sal_False; + rValue >>= bVal; + m_isReadOnly.reset(bVal); + } + break; + default: + ODataColumn::setFastPropertyValue_NoBroadcast( nHandle,rValue ); + break; } } // ------------------------------------------------------------------------- @@ -176,14 +184,26 @@ sal_Bool SAL_CALL ORowSetDataColumn::convertFastPropertyValue( Any & rConvertedV const Any& rValue ) throw (IllegalArgumentException) { sal_Bool bModified = sal_False; - if ( PROPERTY_ID_VALUE == nHandle ) + switch( nHandle ) { - rConvertedValue = rValue; - getFastPropertyValue(rOldValue, PROPERTY_ID_VALUE); - bModified = rConvertedValue != rOldValue; + case PROPERTY_ID_VALUE: + { + rConvertedValue = rValue; + getFastPropertyValue(rOldValue, PROPERTY_ID_VALUE); + bModified = rConvertedValue != rOldValue; + } + break; + case PROPERTY_ID_ISREADONLY: + { + rConvertedValue = rValue; + getFastPropertyValue(rOldValue, PROPERTY_ID_ISREADONLY); + bModified = rConvertedValue != rOldValue; + } + break; + default: + bModified = ODataColumn::convertFastPropertyValue(rConvertedValue, rOldValue, nHandle, rValue); + break; } - else - bModified = ODataColumn::convertFastPropertyValue(rConvertedValue, rOldValue, nHandle, rValue); return bModified; } |