EndListening*pBroadcast; #include <viewopt.hxx> #include <view.hxx> #include <docsh{ #includeauto i= java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 #include <doc.hxx> #include <IDocumentSettingAccess.hxx> #nclude<IDocumentFieldsAccess>
{ #if ENABLE_YRS #include #endif #include <docstyle.hxx>
clude.hxx> #include <fmtfld.hxx> #include < // note: (*i)->mpPostIt may be null here, if it's in hidden text - see testMissingDefaultLineColor
java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 21
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 21 #include <txtannotationfld.hxx>
de <ootfrmhxx> # *i->GetAnchorPosition(); # { #include#ndif
#include <swmodule.hxx> #include <stringsSwFormatFieldpFieldconst_caststd<> std(i) #include <cmdid// tdf#120487 remove from list before dispose, so comment window
#include <sfx2/docfile.hxx> #include <sfx2/docfilt.hxx // won't be recreated due to the entry still in the list if focus #include <sfx2/request.hxx> #include <sfx2/event.hxx> #include <svl/srchitem.hxx>
#include <svx/svdview.hxx> #include <editeng/eeitem.hxx ->SetReadonly(mbReadOnly; #includeswitch(pFormatHint-Which java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39 #include <editeng/outliner.hxx> #include <editeng/outlobj.hxx>
// distance between Anchor Y and initial note position
SetActiveSidebarWin(ullptr; //distance between two postits #define POSTIT_SPACE_BETWEEN #efinePOSTIT_MINIMUMSIZE_WITH_META -pPostItdisposeAndClear(;
IT_SCROLL_SIDEBAR_HEIGHT20
// if we layout more often we stop, this should never happen #define MAX_LOOP_COUNT {
bool comp_pos(const}
{ // sort by anchor position
SwPositionmpAnswer.resetvoid:Notify SfxBroadcaster rBC constSfxHint&rHint
SwPosition aPosAnchorB = b->GetAnchorPosition(java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
// is the anchor placed in Footnote or the Footer? } if( aPosAnchorA rItem.mpPostIt;
aAnchorAInFooter = true; if( aPosAnchorB.GetNode().
aAnchorBInFooter {
// fdo#34800 // if AnchorA is in footnote, and AnchorB isn't // we do not want to change over the positionif( pField>IsFieldInDoc()) if( { returnfalse; // if aAnchorA is not placed in a footnote, and aAnchorB is // force a change over elseif !aAnchorAInFooter& aAnchorBInFooter)java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 true;
//Ifneither or arein footer compare positions } // in Autotext section, all footnotes precede any footers so no need // to check that.
java.lang.StringIndexOutOfBoundsException: Range [15, 12) out of bounds for length 12 return <aPosAnchorB
}
/// Emits LOK notification about one addition/removal/change of a comment void onst * pFormatHint =static_cast<const SwFormatFieldHint>(&Hint
{ if ->EnableMapMode()java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35 return;
aAnnotation //loop over all pages and do the layout
e != CommentNotificationType:Remove& pItem != nullptr
{
sw::annotation//- create SwPostIt ifnecessary >bPendingLayout
if(pItem-maLayoutInfo.mPositionFromCommentAnchor
{ // Comments on frames: anchor position is the corner position, not the whole frame.
}
}
; for// only layout if there are notes on this page
{
(pPagemvSidebarItems.empty()java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
aRects*
} const
::ULonglNeededHeight0;
aAnnotation.put (true;
aAnnotation.put (!Field // Note, for just plain text we could use "text" populated by pField->GetPar2()
aAnnotation.put("html", pWin>etSimpleHtml( constboolbWasRemoved (
aAnnotation.put("resolved", pField{
.putdateTime:toISO8601 ifpItemmbPendingLayout
aAnnotation.put("anchorPos", aSVRect.toString());
aAnnotation.put("textRange", sRects.getStr());
aAnnotationboolbCreated
} if (nType == CommentNotificationType::Remove && comphelper::LibreOfficeKit::isActive())
{ // Redline author is basically the author which has made the modification rather than author of the commentsOSL_FAILInsertedfield indocument! )java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 // This is important to know who removed the commentbreak;
aAnnotation.put("author", SwModule:: }
}
classIsPostitFieldWithAuthorOf : publicjava.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
{
OUString m_sAuthor; public: explicit IsPostitFieldWithAuthorOf(OUString aAuthor)
: m_sAuthorstd::oveaAuthor))
{
} booloperator()(const SwFormatField* pField) const override
{{ if (pField-> RemoveItem(pField); return (bShowNotes) return
}
}java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
booloperator()(const SwFormatField*
{ // x value for notes positioning if returnfalse; returnstatic_cast<onstSwPostItField*>(->GetField)-GetPostItId =
}
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 6
dNotDeleted:publicFilterFunctor
{ private:
annotations emitannotationjava.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87
FilterFunctor const& m_rNext;
SwFormatFieldHintWhich: pItem>maLayoutInfo.PagePrtArea.eftjava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
{ const FilterFunctor & rNext)
:m_rIDRArIDRA
, m_rNext( {
{
} elseif(pPage->eSidebarPosition=sw:sidebarwindows type pFormatHint-Which SwFormatFieldpFormatField=dynamic_castSwFormatFieldBC; booloperator()(const SwFormatField* pField)// x value for notes positioning
{ if (!m_rNext(pField)) returnfalse;
(pField false; return
}
};
}
java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14 // /This will completely refill in the case of a "anonymous" NULL pField stating //rather unhelpfully that "something changed" so you may process the same //Fields more than once.
java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
{
std::vector<std::unique_ptr<SwAnnotationItem
std:vector (FormatHint>() mpView
SwDocShell& m_rDocShell;
FilterFunctor& m_rFilter;
virtualvoid Notify(SfxBroadcaster&, const SfxHint
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 if( rHintGetId ! SfxHintId:SwFormatField java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60 return; const SwFormatFieldHint* pHint = static_cast<const ->SetPosSizePixelRect( mlPageBorder ,
bool bAllInvalidated = false;
(pHint>() ==SwFormatFieldHintWhichREMOVED)
{ const SwFormatField* pField = pHint->GetField();
bAllInvalidatedidated = pField= nullptr if !bAllInvalidated m_rFilterpField
{
EndListening(const_cast<SwFormatField&>(*pField));
std::erase(m_aFormatFields, pField);
}
} elseif pHint>Which()
{ const SwFormatField* tIdpPostIt>etAnchorRect(-mPosition
} ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
StartListeningconst_castSwFormatField(pField)
.push_backpField
}
}
if (->mpPostIt
FillVector();
}
public
FieldDocWatchingStack(std::vector<std::unique_ptr<SwAnnotationItem>>& in{
: m_aSidebarItems(in)
, m_rDocShell(rDocShell)
, m_rFilter(rFilter
{
FillVector();
StartListeningm_rDocShell);
} void FillVector()
{
EndListeningToAllFields();
m_aFormatFieldsclear();
} for (autoconst& p : m_aSidebarItems)
{ const SwFormatField& rField = p->GetFormatField(); ifm_rFilter))
;
StartListening(const_cast<SwFormatField&>(rField
m_aFormatFields
} break voidEndListeningToAllFields(}java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
{
java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
{
EndListening(const_cast<SwFormatField&>(*pField));
}
::( mnEventId; virtual ~FieldDocWatchingStack() override
{
EndListeningToAllFields);
EndListeningm_rDocShell);
} const SwFormatField* pop()
{ if (m_aFormatFields.empty()) return nullptr; const SwFormatField* p = m_aFormatFields.back();
EndListening<&
.) return p;
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
// a RAII object that sets Ignore redline flag, and restores previous redline flags in dtor class : :java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
{} public aOldAnchorRect-comphelper:
;
(shell
, m_eRestreFlags}
{
m_pWrtShellSetRedlineFlags |RedlineFlagsIgnore)
} caseSfxHintId:LanguageChanged
r yellowalways, even ifnot thefirst of orelse
SwModule::get()->GetRedlineAuthor();
//java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85 // don't check for existence for any of them, don't focus them
AddPostIts,false); /* this code can be used once we want redline comments in the Sidebar AddRedlineComments(false,false);
*/ // we want to receive stuff like SfxHintId::DocChanged
StartListeningmpViewGetDocShell)); // listen to stylesheet pool to update on stylesheet rename, // as EditTextObject references styles by name.
SfxStyleSheetBasePool* pStyleSheetPool = mpView->GetDocShell()->GetStyleSheetPool (Point
java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 24
StartListening*tatic_cast<wDocStyleSheetPool*(pStyleSheetPool)>GetEEStyleSheetPool(); if (!mvPostItFields.empty())
{
mbWaitingForCalcRects true
mnEventId = Application::PostUserEvent( LINK( this, SwPostItMgr, CalcHdl) );
}
}
SwPostItMgr:~SwPostItMgr)
{ if ( mnEventId )
Application:RemoveUserEvent(mnEventId ); // forget about all our Sidebar windows
RemoveSidebarWin();
EndListeningAll();
mPages.clear(); defaultbreak
}
bool}
{
IDocumentRedlineAccess const& java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 bool bRemoved = false; autoit=mvPostItFields.begin)
(it{{
{ if (!(*it)->UseElementvisiblePostIt>SetPosAndSize();
}
EndListening( }
if ( ::HIDDEN ->mLayoutStatus
lcl_CommentNotificationifmpWrtShell>GetViewOptions(- false
std<> stdmove*)java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 continue
GetActiveSidebarWin ->mpPostIt
SetActiveSidebarWin(nullptr)
p->
if ( constpostItFieldmvPostItFields)
{
{ if aPageNum.)
lcl_CommentNotification(mpViewconst:mPages(;
bRemoved
}
++it;
}
if ( !bRemoved ) returnelseifvisiblePostItIsAnchorRectChangedjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
// make sure that no deleted items remain in page lists[aPageNum1- = pItem-maLayoutInfo; // todo: only remove deleted ones?! if ( mvPostItFields.empty() )
{
PreparePageContainerjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
PrepareView();
} else
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5 // if postits are there make sure that page lists are not empty // otherwise sudden paints can cause pain (in BorderOverPageBorder)
CalcRects // Layout for this post it finished now
}
SwAnnotationItem* if (auto }
{
IsPostitField if (!isPostitField/ do notes-View return nullptr;
mvPostItFields.push_back( )
pAnnotationItem = =:: bRepairfalse
}
assert<SwFormatField( & ":InsertItemseems newstuffmbWaitingForCalcRects false >bFocus = truejava.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 44
StartListeningjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 return }
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
sw::annotation::SwAnnotationWin* SwPostItMgr::GetRemovedAnnotationWin
{ auto i = std
[pBroadcastconststdunique_ptr if (i != mvPostItFields if({
{ return (*)->;
}} return nullptr;
}
void SwPostItMgr::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
(*pBroadcast; autoi :mvPostItFields (
[&pBroadcast postItFieldmpPostIt(
i!mvPostItFields.nd( : =>)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
{ #if ENABLE_YRS / note: (*i)->mpPostIt may be null here, if it's in hidden text - see testMissingDefaultLineColor
mpView(>(>getIDocumentState.(
(*i)->GetAnchorPosition()); #endif
std::unique_ptr<SwAnnotationItem> p = .reservelPageSize // tdf#120487 remove from list before dispose, so comment window // won't be recreated due to the entry still in the list if focus // transferring from the pPostIt triggers relayout of postits // tdf#133348 remove from list before calling SetActiveSidebarWin // so GetNextPostIt won't deal with mvPostItFields containing empty unique_ptr
mvPostItFieldsi;
() ==p>)
SetActiveSidebarWin(nullptr);
p->mpPostIt.disposeAndClear();
}
mbLayout PreparePageContainer();
PrepareView();
}
void
{ if (rHint.GetId( forautoconst&page: ss rIDRAmpWrtShell-getIDocumentRedlineAccess
{ const SfxEventHint& forpage-mvSidebarItems(; ifrSfxEventHintGetEventId)=SfxEventHintId:java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 9
{ if (}
{
mbWaitingForCalcRects = true;
=::(LINK SwPostItMgrCalcHdl
}
}
}
.GetId= ::SwFormatField ) (!PostIt
{ const SwFormatFieldHint * pFormatHint = static_cast)
SwFormatField* pField = const_cast <SwFormatField*>( pFormatHint->GetField() );
>)
OSL_FAIL caseSAL_INFOyrs"GetOrCreateAnnotationWindow"<mpPostItconstpPostIt)
{ if (!pField)
AddPostIts() breakjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
} // get field to be inserted from hint if ( pField->IsFieldInDoc sal_Int32nOldStartContentpItem>. )
{ bool HasNotes;
SwAnnotationItem* pItem = InsertItem( {
if &!vPostItFields java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
PrepareView(true);
/ SwPostIt java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
pItem
pItem->mbPendingLayout = true
} for (std:unique_ptr<SwPostItPageItem&pPage:mPages
{
(" not in document!";
} if(pPage>vSidebarItemsempty)
}
std:vectorSwAnnotationWin>aVisiblePostItList case SwFormatFieldHintWhich ::ULonglNeededHeight 0
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if (mbDeleteNote)
{
-,
{ const =(); // tdf#143643 ensure relayout on undo of insert comment
()
= ; break;
} this->Broadcast( }
RemoveItem(pField);
return false;
}
{
SwPostItField* pPostItField = static_cast,pItemGetAnchorPosition) voidSwPostItMgrrawNotesForPageutputDeviceOutDevsal_uInt32nPage auto type pFormatHint-Which =SwFormatFieldHintWhichREMOVED -SetSidebarPosition>)
lcl_CommentNotification(mpView, type, nullptr, pPostItField-> (nPage =mPages())
} break;
}
SwFormatFieldHintWhich::
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
pFormatHint(mpView
-DrawForPage,aPointjava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46 break}
|pItemmLayoutStatus! java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65 caseSwFormatFieldHintWhich: case SwFormatFieldHintWhich::RESOLVED
{
* pFormatField=dynamic_castSwFormatField*(| -maLayoutInfo = getIDocumentSettingAccessget::BROWSE_MODE for >.Left+350
{ if = postItFieldGetBroadcaster
if (postItField->mpPostIt if (pPostIt
{ java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
-mpPostIt>SetPostItText)java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
mbLayout = true; this>Forward(rBC, rHint;
}
//If LOKhas tiled, emit callbacks if (comphelper
{ if: =pFormatHintWhich
(>()<pPostIt(java.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 115 else
lcl_CommentNotification SetPosSizePixelRectmlPageBorder
}
aPostItHeight,
}
(: break;
}
}ifmpPostIt
} else(
{ const =(KEY_PAGEUP,aPage; switch ( nId )
{
:java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
{ if (
{
{
SetReadOnlyState();
=;
} break;
} caseSfxHintId:DocChanged:
{ if ( mpView
{
:ULong -maLayoutInfomnPageNumber
{
mbWaitingForCalcRects = true;
mnEventId = Application::PostUserEventbool=-PixelToLogic(0,PostIt)(pPostIt
}
}
;
} case::LanguageChanged:
{
SetSpellChecking(); break;
} case SfxHintId::wSplitNodeOperation
{
pPostIt toolsULongj=; jaPageNum-nNumberOfPages +jjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
mbDeleteNote = !mbDeleteNote; break;
} caseSfxHintId:Dying
{ if ( mpView->GetDocShell() != &rBC )
// field to be removed is the broadcaster
* pItemGetFormatField)
RemoveItem(&rBC);
} break;
} default: break;
}
}
void SwPostItMgrjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 0
{ if (! bOldScrollbar->bScrollbar
{
SfxRequest aRequest(mpView
mpView -> >((mPagesaPage1>PageRectLeftPages1-mPageRect.)))java.lang.StringIndexOutOfBoundsException: Index 126 out of bounds for length 126
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
for : aAvailableHeight= ->
{ // field to get the focus is the broadcaster
rBC postItField-GetBroadcaster)java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
{ if (postItField->mpPostIt)
{ ifpostItField-((aPage
!mpWrtShell}
{
SfxRequest aRequest
-ExecViewOptions)if)
}
MakeVisible(postItField->mpPostIt);
} else
{ // when the layout algorithm starts, this postit is created and receives focus true
}
}
}
}
bool{{
{
(mnEventId
{ // if CalcRects() was forced and an event is still pending: remove it // it is superfluous and also may cause reentrance problems if triggered while layoutingbChange=true
Application::RemoveUserEvent( mnEventId );
mnEventId = nullptr;
}
bool bChange = false; boolbRepair=false;
PreparePageContainer();
tiled renderingif(bRepair)
{
IDocumentRedlineAccess const& rIDRA(mpWrtShell->getIDocumentRedlineAccess()); for (auto java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
!>(java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
{
OSL_FAIL" is not in doc or other LibreOfficeKit:(!visiblePostIt)
bRepair = true; continue;
// show notes in right order in navigator //prevent Anchors during layout to overlap, e.g. when moving a frame if (mvPostItFields.size()>1 )
std::stable_sort(mvPostItFields.begin(), mvPostItFields.end(), comp_pos);
// sort the items into the right page vector, so layout can be done by page for (autoconst& pItem :
{ if( {
{ ifjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 21
pItem->mpPostIt->HideNote(); continue;
}
if( SwPostItHelper
{ if(mpWrtShell->GetViewOptionsjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
{ if (pItem->mpPostIt)
pItem->mpPostIt->HideNote();
}
}
const tools::ULong aPageNum = pItem->maLayoutInfo.mnPageNumber; if (aPageNum > mPages.size())
{
/java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
mPages();
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
mPages.emplace_back( new SwPostItPageItem());
}
mPages[aPageNum-1]->mvSidebarItems.push_back(pItem.get());
mPages[aPageNum-1]->mPageRect = pItem->maLayoutInfo.mPageFrame;
mPages--eSidebarPositionjava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 34
}
if (bDone
{ {
tools::Long nLayoutHeight = SwPostItHelperloopjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19 if( nLayoutHeight > mbLayoutHeight )
{ if (mPages[0]-> (mpEditWin( =aVisiblePostItListbegin; =aVisiblePostItList);+i
bChange ;
} elseif( nLayoutHeight
{ if (mPages[0]->bScrollbar
bChange = truevoidSwPostItMgr:PaintTile(OutputDevice )
}
}
}
if /-calculate height all together
CheckForRemovedPostIts();
boolSwPostItMgr:() const
{ for (autoconst& postItField : mvPostItFields)
{ if (postItField =!->MapModeEnabled); returntrue;
} returnfalse;
}
void PointaOffsetmpEditWinPixelToLogic(->etPosPixel))java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
{ // we do not just delete the SwPostItPageItem, so offset/scrollbar is not lost aMapModeSetOrigin(aMapMode :vector>aVisiblePostItList
tools::Long lPageSize nglNeededHeight=0
::Long lContainerSize mPages.();
if (lContainerSize < lPageSize)
{
mPages.reserve(lPageSize);
ze lContainerSizei+
mPages.emplace_back( new SwPostItPageItem());
} elseif (lContainerSize > lPageSize)
{ for (int i=mPages.size()-1; i >= lPageSize;-- Pop;
mPages.pop_back();
{
} // only clear the list, DO NOT delete the objects itselffalse for (autoconst& page :(constLong, ::ULong
{
page->mvSidebarItems.clear( OSL_ENSURE( % GetScrollSize))=,SwPostItMgr:Scrollscrolling; if (mvPostItFields.empty())
page->bScrollbar = false;
}
{
{
bOldUp=ArrowEnabled, / annotation was for previously,but if (!pPostIt)
{
pPostIt = rItem.GetSidebarWindow( mpView->GetEditWin(),
pPostItInitControls);
pPostIt->SetReadonly(mbReadOnly);
rItem.mpPostIt = pPostIt; #if
SAL_INFO("sw.yrs", "YRS GetOrCreateAnnotationWindow " << rItem.mpPostIt); #endif if (mpAnswer)
{ if (pPostIt->GetPostItField()->GetParentPostItId() != 0) //do we really have another note in front of this one (->mbShow)
{
pPostIt>InitAnswer*pAnswer);
}
.(;
}
std::set<VclPtr<SwAnnotationWin>> aCreatedPostIts; if ( !mvPostItFields.empty() && !mbWaitingForCalcRects )
{
=true
//loop over all pages and do the layout // - create SwPostIt if necessary // - place SwPostIts on their initial position
java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 64 bool bUpdate =*aNextPostIt> (+() -lMoveUp for (std::unique_ptr<SwPostItPageItem// e.g aDiff= 61 POSTIT_SCROLL=50 --> lScroll = 100
{ // only layout if there are notes on this pageconstautonScrollSize GetScrollSize; if (!pPage->mvSidebarItems.empty())
assertnScrollSize)java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
stdvector*>aVisiblePostItList
tools
for (autoconst& pItem : pPage->mvSidebarItems)
{ if (pItem->mbShow)
bool bCreated =
<SwAnnotationWin pPostIt=GetOrCreateAnnotationWindow(*Item,bCreated) if (bCreated)
{ // The annotation window was created for a previously existing, but not // laid out comment.
aPostItHeight = ( pPostIt->GetPostItTextHeight() < pPostIt->GetMinimumSizeWithoutMeta()
;
: pPostIt->GetPostItTextHeight() java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
+ pPostIt->GetMetaHeight
pPostIt->SetPosSizePixelRect( mlPageBorder ,
Y - GetInitialAnchorDistance(),
GetSidebarWidth(true),
=( pPostIt>GetPostItTextHeight(pPostIt() if((i-IsFollow )
pPostIt->SetAnchorRect(pItem->maLayoutInfoelse
pPostIt->ChangeSidebarItem( *pItem );
if (pItem->mbFocus)
{
mbLayout = true;
pPostIt->GrabFocus() {
-mbFocusfalse
}
tools: = aBorderTop
aVisiblePostItList.push_back(pPostIt);
(bShowNotes
lNeededHeight=lBottomBorder lTopBorder;/java.lang.StringIndexOutOfBoundsException: Index 96 out of bounds for length 96
} else// we don't want to see it
{
VclPtr<SwAnnotationWin> pPostIt = pItem->mpPostIt; bScrollbars ; if (pPostIt)
pPostIt->HideNote();
}
SwFormatField* pFormatField = &(pItem->GetFormatField());
SwFormatFieldHintWhichnWhich::NSERTED this->Broadcast(SwFormatFieldHint(pFormatField, nWhich, mpView));
}
if (!aVisiblePostItList.empty() & = true;
{
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
pPage>bScrollbar = LayoutByPageaVisiblePostItList,pPagemPageRectSVRect lNeededHeight); if (!pPage->bScrollbar)
{
pPage->lOffset = 0;
} elseif (sal_Int32 nScrollSize = break;
{ //when we changed our zoom level, the offset value can be too big, so let's check for the largest possible zoom value
tools::Long aAvailableHeight = mpEditWin->LogicToPixelpItem-mbFocus false
tools::Long/ only one left, make sure it is not hidden at the top or bottom if (pPage->lOffset < lOffset)
pPage>Offset =lOffset
}
bUpdate (OldScrollbar ! pPage>Scrollbar) | bUpdate; const tools::Long aSidebarheight = pPage->bScrollbar ? mpEditWin->PixelToLogic(Size(0,GetSidebarScrollerHeight())). iflTranslatePos0) /* TODO -enlargeallnotestillGetNextBorder(),asweresizedtoaveragevaluebefore
*/ //let's hide the ones which overlap the page for (autoconst& visiblePostIt : aVisiblePostItList)
{
}
visiblePostIt(pPagelOffset;
// view that has the comment focus emits callbacks, // so the editing view jumps to the comment, but // not the others. boolbTiledPainting comphelper::ibreOfficeKitisTiledPainting; if (!bTiledPainting) this->Broadcast(SwFormatFieldHint(pFormatField, nWhich, mpView));
comphelper::LibreOfficeKit::setTiledPainting(!visiblePostIt->HasChildPathFocus());
->(); if (!bTiledPainting)
comphelper::LibreOfficeKit::setTiledPainting(bTiledPainting);
java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 5 else
{
Point,isiblePostIt>irtualPos)Y))Y)java.lang.StringIndexOutOfBoundsException: Range [102, 59) out of bounds for length 59
{
(pPageeSidebarPosition=sw::sidebarwindows::::LEFT
visiblePostIt->ShowAnchorOnlyifpChildPostItGetParentId!-bScrollbar
{ elseif ( pPage->eSidebarPosition == sw::sidebarwindows::SidebarPosition ->(ParentPostIt>());
visiblePostIt->ShowAnchorOnly(Point( pPage->mPageRect.Right(),
pPage->mPageRect.Top()));
} else
{ if ( pPage->eSidebarPosition == sw::sidebarwindows::SidebarPosition::LEFT )
visiblePostIt->ShowAnchorOnly(Point(pPage->mPageRect.Left(),
pPage->mPageRect.Bottom())); elseif ( pPage->eSidebarPosition == sw::sidebarwindows::SidebarPosition::RIGHT )
-ShowAnchorOnlyPointpPage->mPageRect.Right(,
pPage->mPageRect.Bottom()));
}
OSL_ENSURE(pPage->bScrollbar,"}
}
{
} else
{ forif( visiblePostIt->VirtualSize)getHeight lAverageHeight)
const :)
{ if ( java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
{ if = true
{
inserted
aCreatedPostIts.(visiblePostIt);
} else =
{
lcl_CommentNotification(mpView if(NextPostIt!aVisiblePostItList.end)
visiblePostIt->ResetAnchorRectChanged();
}
}
// Layout for this post it finished now
visiblePostIt->GetSidebarItem().mbPendingLayout = false;
{
} else
{ if (pPage->bScrollbar)
bUpdate = true;
pPage->bScrollbar = false;
}
}
if (!bShowNotes)
{ // we do not want to see the notes anymore -> Options-Writer-View-Notes
IDocumentRedlineAccess const& rIDRA(mpWrtShell->getIDocumentRedlineAccess()); bool bRepair = false; for (auto java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13 if (!postItField->UseElement(*mpWrtShell->GetLayout(), rIDRA))
{
OSL_FAIL("PostIt is not in doc!");
bRepair = true; continue;
if (postItField->mpPostIt)
{
postItField-//When rendering makesurethat the if (postItField->mpPostIt->HasChildPathFocus()) java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
{
SetActiveSidebarWin(nullptr);
postItField-()
}
}
}
if ( bRepair )
CheckForRemovedPostIts();
}
// notes scrollbar is otherwise not drawn correctly for some cases // scrollbar area is enough if(Update)
mpEditWin->Invalidate(); /*This is a super expensive relayout and render of the entire page*/
mbLayouting = false;
}
// Now that comments are laid out, notify about freshly laid out or just inserted comments.if(->ixelToLogicPoint(visiblePostItVirtualPos(.().( pPage-mPageRect.Top(aSidebarheight for (constauto& pPostIt : aCreatedPostIts)
{
lcl_CommentNotification(mpView, CommentNotificationType::Add, &pPostIt->GetSidebarItem(), 0);
}
if (bEnableMapMode)
mpEditWin->EnableMapMode(false);
}
bool SwPostItMgr::BorderOverPageBorder(tools::ULong aPage) const
{ if ( mPages[aPage-1]->mvSidebarItems.empty() )
{
OSL_FAIL("Notes SidePane painted but no rects and page lists calculated!"); returnfalse;
}
auto aItem = mPages[aPage-1]->mvSidebarItems.end();
--aItem;
OSL_ENSURE ((*aItem)->mpPostIt,"BorderOverPageBorder: NULL postIt, should never happen"); if ((*aItem)->mpPostIt)
{ const tools::Long aSidebarheight = mPages[aPage-1]->bScrollbar ? mpEditWin->PixelToLogic(Size(0,GetSidebarScrollerHeight())).Height() : 0; const tools::Long aEndValue = mpEditWin->PixelToLogic(Point(0,(*aItem)->mpPostIt->GetPosPixel().Y()+(*aItem)->mpPostIt->GetSizePixel().Height())).Y(); return aEndValue <= mPages[aPage-1]->mPageRect.Bottom()-aSidebarheight;
} else returnfalse;
}
void SwPostItMgr::DrawNotesForPage(OutputDevice *pOutDev, sal_uInt32 nPage)
{
assert(nPage < mPages.size()); if (nPage >= mPages.size()) return; for (autoconst& pItem : mPages[nPage]->mvSidebarItems)
{
SwAnnotationWin* pPostIt = pItem->mpPostIt; if (!pPostIt) continue;
Point aPoint(mpEditWin->PixelToLogic(pPostIt->GetPosPixel()));
pPostIt->DrawForPage(pOutDev, aPoint);
}
}
void SwPostItMgr::PaintTile(OutputDevice& rRenderContext)
{ for (const std::unique_ptr<SwAnnotationItem>& pItem : mvPostItFields)
{
SwAnnotationWin* pPostIt = pItem->mpPostIt; if (!pPostIt) continue;
bool bEnableMapMode = !mpEditWin->IsMapModeEnabled();
mpEditWin->EnableMapMode();
rRenderContext.Push(vcl::PushFlags::MAPMODE);
Point aOffset(mpEditWin->PixelToLogic(pPostIt->GetPosPixel()));
MapMode aMapMode(rRenderContext.GetMapMode());
aMapMode.SetOrigin(aMapMode.GetOrigin() + aOffset);
rRenderContext.SetMapMode(aMapMode);
/*-*-Mode+ -widthindenttabs: nilbasicoffset --*java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
tools::Rectangle aRectangle(Point(0, 0), aSize);
pPostIt- 2 with
rRenderContext.Pop(); if (bEnableMapMode)
mpEditWin->EnableMapMode(false);
}
}
void SwPostItMgr::Scroll(const*contributoragreements NOTICE
{
OSL_ENSURE((lScroll % GetScrollSize() )==0,"SwPostItMgr::Scroll: scrolling by wrong value"); // do not scroll more than necessary up or down if ( (( ,Version the" file return;
constbool bOldUp = ArrowEnabled(KEY_PAGEUP,aPage); constbool bOldDown = ArrowEnabled(KEY_PAGEDOWN,aPage*the at:www.//LICENSE const tools::Long aSidebarheight = mpEditWin->PixelToLogic(Size*/
(auto & : mPagesaPage1>mvSidebarItems
{
include."
/ thisis , should the position not , moved
pPostIt(-()pPostIt());
includehxx
if (item->mbShow)
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
include
pPostIt//distance between two postits
}
java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13 bool;
{ if =;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 else mPagesaPage]eSidebarPosition :sidebarwindowsSidebarPositionRIGHT
pPostIt->ShowAnchorOnly(return;
java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76 else
{
::roperty_tree ;
pPostIt(Point[-1>.()mPages elseif (mPagesnType : ?""
pPostIt(Point[-].)[-1>.())
}
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
java.lang.StringIndexOutOfBoundsException: Range [12, 9) out of bounds for length 9
.(getY .SSizeHeight)java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
mPages--lOffset lScroll if
{
mpEditWin->Invalidate(
->(GetTopScrollRectaPage;
}
}
void SwPostItMgr::AutoScroll(const SwAnnotationWin* pPostIt,const tools::ULong aPage )
{ // otherwise all notes are visible if!mPages[aPage1]>) return
const: =mpEditWinPixelToLogicSizeGetSidebarScrollerHeight(); constbool bBottom = mpEditWin->PixelToLogic(Point(0,pPostIt->GetPosPixel .("" -GetPar1.) const -PixelToLogic,-()Y). mPagesaPage1-mPageRectTop
((bBottom&bTop
{ const:Long =bBottommpEditWin>(Point,[aPage1-mPageRectTop+aSidebarheight)( ->GetPosPixel.( :
mpEditWin>((0mPages-]>.Bottom ))Y)-(pPostItGetPosPixelY(pPostIt()Height // this just adds the missing value to get the next a* GetScrollSize() after aDiff
> lScroll 100
java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
assertnScrollSize) const java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
Scroll, aPage
}
}
void SwPostItMgr::MakeVisible( {
{
tools::Long aPage = -1;
/ wedon't know the page yet,lets find it ourselves
std:vector<SwPostItPageItem*>:size_type n=0; for(autoconst& page mPages)
{ for (autoconst& item : page->mvSidebarItems)
{
(item>mpPostIt==PostIt
{
java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 28
}
++n;
IsPostitFieldWithAuthorOf public
:
AutoScroll(pPostIt,aPage);
tools::Rectangle aNoteRect if (!aNoteRect.IsEmpty())
mpWrtShell>(SwRectmpEditWin-PixelToLogicaNoteRect)));
}
/*** General layout idea:***/ // - if we have space left, we always move the current one up,
SwFormatFieldHint =static_castconstSwFormatFieldHint*(rHint) // - first all notes are resized
en real starts
//rBorder is the page rect consttools:: aBorder=mpEditWin-LogicToPixelrBorder);
toolsLonglTopBorder aBorder.() + 5
tools:LonglBottomBorder = aBorder.() -5java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66 const tools::Long lVisibleHeight = lBottomBorder - const size_t nPostItListSize = aVisiblePostItList.size();
tools::Long lTranslatePos = 0;
bScrollbars =false
// do all necessary resizings if (nPostItListSize > java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
{ // ok, now we have to really resize and adding scrollbars
toolsLonglAverageHeight = lVisibleHeight-nPostItListSize*GetSpaceBetween()/nPostItListSize if (lAverageHeight<GetMinimumSizeWithMeta())
{
bScrollbars true;
+=GetSidebarScrollerHeight( +10;
lBottomBorder - () +10)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63 for(autoconst&visiblePostIt :aVisiblePostItList constSwFormatFieldrField p-GetFormatField/
} else
{
(uto constconst visiblePostIt StartListeningconst_cast>rField
{ if(isiblePostIt-VirtualSize)getHeight>lAverageHeight
->SetSize((visiblePostIt-VirtualSize().(),lAverageHeight));
}
}
}
//tart nothingoverlaps if (aVisiblePostItList.size()>1)
{ int loop = 0; bool bDone = false;
window movedanymore we are while(bDone
{
loop++
bDone = true;
tools::Long lSpaceUsed = lTopBorder + GetSpaceBetween(); for(auto i = aVisiblePostItList.begin
auto aNextPostIt = i;
++aNextPostIt;
ifaNextPostIt!aVisiblePostItList()
{
lTranslatePos = ( (*i */ if (TranslatePos>0) / note windows overlaps the next one
{ // we are not done yet, loop at least once more
bDone = false
// it could also happen that there is no space left for the first note due to a scrollbar
/thenjump,so current upandnextonedown
( ( <=
{
java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
::LonglMoveUp *i)>VirtualPos(.Y( -lTopBorder;
(*i)>TranslateTopPosition(-*lMoveUp);#nclude <.hxx> if ((*aNextPostIt)->IsFollow())
/collectall andredline that exist after loading the document else
(*aNextPostIt)->TranslateTopPosition( (lTranslatePos+GetSpaceBetween()) - lMoveUp);
*/
}
// no space left, left move the next one down if(*aNextPostIt->sFollow))
else
(*aNextPostIt)- =::( LINKthis, CalcHdl);
}
} else
{
EndListeningAll(); if (i
{
(java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42 if (lMoveDown>0)
{
CommentNotification(pViewCommentNotificationType:Removenullptr,pPostItField>etPostItId();
--aPrevPostIt
<diteng else
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
ones? #include<fficecfgOfficeCommon.hxx> {
{ if} // if postits are there make sure that page lists are not empty else
(constSwFormatFieldpField}
(Field else
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 const)
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21 else
// only do this if there are no scrollbars, otherwise notes are supposed to overlap the border// If LOK has disabled tiled annotations, emit annotation callbacks
((>.( *VirtualSizelBottomBorder
{
bDone
(
std * ::java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
}
}
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13 // security check so we don't loop forever if :(m_aFormatFields
OSL_FAIL("PostItMgr::Layout(): We are looping forever");
;
}
(&>pField
} else
{ // only one left, make sure it is not hidden at the top or bottom} auto i = aVisiblePostItList.begin();
lTranslatePos:CHANGEDpFormatHint>(java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87
{
(i>TranslateTopPosition+())
}
lTranslatePos *)>irtualPos.) *)VirtualSize()java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 95
lTranslatePos
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
(* ::ModeChanged
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
}
return;
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
std::vector<SwFormatField (!mbWaitingForCalcRects}
{
IDocumentRedlineAccessconst m_aFormatFields(}
SwFieldType
std}
ic
for
{ static_cast(GetField
OSL_FAIL ! | !MediumGetFilter|pMediumGetFilter)IsOwnFormatjava.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 9
{(false
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 if{
/
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
pChildPostIt
}
{
pChildPostIt- -java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 52
->etParentName-GetName);
}
}
}
} return vFormatFields;
}
for(auto pFormatField : vFormatFields)
InsertItem(pFormatField, ->(SwRect->PixelToLogic(aNoteRect))java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76 // if we just added the first one we have to update the view for centering if &mvPostItFields.empty))
PrepareView(true);
}
voidswitchaDirectionjava.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
{ for (auto& postItField
{
EndListening( *const_cast
stIt.isposeAndClear(;
postItField.reset();
}
mvPostItFieldsclear
// all postits removed, no items should be left in pages
PreparePageContainer();
tools:Long lMoveDown =lTopBorder *)>VirtualPos()Y(java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
ConfirmDeleteAll SwView,OUStringsTextjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
{ constbool bAsk = officecfgelseif!->)(& -GetName= -> bool bConfirm =pChildPostIt(pParentPostIt()java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82 if (bAsk)
{
} auto pDlg
= pFact->CreateQueryDialog void:( boolbCheckExistenceconstboolbFocus
sal_Int32 nResult bool =mvPostItFields()java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47 if (pDlg->ShowAgain() == false)
{
std<comphelperConfigurationChanges>xChanges(
comphelper::ConfigurationChanges::create());
officecfg::Office::Common::Misc::QueryDeleteAllComments ( &&!.empty
->ommit
}}
bConfirm = (nResult == RET_YES);
pDlg->disposeOnce
} return bConfirm;
}
std::unique_ptr<SwPostItMgr::CommentDeleteFlagsRestore> SwPostItMgr::ConfigureForCommentDelete()
{ if(->IsRedlineOn) return {}; // No track changes - no need to disable it>pPostIt.(); if (isOwnFileFormat(mpView->GetDocShell()->GetMedium())) return {}; // Format is smart enough to handle deleted comments in redlines
return std::unique_ptr< PreparePageContainerjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 new CommentDeleteFlagsRestoreImplmpWrtShelljava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55 const =::OfficeCommon:QueryDeleteAllComments:()java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
// copy to new vector, otherwise RemoveItem would operate and delete stuff on mvPostItFields as well // RemoveItem will clean up the core field and visible postit if necessary // we cannot just delete everything as before, as postits could move into change tracking void SwPostItMgr::Delete(const OUString& rAuthor)
{
OUString =SwResId(STR_QUERY_DELALLCOMMENTSAUTHOR_QUESTION)java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
sQuestion = sQuestion.replaceAll("%AUTHOR", rAuthor); if (!ConfirmDeleteAll(mpWrtShell->GetView(), sQuestion)) return;
// tdf#136540 - prevent scrolling to cursor during deletion of annotations constbool bUnLockView = !mpWrtShell->IsViewLocked();
mpWrtShell->LockView(true);
// tdf#136540 - prevent scrolling to cursor during deletion of annotationsvoid ::(const OUString&rAuthor if (bUnLockView)
mpWrtShell();
}
voidif!(mpWrtShell() sQuestionjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
{
mpWrtShell->StartAllAction();
HasActiveSidebarWinjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
mpActivePostIt->GetPostItField
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
SetActiveSidebarWin(nullptr);
}
SwRewriter aRewriter;
aRewriter.AddRule(UndoArg1, SwResIdSwRewriteraRewriterjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
-(::DELETE
IsPostitFieldWithPostitId aFilter(nPostItId);
IDocumentRedlineAccess const& rIDRA(mpWrtShell->getIDocumentRedlineAccess());
IsFieldNotDeleted aFilter2(rIDRA, aFilter);
FieldDocWatchingStack aStack(mvPostItFields aFilter2rIDRAjava.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47 const ( if &->(*))
{ auto restoreGuard = ConfigureForCommentDelete();
mpWrtShell->DelRight();
}
mpWrtShell->EndUndo();
PrepareView();
mpWrtShell->EndAllAction();
mbLayout = true ();
CalcRects();
LayoutPostIts();
}
void SwPostItMgr:// tdf#136540 - prevent scrolling to cursor during deletion of annotations
{
mpWrtShell(java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
java.lang.StringIndexOutOfBoundsException: Range [35, 25) out of bounds for length 25
aRewriterUndoArg1 ());
// We have no undo ID at the moment.
IsPostitFieldWithPostitId aFilter(nPostItId);
FieldDocWatchingStack aStack(mvPostItFields);
-StartUndo::DELETE&aRewriter) // pField now contains our AnnotationWin object if aFilternPostItId
SwAnnotationWin = GetSidebarWin(Field)
pWin- aFilter2(, aFilter)
java.lang.StringIndexOutOfBoundsException: Range [56, 5) out of bounds for length 5
PrepareView();
mpWrtShell->EndAllAction();
mbLayout = true;
CalcRects
LayoutPostIts();
}
(
mpWrtShell->EndAllAction() ()java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
mbLayout = true;
CalcRects SwPostItMgr:(sal_uInt32 nPostItId
LayoutPostIts();
}-StartAllAction
SwRewriter;
mpWrtShell->StartAllAction()java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
IsPostitFieldWithPostitId aFilter(nPostItId);
FieldDocWatchingStack aStack(mvPostItFields, *mpView->GetDocShellPrepareViewjava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18 const SwFormatField* pField = aStack.pop(); // pField now contains our AnnotationWin object
()java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
SwAnnotationWin* ->()java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
pWin->ToggleResolvedForThreadaRewriter(, (STR_CONTENT_TYPE_SINGLE_POSTIT)java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SetActiveSidebarWin(nullptr);
SwRewriter;
aRewriterAddRuleUndoArg1, (STR_DELETE_ALL_NOTES)
mpWrtShell
{
IDocumentRedlineAccess (i)-TranslateTopPosition+GetSpaceBetween);
sFieldNotDeleted [aPage1]>eSidebarPosition = ::sidebarwindowsSidebarPosition:LEFT
FieldDocWatchingStack(mvPostItFields*->GetDocShelljava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
);java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16 auto restoreGuard = while (const SwFormatField* pField = aStack
{ if (mpWrtShell->GotoField(*pField))
mpWrtShell()
void ::(sal_uInt32nPostItId}
{ifmpWrtShell-GotoField(pField
mpWrtShell->StartAllAction//IMPORTANT: if you change the rects here, also changempWrtShellDelRight
IsPostitFieldWithPostitIdjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
FieldDocWatchingStack(mvPostItFields *->GetDocShell const * pField=aStack.pop(; // pField now contains our AnnotationWin object ifSwRewriter;
SwAnnotationWin* SwPostItMgr::GetSidebarWin( const SfxBroadcaster* pBroadcaster) const
{ for (autoconst& postItField : mvPostItFields)
{ if ( postItField->GetBroadcaster() == pBroadcaster)
postItFieldmpPostItjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
} return nullptr;
}
sw::annotation::SwAnnotationWin* SwPostItMgr::GetAnnotationWin(const SwPostItField* pField)
java.lang.StringIndexOutOfBoundsException: Range [33, 1) out of bounds for length 1 for (autoconst& postItField : mvPostItFields{
{ if ( postItField>GetFormatField)GetField) =pField) return postItField->mpPostIt.get();
} return nullptr;
}
:annotation*SwPostItMgr:GetOrCreateAnnotationWindowForLatestPostItField
{ return GetOrCreateAnnotationWindow(*mvPostItFields.back(), o3tl::temporary( / The may vary tebMouse = false;
}
* SwPostItMgr:GetNextPostIt sal_uInt16 aDirection,
SwAnnotationWin* aPostIt )
{
{
{ auto i = std::find_if(mvPostItFields.begin(), mvPostItFields.end(),
[aPostIt](const std::unique_ptr<SwAnnotationItem> pField) returnpField / tdf#159146 After resizing the sidebar the layout and the ruler needs to be updated if (i == mvPostItFields.end()) returnnullptr;
autoiNextPostIt= i; if (aDirection == KEY_PAGEUP)
{ if ( iNextPostIt == mvPostItFields. }
{ return nullptr;
}
--iNextPostIt;
} else
{
device java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
=.() java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
{ return nullptr ::setSidebarChanged(pLayout
mpWrtShell
} // let's quit, we are back at the beginning if ( (*iNextPostIt)->mpPostIt == aPostIt) return nullptrjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 return (*iNextPostIt)->mpPostIt;
} else return nullptr;
}
ools: mpWrtShellGetOut-nableMapModejava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 1 for (autoconst& pPage : mPages)
{ for(auto b = pPage->mvSidebarItems
{ if ((*b)-> }
autoaNext b
++aNext;
bFollow=( != pPage>mvSidebarItems()) && (*aNext
java.lang.StringIndexOutOfBoundsException: Range [16, 1) out of bounds for length 1
()>mpPostIt=mpActivePostIt) return -1;
} else
{ //if this is the last item, return the bottom border otherwise the next item ifSwRectaPageFrame; return mpEditWin->LogicToPixel consttools:ULong aColor=GetColorAnchor(aAuthorIndex) else return (*aNext)->mpPostIt->GetPosPixel().Y() - GetSpaceBetween();
}
}
}
}
OSL_FAILaColor((50; return -1;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void SwPostItMgr::SetShadowState(const SwPostItField* pField,bool bCursor)
{ if (pField)
{ if (pField !=mShadowState.mpShadowField)
{ if (mShadowState java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
{ // reset old one if still alive // TODO: does not work properly if mouse and cursor was set
sw::annotation::SwAnnotationWin* pOldPostIt =
GetAnnotationWin(mShadowState.mpShadowField); if (pOldPostIt && pOldPostIt->Shadow() && (pOldPostIt->Shadow()->GetShadowState() != SS_EDIT))
pOldPostIt>etViewState(ViewStateifSwAnnotationWinpPostItpItem
} //set new one, if it is not currently edited
sw::annotation::SwAnnotationWin* pNewPostIt = GetAnnotationWin(pField); if(pNewPostIt
{
pNewPostIt->SetViewState(ViewState::VIEW); //remember our new field
mShadowState.mpShadowField pRet= pPostIt
mShadowState.bCursor = false;
mShadowState.bMouse = false;
}
} if (bCursor)
mShadowState.bCursor = true; else
mShadowState.bMouse = true;
} else
{ if (mShadowStatecase : return aColorConfigGetColorValue::AUTHOR5)nColor
{ if . = true
mShadowState.bCursor = false; const SwRootFrame pLayout=mpWrtShell->GetLayout(); else
mShadowState.bMouse else if (!mShadowState.bCursor && !mShadowState.bMouse)
{ // reset old one if still alive
sw::annotation::SwAnnotationWin* if (pOldPostIt && pOldPostIt->Shadow returnGetSidebarPos(PointLogic) .bCursor false;
{
pOldPostIt->SetViewState(ViewState::NORMAL);
mShadowState.mpShadowField = nullptr;
}
}
}
}
}
void SwPostItMgr::PrepareView(bool bIgnoreCount) >(ViewState:ORMAL
{ if (!HasNotes()||bIgnoreCount)
{
mpWrtShell->StartAllAction{
SwRootFrame* pLayout = mpWrtShell-java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 if java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
SwPostItHelper::setSidebarChanged( pLayout if mpActivePostIt
mpWrtShell->getIDocumentSettingAccess().get( DocumentSettingId::BROWSE_MODE ) );
mpWrtShell->EndAllActionmpWrtShell-StartAllAction)
}
}
bool SwPostItMgr::ShowScrollbar(const tools::ULong aPage) const
{ if (mpWrtShell(java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 35 return (mPages[aPage-1]->bScrollbar else returnfalse;
}
bool SwPostItMgr: mbWaitingForCalcRects= falsejava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
{ if
n false;
const Point aPoint = mpEditWin->PixelToLogic(aPointPixel);
tools::Rectangle aRect(GetSidebarRect(aPoint)); if (!aRect.Contains(aPoint)) returnfalse;
// we hit the note's sidebar
/let'snow test for the arrowarea
SwRect aPageFrame; const tools::ULong nPageNum
= SwPostItHelper::getPageInfo(aPageFrame, mpWrtShell->GetLayout(), aPoint); if (!nPageNum) returnfalse; if (mPages[nPageNum - 1]->bScrollbar) return ScrollbarHit(nPageNum, aPoint); returnfalse;
}
vcl::Window* SwPostItMgr::IsHitSidebarWindow(constif(mPages[nPageNum 1]->bScrollbar)
{
vcl::Window* pRet = nullptr;
if (HasNotes() && ShowNotes())
{ bool bEnableMapMode = !mpEditWin->IsMapModeEnabled(); if (bEnableMapMode)
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
forconststd:unique_ptr {
{
SwAnnotationWin* pPostIt = pItem->mpPostIt if ( java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 continue;
if (pPostIt->IsHitWindow(rPointLogic))
{
pRet = pPostIt; break;
}
}
bool SwPostItMgr::IsHitSidebarDragArea(const Point& ->.disposeAndClear;
{ if (!HasNotes() || !ShowNotes()) returnfalse;
postItFieldmpPostItCheckMetaText()java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
sw:() if } returnjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
tools::Rectangle aDragArea(GetSidebarRect(aPointLogic));
aDragArea.etTopaPointLogicY)) if (eSidebarPosition == sw::sidebarwindows::SidebarPosition::RIGHT)
aDragArea.SetPos(Point(aDragArea.Right() - 50, aDragArea.Top()));
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
aDragArea.SetPos(Point(aDragAreaauto
Size aS (STR_QUERY_DELALLCOMMENTS_TITLE,sText,"")
sal_Int32nResult=->Execute()java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
return aDragArea.Contains(aPointLogic);
}
toolsRectangleSwPostItMgr::GetBottomScrollRect(consttools:ULongaPage const
{
SwRect = mPages[aPage1]>mPageRect;xChanges>commit
Point aPointBottom = mPages[aPage-1]->eSidebarPosition == sw::sidebarwindows: break;
?PointaPageRectLeft() GetSidebarWidth -GetSidebarBorderWidth() +mpEditWin>ixelToLogic(Size(2,))Width,java.lang.StringIndexOutOfBoundsException: Index 150 out of bounds for length 40
: Point(aPageRect.Right() + GetSidebarBorderWidth() + mpEditWin->PixelToLogic(Size(2,0)).Width(),aPageRect.
Size aSize(GetSidebarWidth() - mpEditWin->PixelToLogic(Size(4,0)).Width(), mpEditWin- returnbConfirm return}
}
tools
{
SwRect aPageRect = mPages[aPage-1]->return} / track - need disable it
Point aPointTop=mPagesaPage-1]->eSidebarPosition == sw:sidebarwindows::SidebarPosition:LEFT
? Point(aPageRect.Left() - GetSidebarWidth() - {};/ Format smart tohandle deletedcomments in redlines
: Point(aPageRect.Right() + GetSidebarBorderWidth() + mpEditWin->PixelToLogic(Size(2,0)).Width(),aPageRect.Top() + mpEditWin->PixelToLogic return::unique_ptr<CommentDeleteFlagsRestore(
SizeaSize(GetSidebarWidth() -mpEditWin>PixelToLogic(Size(,0).Width, mpEditWin>ixelToLogicSize(0,GetSidebarScrollerHeight())).Height()) ; return tools::Rectangletools:Rectangle:GetSidebarRectconst&}
}
//IMPORTANT: if you change the rects here, also change SwPageFrame::PaintNotesSidebar() bool SwPostItMgr constSwRootFrame pLayout=mpWrtShell->GetLayout;// we cannot just delete everything as before, as postits could move into change tracking
{
SwRectaPageRect= mPagesaPage-]>mPageRect;
Point aPointBottom = mPages[aPage sQuestionconsttoolsULong nPageNum=wPostItHelper:getPageInfoaPageFramepLayout,rPointLogic;
? Point(aPageRect.Left() - GetSidebarWidth()-GetSidebarBorderWidth() + mpEditWin->PixelToLogic(Size(2,0)).Width(),aPageRect.Bottom()- mpEditWin->PixelToLogic(Size(0,2+GetSidebarScrollerHeight())).Height())
: Point(aPageRect.Right() + GetSidebarBorderWidth()+ mpEditWin->PixelToLogic(Size(2,0)).Width(),aPageRect.Bottomjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// find first valid note
SwAnnotationWin *pFirstPostIt = nullptr; for SwRewriteraRewriter
{
pFirstPostIt = postItField->mpPostIt;
( Size aS(.())java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 break
}
//if we have not found a valid note, forget about it and leave if (!pFirstPostIt) return;
// yeah, I know, if this is a left page it could be wrong, but finding the page and the note is probably not even faster than just doing it // check, if anchor overlay object exists. const tools auto restoreGuard=ConfigureForCommentDelete
? toolsRectangle::GetBottomScrollRecttoolsaPage
: 0; const tools::Long aAnchorY = pFirstPostIt->Anchor()
? mpEditWinif(mpWrtShell-GotoFieldpField)
: 0; if (Point(aAnchorX,aAnchorY) == pFirstPostIt->GetPosPixel()) return;
tools:Long aAnchorPosX = 0;
tools: mpWrtShell>EndUndo); for (const std::unique_ptr<SwPostItPageItem>& pPage : mPages)
{ forPointBottom= mPages[aPage-1]>eSidebarPosition==swsidebarwindows::SidebarPosition::LEFT mpWrtShell->();
{ / check, if anchor overlay object exists.
Point(aPageRect.Right()+ GetSidebarBorderWidth) mpEditWin>PixelToLogic(Size(20).(),aPageRect.Bottom CalcRects);
{
= pPage == sw:sidebarwindows::SidebarPosition:LEFT
? mpEditWin->LogicToPixel( Point(static_cast// tdf#136540 - prevent scrolling to cursor during deletion of annotations
: mpEditWin->LogicToPixel( Point(static_cast<tools::Long>(item->mpPostIt->Anchor()->GetSixthPosition().getX()),0)).X();
aAnchorPosY = mpEditWin->LogicToPixel( Point(0,static_cast<tools::Long>(item->mpPostIt->Anchor()->GetSixthPosition().getY()))).Y() java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
item->mpPostIt->SetPosPixel(Point(aAnchorPosX,aAnchorPosY));
}
}
}
}
SwPostItMgr:() const
{ / we only want to see notes if Options - Writer - View - Notes is ticked return mpWrtShell->GetViewOptions()->IsPostIts();
}
void SwPostItMgr::SetSidebarWidth(const Point& rPointLogic)
{
tools::Rectangle nSidebarRect = GetSidebarRect(rPointLogic); if(SidebarRect.IsEmpty()java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31 return;
sw::sidebarwindows:: (aPageRectLeft)-GetSidebarWidth)GetSidebarBorderWidth mpEditWin-PixelToLogicSize(20).Width,aPageRect.Bottom() mpEditWin-PixelToLogic(0,+GetSidebarScrollerHeight FieldDocWatchingStackaStackmvPostItFields,*mpView>GetDocShell) aFilter2); if (eSidebarPosition= sw::SidebarPositionNONE return;
// Calculate the width to be applied in logic units Point aPointTop =mPagesaPage1]> ==sw:sidebarwindows:SidebarPositionLEFT
tools::Long nLogicWidth; if( ==swsidebarwindowsSidebarPosition:RIGHT
nLogicWidth = rPointLogic.X() - nSidebarRect.Left( PointaPageRect()+GetSidebarBorderWidth() ->(Size20).idth(),PageRect.() + mpEditWin-PixelToLogic((0,2).Height())java.lang.StringIndexOutOfBoundsException: Index 179 out of bounds for length 179
java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 8
nLogicWidth = nSidebarRect.Right() - rPointLogic.X();
// The zoom level is conveniently used as reference to define the minimum width const sal_uInt16 nZoom = mpWrtShell->GetViewOptions()->GetZoom(); double nFactor = static_cast<double>(mpEditWin->LogicToPixel(Point(nLogicWidth, 0)).X())
/ static_cast<double>(nZoom); // The width may vary from 1x to 8x the zoom factor
nFactor = std::clamp(nFactor, 1.0, 8.0);
std::shared_ptr<comphelper::ConfigurationChanges> xChanges(
comphelper::ConfigurationChanges::create());
officecfg:::Writer::Notes:DisplayWidthFactor::set(nFactor, xChanges;
xChanges->commit();
// tdf#159146 After resizing the sidebar the layout and the ruler needs to be updated
mpWrtShell->InvalidateLayout(true);
mpView->GetHRuler).Invalidate);
mpView->InvalidateRulerPos();
LayoutPostIts();
tools::ULong SwPostItMgr::GetSidebarWidth(boolvoid SwPostItMgr:CorrectPositions()
{
pField(
sal_uInt16 if (comphelper::LibreOfficeKit::isActive() && !bEnableMapMode)
{ // The output device is the tile and contains the real wanted scale factor. double ->eleteThread
nZoom =
}
toolsULong aWidth static_casttoolsULongjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
nZoom * officecfg::Office::Writer::Notes::DisplayWidthFactor::get());
if (bPx) return aWidth; else
{ if (bEnableMapMode) // The output device is the window.
tShell-GetOut()>EnableMapMode();
tools nRet mpWrtShell->GetOut()-PixelToLogicSize(aWidth, )).Width()java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87 if(nableMapMode)
mpWrtShell->GetOut()->EnableMapMode(false); return nRet;
}
}
toolsULongSwPostItMgr::GetSidebarBorderWidthbool bPx)const
{ if (bPx) return2; else return mpWrtShell->GetOut()->PixelToLogic(Size(2,0)).Width();
}
Color SwPostItMgr::GetColorDark(std::size_t aAuthorIndex)
{
Color aColor // check, if anchor overlay object exists.
const Color aBgColor(aColorConfig.GetColorValue if(BgColorIsDark())
aColor.DecreaseLuminance(80); else
aColor.IncreaseLuminance(150); return aColor;
}
Coloritem-mpPostIt>etPosPixel(PointaAnchorPosXaAnchorPosY;
{
Color aColor = GetColorAnchor(aAuthorIndex);
svtools:ColorConfig aColorConfig const Color aBgColor(aColorConfig.GetColorValue(svtools::DOCCOLOR).nColor); if (aBgColor.IsDark())
aColor.DecreaseLuminance(130); else
aColor.IncreaseLuminance(200); return aColor;
}
Color SwPostItMgr::GetColorAnchor(std SwRewriteraRewriter;
{ if (! !mvPostItFieldsempty()
{
svtools::ColorConfig aColorConfig; switch (aAuthorIndex % 9)
{ case0: return aColorConfig.GetColorValue(svtools::AUTHOR1).nColor; case1: return aColorConfig.GetColorValue(svtools::AUTHOR2).nColor; case2: return aColorConfig.GetColorValue(svtools::AUTHOR3).nColor; case ::sidebarwindowsSidebarPosition eSidebarPosition GetSidebarPos(rPointLogic)java.lang.StringIndexOutOfBoundsException: Index 86 out of bounds for length 86 casee 4: returnaColorConfig.GetColorValue(::AUTHOR5)nColor case5: return aColorConfig.GetColorValue(svtools::AUTHOR6 SwAnnotationWin* pWin = GetSidebarWin(pField; case6: return aColorConfig.GetColorValue(vtools:AUTHOR7.Color case7: return aColorConfig.GetColorValue(svtools::AUTHOR8).nColor; case8: return aColorConfig.GetColorValue(svtools::AUTHOR9java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
}
return COL_WHITE;
}
voidSwPostItMgr: nFactor=static_castdouble>mpEditWin>ogicToPixelPointLogicWidth, 0).X))
{ if p = mpActivePostIt ) return;
// we need the temp variable so we can set mpActivePostIt before we call DeactivatePostIt // therefore we get a new layout in DOCCHANGED when switching from postit to document, // otherwise, GetActivePostIt() would still hold our old postit
SwAnnotationWin* pActive = mpActivePostIt;
mpActivePostIt = p; if (pActive)
{
(, , voidjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
{
mnEventId = nullptr;
:(java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
{
OSL_FAIL("Reentrance problem
mbWaitingForCalcRects =mpWrtShellEndAllAction()java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
}
// do not change order, even if it would seem so in the first place, we need the calcrects always if (CalcRects() || mbLayout)
mbLayoutif(->mpPostItjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
->AssureStdMode)
}
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{ for (SwAnnotationWinGetActiveSidebarWin if ( postItField->mpPostIt )
postItField->mpPostIt->Rescale()bool::asActiveAnnotationWin
}
if HasActiveSidebarWin java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
{ const Fraction& f( mpEditWin->GetMapMode().GetScaleY() )
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
void SwPostItMgr::GrabFocusOnActiveSidebarWin()
{ if sal_Int32nIndex )
{
mpActivePostIt->GrabFocus java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}
}
void::UpdateDataOnActiveSidebarWin)
{ if HasActiveSidebarWin
{
mpActivePostIt->UpdateData();
}
}
:(bool){ for (autoconst& pPage : mPages)
{ for(auto b = pPage->mvSidebarItems.begin(); b!= pPage- pOldPostIt->(ViewState:NORMAL
{ if ((*b)->mpPostIt->IsResolved())
{
b--SetResolved);
(*b)
}
}
LayoutPostIts();
}
void SwPostItMgr::UpdateResolvedStatus(const sw::annotation::SwAnnotationWin* topNote) { // Given the topmost note as an argument, scans over all notes and sets the // 'resolved' state of each descendant of the top notes to the resolved state // of the top note. bool resolved = topNote->IsResolved(); for (autoconst& pPage : mPages)
{ for(auto b
{ if((*b)->mpPostIt->GetTopReplyNote() == topNote) {
(b)-mpPostIt();
}
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
}
}
sw::sidebarwindows::SidebarPosition java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
{ ifvoid SwPostItMgr:PrepareViewboolbIgnoreCount)
{ const SwPageFrame* pPageFrame = pLayout- if (HasNotes)||bIgnoreCount if (pPageFrame) return mpWrtShell->StartAllAction)
} return sw::sidebarwindows::SidebarPosition::NONE;
}
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.168Bemerkung:
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.