summaryrefslogtreecommitdiff
path: root/sc/inc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2015-06-18 00:05:58 +0200
committerEike Rathke <erack@redhat.com>2015-06-18 02:47:30 +0200
commit7b7aac2402038c3c9aaeacbbd61c83618728b857 (patch)
treec0372dac324143364908a257d22307717ed44106 /sc/inc
parenta60fc4bf72bd4cecda8b50a4b62b0c14101f8a58 (diff)
Resolves: tdf#83365 push proper references in INDIRECT
... that take relative/absolute addressing and sheet 3D flag into account to be fed to reference extension via range operator. Change-Id: Iabe13ae384577e2d71ca87af6482ddccbf7ad0ac (cherry picked from commit fb6dd2a73074b9695bd8ddf7ba40f1819b03024e)
Diffstat (limited to 'sc/inc')
-rw-r--r--sc/inc/refdata.hxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/sc/inc/refdata.hxx b/sc/inc/refdata.hxx
index ac27db8a3d9a..e0d9b807a78b 100644
--- a/sc/inc/refdata.hxx
+++ b/sc/inc/refdata.hxx
@@ -57,6 +57,8 @@ public:
void InitAddress( SCCOL nCol, SCROW nRow, SCTAB nTab );
/// InitAddressRel: InitFlags and set address, everything relative to rPos
void InitAddressRel( const ScAddress& rAdr, const ScAddress& rPos );
+ /// InitFlags and set address, relative to rPos if rRef says so.
+ void InitFromRefAddress( const ScRefAddress& rRef, const ScAddress& rPos );
sal_uInt8 FlagValue() const { return mnFlagValue;}
void SetColRel( bool bVal ) { Flags.bColRel = bVal; }
@@ -135,6 +137,9 @@ struct ScComplexRefData
Ref2.InitAddress( nCol2, nRow2, nTab2 );
}
+ /// InitFlags and set range, relative to rPos if rRef1 and rRef2 say so.
+ void InitFromRefAddresses( const ScRefAddress& rRef1, const ScRefAddress& rRef2, const ScAddress& rPos );
+
bool Valid() const;
/** In external references nTab is -1 for the start tab and -1 for the end