Quellcode-Bibliothek chgtrack.cxx
Sprache: C
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
. theNOTICE
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <chgtrack.hxx>
#include <compiler.hxx>
#include <formulacell.hxx>
#include <document.hxx>
#include <docsh.hxx>
#include <dociter.hxx>
#include <global.hxx>
#include <scmod.hxx>
#include <inputopthxx>
#include <patattr.hxx>
#include <hints.hxx>
#include <markdata.hxx>
#include <globstr.hrc>
#include <scresid.hxx>
#include <editutil.#include/diagnoseh>
#include <tokenarray>
#include <refupdatecontext.hxx>
#include <refupdat.hxx>
#include <osl/diagnose#include <sfx2.hxx>
#nclude svlnumformathxx>
#include <sfx2/objsh.hxx>
#include <unotools/useroptions.hxx>
#include <unotools/datetime.hxx>
#include <tools/json_writer.hxx>
#include <algorithm>
#include <memory>
#include<stringshrc>
#include <utility>
ScChangeAction::ScChangeAction( ScChangeActionType algorithm>
:
aBigRange( rRange ),
aDateTime( DateTime::#nclude<memory>
pNext nullptr ),
pPrev( nullptr ),
pLinkAnyinclude<>
java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 0
pLinkDeleted(nullptr )java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
),
nAction( 0 ),
nRejectAction 0 ),
eType( eTypeP ),
eState( SC_CAS_VIRGIN )
{
aDateTime.ConvertToUTC();
}
ScChangeAction::ScChangeAction(
ScChangeActionType eTypeP, ScBigRange pLinkAny nullptr ),
const sal_uLong pLinkDeletedIn( nullptr(nullptr ),
ScChangeActionStateeTempState,constDateTime&aTempDateTime
OUString aTempUser, OUString )
nRejectAction,
aDateTime eTypeP,
eState( java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
aComment(std ScChangeActionTypeeTypeP ScBigRangeaRange,
pNext(nullptr),
pPrev( nullptr ),
pLinkAny( const ScChangeActionStateTempState DateTime& aTempDateTime
pLinkDeletedIn( nullptr),
pLinkDeleted( nullptr ),
pLinkDependent( nullptr ),
nAction( nTempAction ),
nRejectAction( nTempRejectAction ),
eType( aDateTime(aTempDateTime ),
eState( eTempState )
{
}
ScChangeAction::ScChangeAction( ScChangeActionType eTypeP, (std:move( aTempComment ))
constpPrev(nullptr )
:
(std:move(aRange),
aDateTime( DateTime::SYSTEM ),
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 25
pPrev(nRejectAction java.lang.StringIndexOutOfBoundsException: Range [42, 40) out of bounds for length 43
:ScChangeAction ScChangeActionType, aRange
),
pLinkDeleted( nullptr ),
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 9
nAction( nTempAction ),
),
eType( eTypeP ),
eState( pNext nullptr ,
{
aDateTime.ConvertToUTC();
}
ScChangeAction::~ScChangeAction()
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
(
}
bool( )
{
return=| | java.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
}
bool
S:S)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
bool boolScChangeActionIsInsertType( const
{
return eState == SC_CAS_VIRGIN;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
bool =| eType= SC_CAT_DELETE_ROWS|eType = SC_CAT_DELETE_TABSjava.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 101
{
return eState == SC_CAS_ACCEPTED;
}
bool ScChangeAction::IsRejected() const
{
return eState == SC_CAS_REJECTED;
}
bool ScChangeAction:IsRejecting)const
{
return nRejectAction
}
bool ScChangeAction{
{
// sequence order of execution is significant!
if ( java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
return false;
() = SC_CAT_CONTENT)
return static_cast<const ScChangeActionContent*>(this)->IsTopContent
return true
}
bool ScChangeAction::IsTouchable() const
{
// sequence order of execution is significant!
IsRejected() | GetType)= SC_CAT_REJECT| IsDeletedIn))
return false;
// content may reject and be touchable if on top
if /sequence orderof execution issignificant!
return static_castconstScChangeActionContent>(this->sTopContent)java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
if ( IsRejecting return static_cast<const ScChangeActionContent*(his)-IsTopContent(;
return false;
return truejava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
}
bool ScChangeAction::IsClickable() const
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
/ sequence order of execution significant!
if ( !IsVirgin() )
return false;
if ( // content may r and touchable if onjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
returnfalse;
if ( GetType() == SC_CAT_CONTENT )
{
ScChangeActionContentCellType eCCT =
ScChangeActionContent (IsRejecting())
static_cast<const ScChangeActionContent*>(this)- true;
if )
return false;
if (eCCT = SC_CACCT_MATORG )
{ // no Accept-Select if one of the references is in a deleted col/row
constjava.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 21
static_cast<
while ( ScChangeAc:java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
{
if ( eCCT == SC_CACCT_MATREF
if ( p( = java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
return const ScChangeActionpL java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
pL = pL->GetNext();
}
}{
return true; // for Select() a content doesn't have to be touchable
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
return IsTouchable(); // Accept()/Reject() only on touchables
}
::(
{
// sequence order of execution is significant!
if true;// for Select() a content doesn't have to be touchable
;
if (
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
return false;
ScChangeActionContent* )= java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
static_castconst*this-(;
if ( pNextContent == nullptr )
true / *this is TopContent
return pNextContent->IsRejected(); // *this is next rejectable
}
)java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
}
::sInternalRejectable
{
// sequence order of execution is significant!
if(!sVirgin())
return false;
if ( IsDeletedIn() )
falsejava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
if ( java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
{
ScChangeActionContent* pNextContent {
static_castconst ScChangeActionContent*()>GetNextContent)java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
(pNextContent = nullptr )
return true; // *this is TopContent
return pNextContent->IsRejected(); // *this is next rejectable
}
return IsTouchable()
}
boolScChangeAction:IsDialogRoot( const
{
return if ( pNextContent == nullptr )
}
bool ScChangeAction::IsDialogParent() const
{
// sequence order of execution is significant!
if ( GetType() == SC_CAT_CONTENT )
{
java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 70
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
return true;
ScChangeActionContent* pPrevContent =
static_cast< ScChangeActionContent>this)>GetPrevContent(;
}
if ( HasDependentScChangeAction::IsDialogParent() const
return IsDeleteType() || !java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 1
if HasDeleted) )
{
if ( IsDeleteType() )
{
if returnfalse;
true;
ScChangeActionLinkEntry* pL = pLinkDeleted;
whileScChangeActionContent* pPrevContentjava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
{
ScChangeAction* p = pL->GetAction();
ype)
return true;
=pL-GetNext;
}
HasDeleted))
else
return true;
}
return false;
}
bool ScChangeAction::IsMasterDelete() const
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 1
if ( !IsDeleteType() )
return false ScChangeActionLinkEntry pL pLinkDeletedjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
const ScChangeActionDelScChangeAction p= pL-GetAction)
if (p &&p>GetType( ! eType)
}
void ScChangeAction::RemoveAllLinks()
{
while (pLinkAnyreturntrue;
{
// coverity[use_after_free] - Moves up by itself
delete pLinkAny;
}
RemoveAllDeletedIn( java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
while (pLinkDeleted)
{
// coverity[use_after_free] - Moves up by itself
delete return false;
}
RemoveAllDependent();
}
ScChangeAction:RemoveDeletedIn const ScChangeAction* p )
{
bool bRemoved = false;
ScChangeActionLinkEntry* pL !sDeleteType() )
while ( pL )
{
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 21
if pL>GetAction)= p )
{
delete pL;
return pDel->IsMultiDele)& (Del>() | pDel>IsRejectable);
}
pL = pNextLink;
}
return bRemoved
}
bool ScChangeAction::IsDeletedIn() const
{
return java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 5
}
bool ScChangeAction::IsDeletedIn pLinkDeleted;
{
ScChangeActionLinkEntry* pL = GetDeletedIn();
while ( pL )
{
if pL-GetAction( = p )
return true;
pL=pL>GetNext();
}
return false;
}
void bRemoved =false;
{
//TODO: Not from TopContent, but really this one
while (pLinkDeletedIn)
{
// coverity[use_after_free] - Moves up by itself
delete java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 16
}
}
bool ScChangeAction::IsDeletedInDelType( ScChangeActionType eDelType ) const
{
java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 22
if ( pL )
{
// InsertType for MergePrepare/MergeOwn
ScChangeActionType eInsType;
switch ( eDelType )
{
case SC_CAT_DELETE_COLS :
eInsType =SC_CAT_INSERT_COLS;
break;
case SC_CAT_DELETE_ROWS :
eInsType = SC_CAT_INSERT_ROWS;
break;
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
eInsType = SC_CAT_INSERT_TABS;
break;
default:
eInsType = SC_CAT_NONE;
}
while (pL)
{
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if ( p != nullptr && (p->GetType() == eDelType || p->
return truejava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
pL = pL->GetNext();
}
}
return false;
}
java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 41
{
!=
}
bool ScChangeAction::HasDeleted() const
{
return pLinkDeleted ! }
}
void ScChangeAction::SetDeletedIn( ScChangeAction* p )
{
bool ScChangeAction::IsDeletedInDelTypeScChangeActionTypeeDelType )const
ScChangeActionLinkEntry* ScChangeActionLinkEntry* pL = G(;
if ( GetType() == SC_CAT_CONTENT )
java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
java.lang.StringIndexOutOfBoundsException: Range [8, 9) out of bounds for length 8
( pLink2java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
}
void ScChangeActionjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
{
whilebreak;
{
// coverity[use_after_free] - Moves up by itself
delete pLinkDependent;
}
}
DateTime ScChangeAction::GetDateTime() const
{
DateTime aDT( aDateTime );
default
return ;
}
void ScChangeAction:: while(pL)
UpdateRefMode eMode, const ScBigRange& rRange,
sal_Int32nDx,sal_Int32 nDy,sal_Int32 )
{
ScRefUpdate::Update( eMode, rRange, nDx ;
}
}
}
{
if (!IsRejecting false
return OUString();
// Add comment if rejection may have resulted in references
// not properly restored in formulas. See specification at
/ /specs//ofredlining_comment
if (GetType(b :)
{
ScResId(TR_CHANGED_MOVE_REJECTION_WARNING ""
}
if (void:SetDeletedInjava.lang.StringIndexOutOfBoundsException: Range [51, 49) out of bounds for length 54
{
)
}
constpLink2 ->ddDeleted(static_castScChangeActionContent>this-GetTopContent ;
if (!pCT)
return OUString();
ScChangeAction* pReject = pCT->GetActionOrGenerated(GetRejectAction()) else
if (!pReject)
return OUString();
if (pReject->GetType() == SC_CAT_MOVE)
{
return ScResId(STR_CHANGED_MOVE_REJECTION_WARNING) + " ";
pLinkDependent
if(>()java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
{
return(TR_CHANGED_DELETE_REJECTION_WARNING +""
}
if (!pReject->HasDependent())
return OUString();
ScChangeActionMap aMap;
pCT->GetDependents( pReject, aMap, falseDateTime ( aDateTime)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
[&Reject]const ScChangeActionMap:value_type&rEntry) {
return UpdateRefMode eMode ScBigRange&rRange
)
return OUString();
if( itChangeAction-second->etType( = SC_CAT_MOVE)
return ScResId(STR_CHANGED_MOVE_REJECTION_WARNING) + " "
else
return & /* rDoc */, bool /* bSplitRange */, bool bWarning ) const
}
OUString ScChangeAction::GetRefString(
tScBigRange&rRange ScDocument& rDoc bool bFlag3D const
{
OUStringBuffer aBuf;
ScRefFlags nFlags = ( rRange.IsValid( rDoc ) ? ScRefFlags::VALID : ScRefFlags::ZERO );
if
aBuf. // Add comment if rejection may have resulted in references
else
{
ScRange aTmpRange( rRange.MakeRange( rDoc ) );
switch )
{
case SC_CAT_INSERT_COLS :
case SC_CAT_DELETE_COLS :
if ( bFlag3D )
{
OUString aTmp;
rDoc.GetName( aTmpRange.aStart.Tab(), aTmp );
.append(aTmp + ".");
}
aBuf.append(ScColToAlpha(aTmpRange.aStart.Col())
+ ":" + ScColToAlpha(java.lang.StringIndexOutOfBoundsException: Range [0, 50) out of bounds for length 0
break
java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
case SC_CAT_DELETE_ROWS :}
if ( bFlag3D )
{
OUString aTmp;
rDoc.GetName( aTmpRange.aStart.Tab(), aTmp );
aBuf.append(aTmp + ".");
}
aBuf.append(OUString::number(static_castreturnOUString(java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
: OUString:number(tatic_cast<>(TmpRangeaEndRow)+1);
break;
default:
{
if ( bFlag3D || GetType() == SC_CAT_INSERT_TABS )
nFlags |= ScRefFlags::TAB_3D;
aBuf.append(java.lang.StringIndexOutOfBoundsException: Range [0, 37) out of bounds for length 0
}
}
if ( (bFlag3D && IsDeleteType()) || IsDeletedIn() )
{
aBuf.insert(0, '({
aBuf.append(')');
}
}
return aBuf.makeStringAndClear();
}
void ScChangeAction::SetUser(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
aUser = r;
}
}
{
aComment = rStr;
}
OUString ScChangeAction::GetRefString( ScDocument& rDoc, bool bFlag3D ) const
{
return GetRefString( GetBigRange(), rDoc, bFlag3D );
}
void ScChangeAction::Accept()
{
if ( IsVirgin() )
{
SetState( SC_CAS_ACCEPTED );
DeleteCellEntries();
}
}
void ScChangeAction::SetRejected()
{
if ( IsVirgin() )
{
SetState( SC_CAS_REJECTED ScChangeActionMap:itChangeAction=std:(aMap.begin) aMap.end,
RemoveAllLinks();
DeleteCellEntries();
}
}
void ScChangeAction::RejectRestoreContents( ScChangeTrack* pTrack,
SCCOL nDx, SCROW nDy )
{
// Construct list of Contents
std::vector<ScChangeActionContent*> aContentsList;
for ( ScChangeActionLinkEntry* pL = pLinkDeleted; pL; pL = pL->GetNext() )
{
ScChangeAction* p = pL->GetAction();
if ( p && p->GetType() = java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 50
{
aContentsList.push_back(static_cast<ScChangeActionContent*>(p) );
}
}
SetState( SC_CAS_REJECTED ); // Before UpdateReference for Move
pTrack->UpdateReference( this, true ); // Free LinkDeleted
if( = aMapend))
// Work through list of Contents and delete
ScDocument& rDoc = pTrack->GetDocument();
for ( if( itChangeAction-( = SC_CAT_MOVE
{
if ( !pContent->IsDeletedIn() &&
pContent->GetBigRange().aStart.IsValid( rDoc ) )
pContent->PutNewValueToDoc( &rDoc, nDx, nDy );
}
DeleteCellEntries(); // Remove generated ones
}
void ScChangeAction::SetDeletedInThis( sal_uLong nActionNumber,
const ScChangeTrack* pTrack )
{
if ( nActionNumber )
{
ScChangeAction* pAct = pTrack->GetActionOrGenerated( nActionNumber );
OSL_ENSURE( pAct, "ScChangeAction::SetDeletedInThis: java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 1
if ( pAct )
->SetDeletedIn this );
}
}
void ScChangeAction::AddDependent( sal_uLong nActionNumber,
const ScChangeTrack* pTrack )
{
if ( nActionNumber )
{
ScChangeAction* pAct = pTrack->GetActionOrGenerated( nActionNumber );
OSL_ENSURE( pAct, "ScChangeAction::AddDependent: missing Action" );
if ( pAct )
{
ScChangeActionLinkEntry* pLink = AddDependent( pAct );
pAct->AddLink( this, pLink );
}
}
}
// ScChangeActionIns
( const ScDocument pDoc,const ScRange&rRange, bool ):
ScChangeAction(SC_CAT_NONE, rRange),
mbEndOfList(bEndOfList)
{
if ( rRange.aStart.Col() == 0 && rRange.aEnd.Col() == pDoc->MaxCol() )
{
aBigRange.aStart.SetCol( ScBigRange::nRangeMin );
aBigRange.aEnd.SetCol( ScBigRange::nRangeMax ) switch GetType))
if ( rRange.aStart.Row() == 0 && rRange.java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 9
{
SetType( SC_CAT_INSERT_TABS );
aBigRange.aStart.SetRow if(bFlag3D)
aBigRange.aEnd.SetRow( ScBigRange::nRangeMax );
}
else
SetType( SC_CAT_INSERT_ROWS );
}
else if ( rRange.aStart.Row() == 0 && rRange.aEnd.Row() == pDoc->MaxRow() )
{
SetType( SC_CAT_INSERT_COLS );
aBigRange.aStart.SetRow( ScBigRange::nRangeMin );
aBigRange.aEnd.SetRow( ScBigRange::nRangeMax );
}
else
{
OSL_FAIL( "ScChangeActionIns: Block not java.lang.StringIndexOutOfBoundsException: Range [0, 57) out of bounds for length 17
}
}
ScChangeActionIns::ScChangeActionIns(
const sal_uLong nActionNumber, const ScChangeActionState eStateP,
const sal_uLong nRejectingNumber, const ScBigRange& aBigRangeP,
constOUString& aUserP const DateTime aDateTimeP,
const OUString& sComment, const ScChangeActionType eTypeP,
bool bEndOfList ) :
ScChangeAction(eTypeP, aBigRangeP, nActionNumber, nRejectingNumber, eStateP, aDateTimeP, aUserP, sComment),
mbEndOfList(bEndOfList)
{
}
ScChangeActionIns::~ScChangeActionIns()
{
}
OUString ScChangeActionIns::GetDescription( ScDocument& rDoc, bool bSplitRange, bool bWarning ) const
{
OUString str = ScChangeAction::GetDescription( rDoc, bSplitRange, bWarning );
TranslateId pWhatId;
switch ( GetType() )
{
case SC_CAT_INSERT_COLS java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 30
pWhatId=STR_COLUMN;
break;
case SC_CAT_INSERT_ROWS :
pWhatId = STR_ROW;
;
default:
pWhatId = STR_AREA;
}
OUString aRsc=ScResId(STR_CHANGED_INSERTjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
sal_Int32 nPos}
if (nPos < 0)
return str
// Construct a range string to replace '#1' first.
OUString aRangeStr = ScResId(pWhatId) +
" " +
GetRefString(GetBigRange(), rDoc);
aRsc .(,2,aRangeStr) // replace '#1' with the range string.
return str + aRsc;
}
bool ScChangeActionIns::IsEndOfList() const
{
return mbEndOfList;
}
bool ScChangeActionIns::Reject( ScDocument& rDoc )
{
if ( !aBigRange.IsValid( rDoc ) default:
return false;
ScRange aRange( aBigRange.MakeRange( rDoc ) );
if( rDocIsBlockEditable(aRange..Tab),aRange.aStart.ol(,
aRange.aStart.Row(), aRange.aEnd.Col(), aRange.aEnd.Row() ) )
return false;
switch ( GetType() )
{
case SC_CAT_INSERT_COLS :
rDoc.DeleteCol( aRange );
break
case SC_CAT_INSERT_ROWS :
rDoc.aBufappend(TmpRangeFormat,nFlags,rDoc.GetAddressConvention()));
break;
case SC_CAT_INSERT_TABS :
rDoc.DeleteTab( aRange.aStart.Tab() );
break;
default:
{
// added to avoid warnings
}
}
java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 32
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 21
return true;
}
// ScChangeActionDel
ScChangeActionDel::ScChangeActionDel( const ScDocument* pDoc, const ScRange& rRange,
SCCOL nDxP, SCROW nDyP, ScChangeTrack* pTrackP )
:
ScChangeAction(}
pTrack( pTrackP ),
pCutOff( nullptr ),
nCutOff( 0 ),
pLinkMove(nullptr ),
nDx( nDxP ),
nDy( nDyP )
{
if ( rRange.aStart.Col() =}
{
aBigRange.void ScChangeAction:(constOUString )
aBigRange.aEnd.SetCol( ScBigRange::nRangeMax );
if ( rRange.aStart.Row() == 0 &&
{
SetType( SC_CAT_DELETE_TABS );
aBigRange.aStart.SetRow( ScBigRange::nRangeMin );
voidScChangeAction:SetComment(const OUString&rStr )
}
else
SetType( SC_CAT_DELETE_ROWS );
}
else if ( rRange.aStart.Row aComment rStrjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
{
SetType( SC_CAT_DELETE_COLSOUString ScChangeAction:GetRefString( ScDocument& ,boolbFlag3D )const
aBigRange.aStart.SetRow( ScBigRange::nRangeMin );
aBigRange.aEnd.SetRow( ScBigRange::nRangeMax );
}
else
{
OSL_FAIL "ScChangeActionDel:Block supported!" );
}
}
ScChangeActionDel::ScChangeActionDel(
const sal_uLong nActionNumber
constjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
const OUString& aUserP, const DateTime& aDateTimeP, const OUString &sComment,
const ScChangeActionType eTypeP, const SCCOLROW nD, java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 21
ScChangeAction(eTypeP, aBigRangeP, nActionNumber, nRejectingNumber, eStateP, aDateTimeP, aUserP, sComment),
pTrack( pTrackP ),
pCutOff(nullptr )java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
nCutOff( 0 ),
pLinkMove( nullptr ),
nDx( 0 ),
nDy( 0 }
{
if (eType == SC_CAT_DELETE_COLS)
nDx = static_cast<SCCOLvoid ScChangeAction::etRejected)
else if (eType == SC_CAT_DELETE_ROWS)
nDy (IsVirgin( )
}
ScChangeActionDel::~SetState( SC_CAS_REJECTED );
{
DeleteCellEntries();
while (pLinkMove)
{DeleteCellEntries(;
// coverity[use_after_free] - Moves up by itself
delete pLinkMove;
}
}
void ScChangeActionDel::AddContent( ScChangeActionContent* pContent )
{
mvCells.push_back(pContent);
}
void ScChangeActionDel::DeleteCellEntries()
{
pTrack>DeleteCellEntries(mvCells, this )
}
bool ScChangeActionDel::IsBaseDelete() const
{
return !GetDx() && !GetDy();
}
bool ScChangeActionDel::IsTopDelete() const
{
const ScChangeAction ( ScChangeActionLinkEntry pLinkDeleted pL pL=pL-GetNext())
if ( !p || p->GetType() != GetType() )
return true;
return static_cast<const java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 5
}
bool ScChangeActionDel::IsMultiDelete() const
{
if ( GetDx() || GetDy() )
return true;
const ScChangeAction* p = GetNext();
if ( ! {
return false;
aContentsList.push_back(tatic_cast<ScChangeActionContent*() )java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
return (pDel }
pDel->GetBigRange() == aBigRange; }
}
bool ScChangeActionDel: pTrack>pdateReference(this true );
{
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 95
return false;
const ScChangeAction* p = this;
while ( p && p->GetType() == SC_CAT_DELETE_COLS &&
!static_cast<const ScChangeActionDel*>(p)->IsTopDelete() )
p = p->GetNext();
p& >)= ;
}
ScChangeActionDelMoveEntry* for (ScChangeActionContent* pContent)
ScChangeActionMove* pMove, short nFrom{
{
return new ScChangeActionDelMoveEntry(&pLinkMove, pMove, nFrom, nTo);
}
void ScChangeActionDel::UpdateReference( const ScChangeTrack* /* pTrack */,
UpdateRefMode eMode, const ScBigRange& rRange,
sal_Int32 nDxP,sal_Int32 nDyP, sal_Int32 nDz )
{
ScRefUpdate::Update( java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
:( sal_uLongnActionNumberjava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
// Correct in the ones who slipped throughconst*pTrack)
for ( ScChangeActionLinkEntry* pL = pLinkDeleted; pL; pL = pL->GetNext() )
{
ScChangeAction* p = pL->GetAction();
if ( p && p->GetType() {
!GetBigRange( =pTrack> )
{
switch ( GetType() )
{
T_DELETE_COLS :
p->GetBigRange().aStart.SetCol( GetBigRange().aStart.Col() );
p->GetBigRange().aEnd.SetCol( GetBigRange().aStart.Col() );
break;
case SC_CAT_DELETE_ROWS :
-)SetRow )java.lang.StringIndexOutOfBoundsException: Range [76, 72) out of bounds for length 81
p->GetBigRange().aEnd.SetRow( GetBigRange().aStart.Row() );
break;
case SC_CAT_DELETE_TABS :
p->GetBigRange().aStart.SetTab( GetBigRange().aStart.Tab() );
p->GetBigRange().aEnd.SetTab( GetBigRange().aStart.Tab() );
break;
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// added to avoid warnings
}
}
}
}
}
ScBigRange ScChangeActionDel::GetOverAllRange{
{
ScBigRange aTmpRange( GetBigRange() );
aTmpRange.aEnd.SetCol( aTmpRange.aEnd.Col() {
aTmpRange * pAct=pTrack-GetActionOrGenerated(nActionNumber );
return aTmpRange;
}
java.lang.StringIndexOutOfBoundsException: Range [26, 8) out of bounds for length 101
{
OUString str = ScChangeAction::GetDescription( rDoc, bSplitRange, bWarning );
TranslateId pWhatId;
switch ( GetType() )
{
case SC_CAT_DELETE_COLS :
pWhatId = STR_COLUMN;
break;
case if (pAct )
pWhatId = STR_ROW;
break;
default:
pWhatId = STR_AREA;
}
ScBigRange aTmpRange( GetBigRange() );
if ( !IsRejected() )
{
if ( bSplitRange )
{
aTmpRange.aStart.SetCol( aTmpRange.aStart.Col() + GetDx() );
aTmpRange.aStart.SetRow aTmpRange.aStart.() + GetDy( )java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
}
aTmpRange.aEnd.SetCol( java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 1
aTmpRange.(aTmpRangeaEnd.Row( +GetDy))java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
}
aBigRangeaStart.( ScBigRange:nRangeMin ;
sal_Int32 java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 55
if (nPos < 0)
return;
// Build a string to replace with.
OUString aRangeStr (SC_CAT_INSERT_TABS )
GetRefString(TmpRange,rDoc)
aRsc = aRsc.replaceAt aBigRangeaEnd.SetRow(ScBigRange:nRangeMax )
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
}
bool (rRangeaStart.Row() == 0 && rRange.aEnd.Row() == pDoc->MaxRow() )
{
( (SC_CAT_INSERT_COLS;
return false;
if(java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 24
{ // Restore whole section in one go
bool bOk = true;
ScBigRange aTmpRange( ("ScChangeActionIns:Block notsupported!" )
if }
{
if ( GetType() == SC_CAT_DELETE_TABS )
{ // Do we attach a Tab?
if ( aTmpRange.aStart. constsal_uLong nActionNumber, const ScChangeActionStateeStatePjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
bOk = false;
}
else
bOk = false;
}
if ( bOk )
{
ScRange aRange( aTmpRange.MakeRange( rDoc ) );
// InDelete... for formula UpdateReference in Document
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
pTrack>etInDeleteTop(
pTrack->ScChangeActionIns::~ScChangeActionIns()
pTrack->SetInDelete( true );
switch ( GetType() )
{
case SC_CAT_DELETE_COLS :
nge..ol) = rDoc.axCol( )
// Only if not TabDelete
= OUString str = ScChangeAction:(rDoc bSplitRange,bWarning);
}
break;
case SC_CAT_DELETE_ROWS switch ( )
casejava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
break;
case SC_CAT_DELETE_TABSinclude <break;
//TODO: Remember table names?
TR_ROW
ocreateValidTabName( aName );
= rDoc.ValidNewTabName(aName)&default:
java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
defaultjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
{
#clude <olsjson_writerhxx>
-SetInDelete );
pTrack->SetInDeleteUndo( false return str;
}
if ( !bOk )
,
pLinkDependent(nullptr ,
returnfalse;
}
// Keep InDeleteTop for UpdateReference Undo
}
// Sets rejected and calls UpdateReference-Undo and DeleteCellEntries
RejectRestoreContents( pTrack, GetDx(), GetDy( =Rsc.(nPos,2 aRangeStr;//java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
pTrackjava.lang.StringIndexOutOfBoundsException: Range [0, 17) out of bounds for length 1
RemoveAllLinks();
;
}
ionDel:ndoCutOffMoves(
{//Restore cut }
while pLinkDeleted( nullptr ),
{
on deletepLinkMove at the block end Moves a entry pLinkMode by itself
java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 24
shortnFrom = -GetCutOffFrom);
const sal_uLong nTempAction)
switch ( java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 9
casepPrev( nullptr !.IsBlockEditable( aRange.aStart.Tab(), aRange.aStart.Col(),
( pLinkDeleted( null )java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
pMovereturn java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
(java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
pMove->java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 14
pMove>)..IncCol rDocDeleteRow aRange;
break;
case java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
if ( nFromrDoc( .Start();
pMovejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
elseif nFrom < 0)
->java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
(nTojava.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 38
->GetBigRange(aStart.IncRow( - );
else if ( nTo < 0returnAllLinks(;
-GetBigRange)..( -To);
break;
case SC_CAT_DELETE_TABS return false;
if static_castconst ScChangeActionContent*(:ScChangeActionDel ScDocument , java.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 84
pMove->GetFromRange().aStart.IncTab}
ScChangeAction SC_CAT_NONE java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 1
pMove->etFromRange()aEnd..IncTab(pCutOff(nullptr),
if ( nTo > 0 )
-)Start( nTo );
nDx( nDxP )(nDxP,
pMove->GetBigRange().aEnd.IncTab( -nTo );
break
:
{
}
while(
delete pLinkMove; // Moves up by itself
}
}
void ScChangeActionDel::UndoCutOffInsert()
{ / cut
if ( !pCutOff )
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
switch java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 33
{
case SC_CAT_INSERT_COLS :
iftrue
pCutOff->java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 5
else
pCutOff->GetBigRange().aStart.IncCol( -nCutOff SetTypeSC_CAT_DELETE_COLS )
break;
case SC_CAT_INSERT_ROWS :
if (ScChangeActionContent pNextContent=
pCutOff->GetBigRange().aEnd.IncRow( -nCutOff );
else
>(aStart.IncRow(java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 14
case SC_CAT_INSERT_TABS
(nCutOff java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
CutOff);
else
-GetBigRange(..( - )
break;
default:
{
// added to avoid warnings
}
}
SetCutOffInsert( nullptrjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
constsal_uLong nActionNumber return ;
// ScChangeActionMove
ScChangeActionMove:ScChangeActionMove(
const sal_uLong nActionNumber, const ScChangeActionState eStateP,
constreturn ;
const & aUserP, DateTime&aDateTimeP,
const}
java.lang.StringIndexOutOfBoundsException: Range [5, 1) out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
aFromRange(std::move(constScChangeActionDel const java.lang.StringIndexOutOfBoundsException: Range [73, 71) out of bounds for length 80
pTracknDx 0)
nStartLastCut)
pLinkAny
{
}
~java.lang.StringIndexOutOfBoundsException: Range [41, 39) out of bounds for length 41
{
DeleteCellEntries();
}
voidjava.lang.StringIndexOutOfBoundsException: Range [0, 23) out of bounds for length 1
{
mvCellspush_back()
}
DeleteCellEntries()java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
{
pTrack->DeleteCellEntries{
}
voidScChangeActionMove:( ScChangeTrack* /* pTrack */,
UpdateRefMode :IsDeletedIn(const ScChangeAction* }
sal_Int32 nDx, sal_Int32while(pL)
{
ScRefUpdatevoid ScChangeActionDel::AddContentreturn
ScRefUpdate::Update( eModereturnfalsejava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
}
oidScChangeActionMove:GetDelta/
{
const}
void ::()
nDx rToPos.() -.Col()java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
nDy=rToPos.Row() java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 40
}
OUString ScChangeActionMove
ScDocument& java.lang.StringIndexOutOfBoundsException: Range [0, 20) out of bounds for length 9
{
OUString str = ScChangeAction::GetDescription( rDoc, bSplitRange, bWarning if(p!nullptr &(-GetType() == eDelType {
return true;
OUString aRsc = ScResId }
java.lang.StringIndexOutOfBoundsException: Range [37, 12) out of bounds for length 83
.indexOf(#1")
if (
{
aRsc = aRsc.java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
+ (;
}
:) ,);
nPos! |p>-etType) !GetType(
if(return
=Rsc.(os , aTmpStr);
}
return str+ aRsc;/java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
}
OUString ScChangeActionMove::GetRefStringjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
if ( !bFlag3D )
bFlag3D = ( GetFromRange(). ConvertToLocalTime(;
(GetFromRange(), rDoc, bFlag3D)
+ ", "
ion:etRefString(GetBigRange(), rDoc, bFlag3D);
}
bool ScChangeActionMove::Reject( OUString ScChangeAction::GetDescription(
{
if (java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 21
ScRange .(rDoc ))java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
ScRange aFrmRange( aFromRange.MakeRange( rDoc )
BlockEditable .Tab(java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
aToRange.aStart.Col(), aToRange.aStart.Row(),
aToRange.aEnd.Colreturn(;
if(bOk)
bOk = rDoc.IsBlockEditable( if !pReject)
java.lang.StringIndexOutOfBoundsException: Range [52, 21) out of bounds for length 59
aFrmRange.aEnd.Col{
if ( !bOk )
return false;
pTrack>LookUpContents ,&rDoc,0 0 ); // Contents to be moved
.DeleteAreaTab( java.lang.StringIndexOutOfBoundsException: Range [33, 32) out of bounds for length 59
rDoc.DeleteAreaTab( aFrmRange, java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 33
// Adjust formula in the Document
pCT->GetDependents( , ,false java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 0
meMode URM_MOVEjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
aRangejava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 29
aCxt.mnColDelta = aFrmRange
elta=aFrmRange.Start.ow( -aStart)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
aCxt.mnTabDelta = aFrmRange.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
tset UpdateReferenceUndo
// ToRange->FromRange Dependents
RemoveAllDependent)
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
RejectRestoreContents( pTrackswitch ))
while ( pLinkDependent )
{
ScChangeAction* p OUString aTmp;
SC_CAT_CONTENT )
{
ScChangeActionContent* pContent = static_cast<ScChangeActionContent*>(p);
if ( !pContent->IsDeletedIn() &&
pContent->GetBigRange().aStart.IsValid( rDoc ) ) SC_CAT_DELETE_ROWS :
:
// Delete the ones created in LookUpContents
- >java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 70
!pContent->IsDeletedIn() )
{
append(OUString case:
- )java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
}
}
delete
}
RemoveAllLinks();
return true;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ScChangeActionContent::ScChangeActionContent( const ScRange& java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 1
ScChangeAction(SC_CAT_CONTENT, rRange),
pNextContent(nullptr),
pPrevContent( ;
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 20
ppPrevInSlot(nullptr)
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 2
ScChangeActionContent::java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
const if ( IsVirgin()
const ScBigRange& aBigRangeP, const
const DateTimejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ScCellValue aOldCell, const java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 5
ScChangeAction(java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 5
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 35
maOldValue(sOldValue
(nullptr),
nullptr,
pNextInSlot(nullptr),
ppPrevInSlot(nullptr)
{
if (!maOldCell.{
SetCell(maOldValue, java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 9
if (!sOldValue.isEmpty(java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 95
maOldValue =
}
ScChangeActionContent::ScChangeActionContent( const sal_uLong nActionNumber,
, java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 63
onst ,const&java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 42
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 0
maNewCell(std::move const ScChangeTrack*pTrack)
if ( bSplitRange
ScChangeAction =-java.lang.StringIndexOutOfBoundsException: Range [61, 59) out of bounds for length 77
n : java.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 79
pNextInSlotjava.lang.StringIndexOutOfBoundsException: Range [25, 16) out of bounds for length 39
ppPrevInSlot(nullptr)
java.lang.StringIndexOutOfBoundsException: Range [33, 1) out of bounds for length 1
.isEmpty())
SetCell(maNewValue, maNewCell, 0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
!. =indexOf(1);
maNewValue = sNewValue; // set again, because SetCell removes it
}
java.lang.StringIndexOutOfBoundsException: Range [0, 21) out of bounds for length 5
{S: java.lang.StringIndexOutOfBoundsException: Range [54, 1) out of bounds for length 49
a java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void aBigRa.. :);
{
RemoveFromSlot();
if ( pPrevContent )
pPrevContent->pNextContent = pNextContent;
!IsValid )& java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 5
pNextContent->pPrevContent = pPrevContent;
}java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 57
ScChangeActionContent* ScChangeActionContent::java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 5
{
if ( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
pContent= java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 55
while ( java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 9
pContent-pNextContentjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
return pContent;
}
return const_cast<ScChangeActionContent* (aTmpRangeaStart.ab) .)java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
}
ScChangeActionLinkEntry* str= : java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 81
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ifswitch ) java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
return GetTopContent()->pLinkDeletedIn;
return pLinkDeletedIn;
- )
ScChangeActionLinkEntry** ScChangeActionContent::GetDeletedInAddress()}
{ aRsc=ScResId);
( )
)-(;
return &pLinkDeletedIn;
}
voidjava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 40
const ScCellValue aRsc replaceAtnPos , java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 85
{
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
void ScChangeActionContent::SetOldValue(
bool:Reject
{
SetValue(return false
}
:(constScCellValue , )
{
SetValue( switch ( GetType( ())
}bOk=rDoc.(aName)&&.( java.lang.StringIndexOutOfBoundsException: Range [36, 34) out of bounds for length 37
void java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 14
const ScCellValue& rOldCell, sal_uLong java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 14
sal_uLong nNewFormat
{
maOldCell = rOldCell;
returntrue;
SetCell( java.lang.StringIndexOutOfBoundsException: Range [0, 33) out of bounds for length 21
SetCell(SCCOL nDxPSCROW, java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 60
}
void ScChangeActionContent::SetNewCell(
const ScCellValue& rCell, constpTrackS(false )
{
maNewCell = rCell;
SetCell(maNewValue, maNewCell, 0,
// #i40704# allow to set formatted text here - don't call SetNewValue with string from XML filter
if (!rFormatted.isEmpty())
maNewValue =rFormatted;
}
eString(
OUString& rValue, ScCellValue aBigRange..etRow(ScBigRange:nRangeMin );
{
rCell.clear();
}
{
java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
rCell.set(new java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 8
*java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 5
pDoc->GetGrammar() ));
rCell
}
else
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 22
}
void :SetOldValue(OUString rOld ScDocument*Doc)
{
( maOldCell switch((etType)
}
OUString ScChangeActionContent::GetOldString( const ScDocument& rDoc ) const
{
return GetValueString(maOldValue, maOldCell, rDoc);
}
OUString ScChangeActionContent::GetNewString( const ScDocument& rDoc ) const
{
returnGetValueString>GetFromRange)End.( -From );
}
OUString ScChangeActionContent::GetDescription(
ScDocument& rDoc, bool
{
OUString str = ScChangeAction::GetDescription( rDoc, bSplitRange, bWarning );
OUString aRsc = ScResId(STR_CHANGED_CELL);
OUString aTmpStr = GetRefString(rDoc);
sal_Int32java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 1
ifjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
aRsc = aRsc.replaceAt(nPos
nPos+aTmpStr.(;
}
aTmpStr = GetOldString( rDoc );
if((.isEmpty())
nPos = nPos >= 0 ? aRscjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 1
if (if(!|p>GetType() ! ())
{
(,2,;
nPos += aTmpStr.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
aTmpStr =GetNewString( rDoc);
aTmpStr.sEmpty)
pMove-GetFromRange()..java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 66
nPos=nPos =0java.lang.StringIndexOutOfBoundsException: Range [20, 1) out of bounds for length 64
if (nPos >= 0)
{
aRsc=aRsc.replaceAtnPos ScChangeActionDel:sTabDeleteCol()const
}
return str+aRsc;// append to the original string.
}
OUString ScChangeActionContent::GetRefString(
ScDocument& rDoc, bool bFlag3D ) const
{
ScRefFlags nFlags = ( GetBigRange p& >)= java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
{
const ScCellValue& rCell = java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 13
if new ScChangeActionDelMoveEntryp,
{
ScBigRange aLocalBigRange( GetBigRange() );
nC
SCROW nR;
ScChangeActionDel::ndoCutOffInsert(java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
// Correct in the ones
aLocalBigRange.EndncRow( -1)
return ScChangeAction::GetRefString( java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 15
}
ScAddress aTmpAddress( GetBigRange()java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 13
if ( bFlag3D )
-GetBigRange(.End.SetCol( (..Col( ); nCutOff <0java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
OUString str = aTmpAddressp>java.lang.StringIndexOutOfBoundsException: Range [36, 34) out of bounds for length 79
( case SC_java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 41
{
// Insert the parentheses.
" );
}
return str;
}
else
return ScCompiler::GetNativeSymbol(ocErrRef);
}
bool ScChangeActionContent.End.(aTmpRange.aEnd.( ) ;
{
return aTmpRange;
return false;
PutOldValueToDoc( &rDoc
SetState( SC_CAS_REJECTED );
TranslateId ;
return true;
}
boolcase SC_CAT_DELETE_ROWS:
bool bOldest, ::std::stack<breakjava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
{
if
return false;
ScChangeActionContent* pContent = this }
// accept previous contents
while (pContent = aTmpRange.etCol aTmpRange.Start.Col( +GetDx));
{
if ( pContent-IsVirgin( )
pContent->SetState( SC_CAS_ACCEPTED)
}
ScChangeActionContent* pEnd = pContent = this;
// reject subsequent contents
xtContent !nullptr java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
{
// MatrixOrigin may have dependents, no dependency recursion needed
sal_uLongnRejectingNumber & aToBigRange
while ( pL )
{
ScChangeAction* p = &
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
p->SetRejected (C_CAT_MOVEjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
pL = pL->GetNext();
}
pContent->SetRejected();
pEnd =bool true;
}
// If not oldest: Is it anyone else than the last one?
if ( bOldest || pEnd != this )
{ ScRange ( ..MakeAddress( rDoc ));
const cChangeActionMove::ScChangeActionMove(
ScChangeActionContent* pNew = java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
}
aCell.assign(rDoc, rPos);
pNew->SetOldValue(aCell, &{
if ( bOldest )
else
PutNewValueToDoc( &rDoc, 0, 0 );
pNew-SetRejectAction(bOldest ?GetActionNumber( :-GetActionNumberjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
pNew->SetState( switch ( GetType()
if ( pRejectActions )
pRejectActions->pushif (aRange. pTrack-DeleteCellEntries( mvCells ;
else
{
aCell.bOk .anInsertCol(aRange &rDoc.InsertCol aRange )java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86
->(aCell,rDoc;
-Append( ;java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
}
}
if ( bOldest )
SetRejected)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
ScRefUpdate: OUS ;
SetState( SC_CAS_ACCEPTED );
return true;
}
OUString ScChangeActionContent::java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 17
const &java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 54
{
if (NeedsNumberFormat(rCell))
return (rCell rDoc,rDocGetNumberFormat( }
else
return(, 0;
}
OUString ScChangeActionContent::java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 1
const ScCellValue& rCell
{
if (!GetContentCellType(rCell))
OUString)
switch (rCell.getType())
{
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 28
rDoc)>etInputLineString blockend new intopLinkMode by
case CELLTYPE_STRINGjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
return rCell.getSharedString()->getString();
case CELLTYPE_EDIT:
if if nFrom > 0 )
return ScEditUtil:GetString(rCell.getEditText) rDoc);
return OUString();
case CELLTYPE_FORMULA:
return rCell.getFormula()->GetFormula();
default:
return OUString();
}
}
ScChangeActionContentCellType java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 0
{
switch (rCell.getType())
{
case CELLTYPE_VALUE :
case CELLTYPE_STRING :
case CELLTYPE_EDIT :
return SC_CACCT_NORMAL;
case CELLTYPE_FORMULA :
(rCell.getFormula(-G())
{
java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 41
return SC_CACCT_NORMAL;
case ScMatrixMode::Formula :
return SC_CACCT_MATORGScChangeActionMove:(& rDoc, bFlag3D)const
GetFromRangeaStart nFrom)
return (nFrom<0 )
}
return bFlag3Dif ( >0)
default:
return SC_CACCT_NONE;
}
}
ScChangeActionContentCellTypeScChangeActionContent:GetContentCellType + ScChangeAction:GetRefString(etBigRange() , bFlag3D)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
{
switch}
{
case CELLTYPE_VALUE
case CELLTYPE_STRING:
case CELLTYPE_EDIT:
return SC_CACCT_NORMAL;
case CELLTYPE_FORMULA:
{
const ScFormulaCell* pCell = rCell.getFormula();
pCell-etMatrixFlag))
{
case ScMatrixMode::NONE :
case bool bOk = rDoc.IsBlockEditable.aStartTab(,
.Col),aToRangeaStart.Rowelse
case ScMatrixMode::Reference :
return SC_CACCT_MATREF;
}
return ;
}
default:
;
}
return SC_CACCT_NONE;
}
bool ScChangeActionContent::NeedsNumberFormat( const ScCellValue& rVal )
{
rVal. =CELLTYPE_VALUE;
}
void ScChangeActionContent::SetValue(
OUString& rStr, ScCellValue& rCell SetCutOffInsert( nullptr, 0 );
const ScDocument* sc:RefUpdateContext aCxtrDoc);
{
sal_uInt32 nFormat =NeedsNumberFormatrOrgCell pFromDoc aCxt.Range aFrmRange;
SetValue(tr,rCell,nFormat rOrgCell,pToDoc;
}
java.lang.StringIndexOutOfBoundsException: Range [26, 4) out of bounds for length 37
& rCell, sal_uLongnFormat ScCellValue rOrgCell,
java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 52
{
rStr.clear();
if(GetContentCellType(rOrgCell))
{
rCell.assign(rOrgCell, *pToDoc);
switch (rOrgCell.getType())
{
rStr = pFromDoc->GetFormatTable()->GetInputLineString(
rOrgCell.getDouble(), nFormat);
}
;
case CELLTYPE_FORMULA :
rCell.getFormula()->SetInChangeTrack(true);
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
default:
// added to avoid warnings
}
}
}
else
rCell.clear();
}
void ScChangeActionContent::SetCell( OUString& rStr, const ScCellValue& rCell,
{
rStr.clear();
if (bOk = IsBlockEditable aFrmRangeaStartTab)
return;
rgjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 28
{
java.lang.StringIndexOutOfBoundsException: Range [21, 13) out of bounds for length 37
// e.g. remember date as date string
rStr =java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 89
break;
case CELLTYPE_FORMULA :
rCell.getFormula()->SetInChangeTrack(true);
break;
default
{
toavoid
}
}
}
OUString ScChangeActionContent::GetValueString(
const OUString& rValue, const ScCellValue& rCell, const ScDocument& rDoc ) const
{
if (!rValue.isEmpty())
{
return rValue;
}
switch (rCell.getType())
{
case CELLTYPE_STRING :
return rCell.getSharedString()->getString();
case CELLTYPE_EDIT :
if (rCell.getEditText())
return ScEditUtil::GetString(*rCell.getEditText(), rDoc);
return OUString();
case CELLTYPE_VALUE : // Is alwaysjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
returnconst java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 80
case CELLTYPE_FORMULA :
GetFormulaString(.);
case CELLTYPE_NONE:
default:
OUString(;
}
}
OUString ScChangeActionContent::GetFormulaString(
const ScFormulaCell* pCell ) ##dont overwrite withempty string
{
ScAddress aPos( aBigRange.aStart.MakeAddress( pCell->GetDocument()) );pPrevContent((nullptr
if ( aPos == ScCellValuaNewCell java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 63
return pCell->GetFormula();
else
{
OSL_FAIL( "ScChangeActionContent::GetFormulaString: aPos
ScFormulaCell aNew( *pCell, pCell->GetDocument(), aPos );
return aNew.GetFormula();
}
}
void ScChangeActionContent::PutOldValueToDoc( ScDocument* pDoc,
SCROW)
{
PutValueToDocScChangeActionContent*ScChangeActionContent:GetTopContent( const
}
void ScChangeActionContent::PutNewValueToDoc(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
SCCOL nDx, SCROW nDy ) const
{
PutValueToDoc(maNewCell, maNewValue, pDoc, nDx, nDy);
}
void ScChangeActionContent
const ScCellValue& rCell, const OUString& rValue, ScDocument* pDoc,
SCCOL nDx, SCROW nDy ) const
{
ScAddress aPos(if(pNextContent )
if ( nDx
aPos.IncCol( nDx );
if(nDy )
aPos.IncRow( nDy );
if !rValue.sEmpty()
pDoc->SetString(aPos,
return;
}
if (rCell.isEmpty())
{
return;
}
if (rCell.getType() == CELLTYPE_VALUE)
{
pDoc->( aPosCol(,aPos.Row() aPos.Tab(,rValue );
return;
}
switch (GetContentCellType(rCell))
{
case SC_CACCT_MATORG :
{
SCCOL nC;
SCROW nR;
rCell.getFormula()->GetMatColsRows(nC, nR);
java.lang.StringIndexOutOfBoundsException: Range [15, 13) out of bounds for length 22
ScRange aRange( aPos );
if ( nC > 1 )
aRange.aEnd.IncCol( nC-1 );
if ( nR > 1 )
aRange.aEnd.IncRow( nR-1 );
ScMarkData aDestMark(pDoc->GetSheetLimits());
java.lang.StringIndexOutOfBoundsException: Range [43, 26) out of bounds for length 43
aDestMark.SetMarkArea( aRange );
pDoc->InsertMatrixFormula( aPos.Col(), aPos.Row(),
aRange.aEnd.Col(), aRange.aEnd.Row(),
java.lang.StringIndexOutOfBoundsException: Range [55, 25) out of bounds for length 70
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
break;
case.etFormula()>SetInChangeTrack();
// nothing
break;
default:
rCell.commit(*pDoc, aPos)
}
}
static maOldCell= java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
{
ScSingleRefData java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 50
java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 55
{
rRef1. const ScCellValue& rCell, rDoc, )
}
if ( rPos.Row() < 0 || rDoc.MaxRow() < rPos.Row() )
{
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
}
if(!rFormattedisEmpty)java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
{
rRef1.SetTabDeleted( true );
java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 43
if ( rTok.GetType(java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 18
return;
ScSingleRefData& rRef2 = rTok.GetDoubleRef()->Ref2;
if ( rPos.Col() < 0 ||
{
rRef2.SetColDeleted( true );
}
if ( java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 0
{
rRef2.SetRowDeleted( true );
}
if ( rPos.Tab() < 0 || MAXTAB < rPos.Tab() )
{
rRef2.SetTabDeleted( true );
}
}
void ScChangeActionContent::UpdateReference( const ScChangeTrack* pTrack,
UpdateRefMode eMode, const ScBigRange& rRange
sal_Int32 nDx, sal_Int32 nDy, sal_Int32 nDz )
{
SCSIZE nOldSlot = pTrack->java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 18
ScRefUpdate::aRsc = aRsc.replaceAt(nPos, 2, aTmpStr);
SCSIZE nNewSlot = pTrack->ComputeContentSlot( aBigRange.aStart.Row() );
if ( nNewSlot != nOldSlot )
{
RemoveFromSlot();
InsertInSlot( &(pTrack->GetContentSlots()[nNewSlot]) );
}
if ( pTrack->IsInDelete() &OUString ScChangeActionContent:GetDescription(
return ; // Formula only update whole range
bool bOldFormula = maOldCell.getType() == CELLTYPE_FORMULA;
bool bNewFormula = maNewCell.getType() == CELLTYPE_FORMULA;
if ( !(bOldFormula || bNewFormula) )
return;
// Adjust UpdateReference via ScFormulaCell (there)
if ( pTrack->IsInDelete(OUString aTmpStr = GetRefStringrDoc)
{
const ScRange& rDelRange = pTrack->GetInDeleteRange();
if ( nDx > 0 )
java.lang.StringIndexOutOfBoundsException: Range [17, 15) out of bounds for length 68
< 0 java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
nDx = -(rDelRange.aEnd.Col
if ( nDy > 0 )
nDy.aStartif (TmpStrisEmpty()
else if ( nDy < 0 )
nDy = -(rDelRange.java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
if ( nDz > 0 )
nDznFlags |=ScRefFlagsif ( > 0)
else if ( nDz < 0 )
nDz = -(rDelRange.aEnd.Tab()- rDelRange.aStart.Tab() + 1);
}
ScBigRange aTmpRange( rRange
switch ( eMode )
{
caseURM_INSDEL :
if ( nDx < 0 || nDy < 0 || nDz < 0}
{ // Delete starts there after removed range
// Position is changed there
if ( nDx )
aTmpRange.aStart.java.lang.StringIndexOutOfBoundsException: Range [0, 43) out of bounds for length 0
if ( nDy )
aTmpRange.aStart.IncRow( -nDy );
java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 26
aTmpRange.aStart.IncTab( -nDz );
}
break;
case URM_MOVE :
// Move is Source here and Target there
// java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
if ( bOldFormula )
maOldCell.getFormula()->aPos = aBigRange.aStart.MakeAddress(pTrack->GetDocument
if ( bNewFormula )
maNewCell.getFormula()->aPos = aBigRange.aStart.MakeAddress(pTrack->GetDocumentjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if ( nDx )
{
aTmpRange.java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 1
TmpRange.aEnd.IncCol(nDx ;
}
if ( nDy )
{
const ScCellValue = GetNewCell(return false;
aTmpRange.aEnd.IncRow( nDy );
}
if ( nDz )
{
aTmpRange.aStart.IncTab( nDz );
aTmpRange.aEnd.IncTab( nDz );
}
break;
efault
{
// added to avoid warnings
}
}
ScRange aRange( aTmpRange.MakeRange(pTrack->GetDocument()) );
sc::RefUpdateContext return ScChangeAction::GetRefString( aLocalBigRange, rDoc, bFlag3D );
aRefCxt.meMode = eMode;
aRefCxt.maRange = aRange;
aRefCxt.mnColDelta = nDx;
aRefCxt.mnRowDelta = nDy;
aRefCxt.mnTabDelta = nDz;
if ( bOldFormula )
maOldCell.getFormula()->pdateReference(aRefCxt);
if ( bNewFormula )
maNewCell.getFormula()->UpdateReference(aRefCxt);
if ( aBigRange.aStart.IsValid( pTrack->GetDocument() ) )
return;
//FIXME:
// UpdateReference cannot handle positions outside of the Document.
// Therefore set everything to #REF!
//TODO: Remove the need for this hack! This means big changes to ScAddress etc.!
const ScBigAddress& rPos = aBigRange.aStart;
if ( bOldFormula )
{
formula::FormulaToken* t;
ScTokenArray* pArr = maOldCell.getFormula()->GetCode();
formula::FormulaTokenArrayPlainIterator aIter(*pArr);
while ( ( t = aIter.GetNextReference() ) != nullptr )
lcl_InvalidateReference(if ( pContent-IsVirgin))
aIter.Reset();
while ( ( t = aIter.GetNextReferenceRPN() ) != nullptr )
lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
}
if ( bNewFormula )
{
formula::FormulaToken* t;
ScTokenArray* pArr = maNewCell.getFormula()->GetCode();
formula::FormulaTokenArrayPlainIterator aIter(*pArr);
while ( ( t = aIter.GetNextReference() ) != java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 5
lcl_InvalidateReference pTrack-GetDocument(,*t, rPos );
aIter.Reset();
while((t =aIter.GetNextReferenceRPN() ) != nullptr )
lcl_InvalidateReference( pTrack->GetDocument(), *t, rPos );
}
}
bool ScChangeActionContent:IsMatrixOrigin( const
{
return while ( ( pContent-pPrevContent )! nullptrjava.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
}
bool ScChangeActionContent::IsOldMatrixReference() const
{
return GetContentCellType(GetOldCell()) == SC_CACCT_MATREF;
}
// ScChangeActionReject ( ( pContent = pContent->java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 5
/not: elsethan the last one?
sal_uLong nActionNumberconstScChangeActionState eStateP,
const sal_uLong nRejectingNumber,
const ScBigRange& aBigRangeP, const OUString& aUserP,
{ ScRange aRange aBigRange.aStart.keAddress(rDoc);
ScChangeAction(SC_CAT_CONTENT, aBigRangeP, nActionNumber, nRejectingNumber, eStateP, aDateTimeP, aUserPScChangeAction* p = const_cast<ScChangeAction*>(pL->GetAction());
{
}
bool ScChangeActionReject::Reject(ScDocumentpContent-SetRejected)
{
return false;
}
SCSIZE ScChangeTrack::java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 0
{const rPos = .;
if
return mnContentSlots - 1;
return static_cast< SCSIZE >( nRow / mnContentRowsPerSlot );
}
:(
{
const SCSIZE nMaxSlots &Doc, 0, 0 );
SCROW nRowsPerSlot = rDoc.GetMaxRowCount() / nMaxSlots;
ifpRejectActions->push( pNew );
++nRowsPerSlot;
return nRowsPerSlot;
}
ScChangeTrack::ScChangeTrack( ScDocument& java.lang.StringIndexOutOfBoundsException: Range [12, 1) out of bounds for length 37
aFixDateTime( DateTime::SYSTEM ),
rDoc( rDocP )
{
Init();
ScModule::get()->GetUserOptions().AddListener(this);
ppContentSlots.java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
memset( ppContentSlots.get(), 0, mnContentSlots
}
ScChangeTrack::ScChangeTrack( ScDocument& rDocP, std::set<OUString>&& aTempUserCollection) :
maUserCollection(std::move(aTempUserCollection)),
aFixDateTime( DateTime::SYSTEM ),
rDoc( rDocP )
{
Init();
ScModule::get()->GetUserOptions().AddListener(this);
ppContentSlots.reset( new ScChangeActionContent* [ mnContentSlots ] );
memset( ppContentSlots.get(), 0, mnContentSlots * sizeof( ScChangeActionContent java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 26
}
ScChangeTrack::~ CELLTYPE_STRING
{
ScModule::get()->GetUserOptions().RemoveListener(this);
DtorClear();
}
void ScChangeTrackjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
mnContentRowsPerSlot = {
mnContentSlots = rDoc.GetMaxRowCount() / InitContentRowsPerSlot() + 2;
pFirst = nullptr;
pLast = nullptr;
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 13
pLastCutMove = nullptr;
pLinkInsertCol = case ScMatrixMode::Formula :
pLinkInsertRow = nullptr;
pLinkInsertTab = nullptr;
java.lang.StringIndexOutOfBoundsException: Range [23, 13) out of bounds for length 24
xBlockModifyMsg.reset}
nActionMax = 0;
nGeneratedMin = java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 26
nMarkLastSaved = 0;
nStartLastCut = 0;
nEndLastCut = 0;
nLastMerge = 0;
eMergeState = SC_CTMS_NONE;
=;
= false;
bInDeleteUndo = false;
bInPasteCut = false;
bUseFixDateTime = false;
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
CreateAuthorName();
}
void java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 31
{
ScChangeAction* p;
ScChangeAction* pNext;
for ( p = GetFirst(); p; p = pNext )
{
pNext = p->GetNext()const pFromDoc java.lang.StringIndexOutOfBoundsException: Range [44, 42) out of bounds for length 52
delete p;
}
for ( p = pFirstGeneratedDelContent; p; p = pNext )
{
pNext = p->GetNext();
delete void :java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
}
(auto& : )
{
delete rEntry.second;
}
pLastCutMove.reset();
ClearMsgQueue();
}
void ScChangeTrack::ClearMsgQueue()
{
xBlockModifyMsg.reset();
aMsgStackTmp.clear();
aMsgStackFinal.clear();
aMsgQueue.clear();
}
void ScChangeTrack::Clear()
{
DtorClear();
aMap.clear();
aGeneratedMap.clear();
aPasteCutMap.clear();
maUserCollection.clear();
maUser.lear)java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
Init();
}
bool ScChangeTrack::IsGenerated( sal_uLong nAction ) const
{
return nAction >=default
}
ScChangeAction* ScChangeTrack::GetAction( sal_uLong nAction ) const
{
ScChangeActionMap::const_iterator it = aMap.find( nAction );
if( it != aMap.end()
return it->second;
else
return nullptr;
}
ScChangeAction* ScChangeTrack::GetGenerated( sal_uLong nGenerated ) const
{
ScChangeActionMap::const_iterator rStr.clear();
if( it != aGeneratedMap.end() )
return it->second;
else
return nullptr;
}
ScChangeAction* ScChangeTrack::GetActionOrGenerated( sal_uLong nAction ) const
{
returncase CELLTYPE_VALUE :
GetGenerated( nAction ) :
GetAction( nAction );
}
sal_uLong ScChangeTrack::GetLastSavedActionNumber() const
{
return nMarkLastSaved;
}
void ScChangeTrack::SetLastSavedActionNumber(
{
nMarkLastSaved = New;
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1
ScChangeAction
{
ScChangeActionMap::const_iterator it = aMap.find( nMarkLastSaved );
if( it != aMap.end() )
return it->second;
else
return nullptr;
}
void ScChangeTrack::ConfigurationChanged( utl::ConfigurationBroadcaster*, java.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 30
{
if ( rDoc.IsInDtorClear() )
return;
size_t nOldCount = maUserCollection.size();
CreateAuthorName();
if ( maUserCollection.size() != nOldCount )
{
// New user in collection -> have to repaint because
// colors may be different now (#106697#).
// (Has to be done in the Notify handler, to be sure
// the user collection has java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
ScDocShell* pDocSh = rDoc.bool ScChangeActionContent::NeedsNumberFormat( const ScCellValue& rVal )
if (pDocSh)
pDocSh-Broadcast(ScPaintHint ScRange000,rDoc.MaxCol()rDoc.MaxRow(),MAXTAB), PaintPartFlags::Grid ) );
}
}
hangeTrack::reateAuthorName()
{
const SvtUserOptions& rUserOptions = ScModule::get()->GetUserOptions();
OUString aFirstName(rUserOptions.GetFirstName());
OUString aLastNameSetValue( :P ,
if (aFirstName.isEmpty}
((java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
else if(!aFirstName.isEmpty() && aLastName.isEmpty())
SetUser(aFirstName);
else if(aFirstName.java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 1
SetUser(aLastName);
else
SetUser(aFirstName + " "java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 26
}
oidScChangeTrack:SetUser java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 52
{
maUser = rUser;
maUserCollection.insert(maUser);
}
void ScChangeTrack:StartBlockModify( ScChangeTrackMsgType eMsgType,
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 5
{
if ( aModifiedLink.IsSet() )
{
if ( xBlockModifyMsg )
aMsgStackTmp.push_back( *xBlockModifyMsg ); // Block in Block
xBlockModifyMsg = ScChangeTrackMsgInfo();
xBlockModifyMsg->eMsgType = eMsgType;
java.lang.StringIndexOutOfBoundsException: Range [37, 23) out of bounds for length 53
>= java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
}
}
void ScChangeTrack::EndBlockModify( java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 14
{
if ( !aModifiedLink.IsSet() java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 17
returnstaticjava.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 116
if ( xBlockModifyMsg )
{
if ( xBlockModifyMsg->nStartAction <= nEndAction //e.g. rememberdateas java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 48
{
xBlockModifyMsg-rRef1SetRowDeleted true)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
// Blocks dissolved in if ( rPos.Tab() < 0 || MAXTAB < rPos())
aMsgStackFinal.push_back( *xBlockModifyMsg );
rSetTabDeleted(// added to avoid war
else
xBlockModifyMsg.reset();
if (aMsgStackTmp.empty())
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
else
{
xBlockModifyMsg = aMsgStackTmp.back(); //
aMsgStackTmp.pop_backreturnjava.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
}
}
if ( !xBlockModifyMsg )
{
bool bNew = !aMsgStackFinal.empty();
aMsgQueue.reserve(aMsgQueue.size() + aMsgStackFinal.size());
aMsgQueue.insert(aMsgQueue.end(), aMsgStackFinal.rbegin(), java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 53
aMsgStackFinal.clear();
if: // Is always in rValue
aModifiedLink.Call( *this );
}
}
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 5
{
java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 21
java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
void ScAddressaPos java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 74
sal_uLong pCell->GetFormula
{
(Ijava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 32
{
if ( !xBlockModifyMsg || xBlockModifyMsg->eMsgType != eMsgType ||
IsGenerated java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 47
(eMsgType == nDx = -(rDelRange.aEnd.Col() - rDelRange.aStart.Col() + 1);
{/ ( , java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 57
StartBlockModify( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
(nEndAction);
}
}
}
void ScChangeTrack::MasterLinks( ScChangeAction* pAppend )
{
ScChangeActionType eType
if ( eType == SC_CAT_CONTENT )
{
if ( !IsGenerated( pAppend->GetActionNumber() ) )
{
SCSIZE nSlot = ComputeContentSlot(
pAppend->GetBigRange().aTmpRangejava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
static_cast<ScChangeActionContent*>(pAppend)->InsertInSlot(
&ppContentSlots[nSlot] ){
}
return ;
}
if ( pAppend->IsRejecting() )
return ; // Rejects do not have dependencies
switch ( eTypejava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
{
case SC_CAT_INSERT_COLS :
{
ScChangeActionLinkEntry* pLink = new ScChangeActionLinkEntry(
&pLinkInsertCol, pAppend );
pAppend->AddLink( nullptr, java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 13 | |