compiler.cxx (b3f79822) compiler.cxx (dffa72de)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 2950 unchanged lines hidden (view full) ---

2959}
2960
2961sal_Bool ScCompiler::IsNamedRange( const String& rUpperName )
2962{
2963 // IsNamedRange is called only from NextNewToken, with an upper-case string
2964
2965 sal_uInt16 n;
2966 ScRangeName* pRangeName = pDoc->GetRangeName();
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance

--- 2950 unchanged lines hidden (view full) ---

2959}
2960
2961sal_Bool ScCompiler::IsNamedRange( const String& rUpperName )
2962{
2963 // IsNamedRange is called only from NextNewToken, with an upper-case string
2964
2965 sal_uInt16 n;
2966 ScRangeName* pRangeName = pDoc->GetRangeName();
2967 if (pRangeName->SearchNameUpper( rUpperName, n, aPos.Tab() ) )
2968 {
2969 ScRangeData* pData = (*pRangeName)[n];
2970 ScRawToken aToken;
2971 aToken.SetName( pData->GetIndex() );
2972 pRawToken = aToken.Clone();
2973 return sal_True;
2974 }
2967 if (pRangeName->SearchNameUpper( rUpperName, n ) )
2968 {
2969 ScRangeData* pData = (*pRangeName)[n];
2970 ScRawToken aToken;
2971 aToken.SetName( pData->GetIndex() );
2972 pRawToken = aToken.Clone();
2973 return sal_True;
2974 }

--- 1867 unchanged lines hidden (view full) ---

4842 }
4843 }
4844 }
4845 return pRangeData;
4846}
4847
4848// aPos.Tab() must be already adjusted!
4849ScRangeData* ScCompiler::UpdateMoveTab( SCTAB nOldTab, SCTAB nNewTab,
2975 if (pRangeName->SearchNameUpper( rUpperName, n ) )
2976 {
2977 ScRangeData* pData = (*pRangeName)[n];
2978 ScRawToken aToken;
2979 aToken.SetName( pData->GetIndex() );
2980 pRawToken = aToken.Clone();
2981 return sal_True;
2982 }

--- 1867 unchanged lines hidden (view full) ---

4850 }
4851 }
4852 }
4853 return pRangeData;
4854}
4855
4856// aPos.Tab() must be already adjusted!
4857ScRangeData* ScCompiler::UpdateMoveTab( SCTAB nOldTab, SCTAB nNewTab,
4850 sal_Bool bIsName )
4858 bool bIsName, bool bOnlyUpdateOwnTab /*= FALSE*/)
4851{
4852 ScRangeData* pRangeData = NULL;
4853 SCsTAB nTab;
4854
4855 SCTAB nStart, nEnd;
4856 short nDir; // direction in which others move
4857 if ( nOldTab < nNewTab )
4858 {

--- 40 unchanged lines hidden (view full) ---

4899 if ( !(bIsName && rRef1.IsTabRel()) )
4900 { // of names only adjust absolute references
4901 if ( rRef1.IsTabRel() )
4902 nTab = rRef1.nRelTab + nOldPosTab;
4903 else
4904 nTab = rRef1.nTab;
4905 if ( nTab == nOldTab )
4906 rRef1.nTab = nNewTab;
4859{
4860 ScRangeData* pRangeData = NULL;
4861 SCsTAB nTab;
4862
4863 SCTAB nStart, nEnd;
4864 short nDir; // direction in which others move
4865 if ( nOldTab < nNewTab )
4866 {

--- 40 unchanged lines hidden (view full) ---

4907 if ( !(bIsName && rRef1.IsTabRel()) )
4908 { // of names only adjust absolute references
4909 if ( rRef1.IsTabRel() )
4910 nTab = rRef1.nRelTab + nOldPosTab;
4911 else
4912 nTab = rRef1.nTab;
4913 if ( nTab == nOldTab )
4914 rRef1.nTab = nNewTab;
4907 else if ( nStart <= nTab && nTab <= nEnd )
4915 else if ( nStart <= nTab && nTab <= nEnd && !bOnlyUpdateOwnTab)
4908 rRef1.nTab = nTab + nDir;
4909 rRef1.nRelTab = rRef1.nTab - nPosTab;
4910 }
4911 else
4912 bIsRel = sal_True;
4913 if ( t->GetType() == svDoubleRef )
4914 {
4915 ScSingleRefData& rRef2 = t->GetDoubleRef().Ref2;
4916 if ( !(bIsName && rRef2.IsTabRel()) )
4917 { // of names only adjust absolute references
4918 if ( rRef2.IsTabRel() )
4919 nTab = rRef2.nRelTab + nOldPosTab;
4920 else
4921 nTab = rRef2.nTab;
4922 if ( nTab == nOldTab )
4923 rRef2.nTab = nNewTab;
4916 rRef1.nTab = nTab + nDir;
4917 rRef1.nRelTab = rRef1.nTab - nPosTab;
4918 }
4919 else
4920 bIsRel = sal_True;
4921 if ( t->GetType() == svDoubleRef )
4922 {
4923 ScSingleRefData& rRef2 = t->GetDoubleRef().Ref2;
4924 if ( !(bIsName && rRef2.IsTabRel()) )
4925 { // of names only adjust absolute references
4926 if ( rRef2.IsTabRel() )
4927 nTab = rRef2.nRelTab + nOldPosTab;
4928 else
4929 nTab = rRef2.nTab;
4930 if ( nTab == nOldTab )
4931 rRef2.nTab = nNewTab;
4924 else if ( nStart <= nTab && nTab <= nEnd )
4932 else if ( nStart <= nTab && nTab <= nEnd && !bOnlyUpdateOwnTab)
4925 rRef2.nTab = nTab + nDir;
4926 rRef2.nRelTab = rRef2.nTab - nPosTab;
4927 }
4928 else
4929 bIsRel = sal_True;
4930 SCsTAB nTab1, nTab2;
4931 if ( rRef1.IsTabRel() )
4932 nTab1 = rRef1.nRelTab + nPosTab;

--- 549 unchanged lines hidden ---
4933 rRef2.nTab = nTab + nDir;
4934 rRef2.nRelTab = rRef2.nTab - nPosTab;
4935 }
4936 else
4937 bIsRel = sal_True;
4938 SCsTAB nTab1, nTab2;
4939 if ( rRef1.IsTabRel() )
4940 nTab1 = rRef1.nRelTab + nPosTab;

--- 549 unchanged lines hidden ---