summaryrefslogtreecommitdiffstats
path: root/dbaccess/source/core/api/CRowSetDataColumn.cxx
diff options
context:
space:
mode:
authorOcke Janssen [oj] <Ocke.Janssen@sun.com>2010-02-15 10:24:00 +0100
committerOcke Janssen [oj] <Ocke.Janssen@sun.com>2010-02-15 10:24:00 +0100
commita4bc14c0d6c2d2d6af476f9fc446381be615e752 (patch)
treebe1815c66b0ed6907d1aba6505ce7aad96283847 /dbaccess/source/core/api/CRowSetDataColumn.cxx
parentdba33f: fix delete (diff)
parentdba33f: #i53377# impl join rowse helper resultset which is updateable (diff)
downloadcore-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.cxx46
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;
}