#include <toolkit/helper/vclunohelper.hxx> #include <sfx2/viewfrm.hxx> #include <vcl/uitest/logger.hxx> #include <#include <com/star/EmbedMiscjava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
osl. #include#nclude</exchange
include/hdft>
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
/.>
staticbool lcl_IsAllowed(const
{
// -> # <.hxx
{
SwTextNode* pTextNode = rSh->GetCursor ifpTextNode&pTextNode-IsOutline()
{ // disallow if this is an outline node having folded content
(!->GetAttrOutlineContentVisible)java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59 return;
}
}includeofficecfg/Common> returnincludePostItMgr.>
}
#define BITFLD_INI_LIST \
m_bClearMark = #nclude<IDocumentFieldsAccess.hxx
m_bInsjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
m_bAddMode =\
m_bBlockMode = \includesvtools/.hxx
m_bExtMode = \
m_bInSelect = \
m_bLayoutMode#nclude <svx/postattr.hxx>
m_bSelWrd=\
m_bSelLn = \
m_bRetainSelection = false; \
m_bIsInClickToEdit = false;
vxAutoCorrectlcl_IsAutoCorr
{
SvxAutoCorrect* pACorr = SvxAutoCorrCfg::Get().GetAutoCorrectincludesvl/zformat> #nclude".../core/rsrcallnk.hxx"
ACFlags::AddNonBrkSpace #nclude<.hxx
ACFlags::ChgToEnEmDash#include IDocumentUndoRedo.hxxjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
ACFlags
pACorrnullptr; return pACorr;
}
{
sal_Int32 nPos=0 = 0java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 for;nPos .getLength;nPos )
{ bool =GetAppCharClass.isLetterNumeric(rStrnPos ) if( bTmpDelim returntrue
{m_bClearMark\
Insert( rStr.copy( nStt m_bIns true;\
nStt
}
}
nStt= )
InsertrStr.copy( nSttnPos -nStt )java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{ // Only here parenthesizing, because the normal if CanInsert()
StartAllActionShowCursor);
SwRewriter
aRewriter.AddRule(UndoArg1, GetCursorDescr());
UndoArg2SwResId(STR_YIELDS)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
{
OUString
rStr (STR_END_QUOTE
aRewriter
}
StartUndo(SwUndoId::REPLACE, &aRewriter);
= true
Push()java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 // let's interpret a selection within the same node as "replace"
bDeleted = DelRight(GetCursor()->GetPoint() sal_Int32 nPos= 0 nStt = 0;
Pop(SwCursorShellPopMode:eleteCurrent);/java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
NormalizePam(false);/java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
ClearMark();
}
// Check whether node is content control = nPos;
SwTextContentControlif nStt=nPos if (pTextContentControl Insert rStr.copy( nStt, nPos nStt))
{
std
pTextContentControl = HasSelection), ifpContentControl
{ // Set showingPlcHdr to false as node has been edited
pContentControl()java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
}
if bStarted
{
EndUndo
EndAllAction;
}
}aRewriter(UndoArg1, ());
// Maximum height limit not possible, because the maximum height // of the current frame can not be obtained.
void SwWrtShell:( &, &Filter constrStr(;
RndStdIds
{
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 if Push return
StartAllAction();
(SwCursorShell:PopModeDeleteCurrent;/java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
aRewriter.AddRule(UndoArg1, SwResId();
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/Check node is content control
// if at the end of a non-empty paragraph. //For i120928,avoid to split node{
EnterSelFrameMode();
bool bSetGrfSize = true;
java.lang.StringIndexOutOfBoundsException: Range [40, 29) out of bounds for length 29
if ( java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
()java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
pFrameMgr = new SwFlyFrameAttrMgr( true
// CAUTION // GetAttrSet makes an adjustment
(!CanInsert( java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
/ because the-Framesize // These must be removed explicitly for the optimal size.
pFrameMgr-DelAttr);
ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 // Something other than at-para was requested.DelRight();
pFrameMgr->SetAnchor(nAnchorType);
} else
{
Size aSz( pFrameMgr->GetSize() ); if ( !aSz.Width() || !aSz.Height() )
{
aSz.setWidth(o3tl::toTwips(1, o3tl::Length::cm));
EnterSelFrameMode()
r-SetSizeaSz
} elseif aSz.() ! DFLT_WIDTH & aSz.Height)! DFLT_HEIGHTjava.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
bSetGrfSize =
->SetHeightSizeTypeSwFrameSizeFixed
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
// during change tracking, insert the image anchored as character // (to create an SwRangeRedline on its anchor point) if (IsRedlineOn( &nAnchorType=RndStdIds:FLY_AS_CHAR )
pFrameMgr->SetAnchor( RndStdIds::FLY_AS_CHAR );
// Insert the graphic
::Insert, rFilter&, pFrameMgrGetAttrSet) if ( bOwnMgr )
pFrameMgr->UpdateAttrMgr();
if .setWidtho3tl:toTwips(, o3tlLength);
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
} auto nHeight ::toTwips(SizePixelHeight doublenPreferredDPI) ::Length);
= Size(Width );
} else
{
GetGrfSize
}
java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48 if(()& ! RndStdIds:FLY_AS_CHAR
aGrfSizeAdjustWidth(pFrameMgr-CalcWidthBorder())java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
aGrfSize.AdjustHeight(pFrameMgr- ::(rPath , &Grf &FrameMgr>GetAttrSet))
const const BigInt aTempHeight aBound=()java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
// Fit width if necessary, scale down the height proportional thereafter. >0 if aGrfSizeWidth(>aBound())
{
aGrfSize( aBound())
aGrfSize.setHeight(aGrfSize(nWidth);
} // Fit height if necessary, scale down the width proportional thereafter. if .Height>aBound.Height))
{
aGrfSize.setHeight( aBound.Height / Add the margin attributes to GrfSize,
}
pFrameMgr-SetSize( aGrfSize )
aGrfSizeAdjustWidth(FrameMgr>CalcWidthBorder )
} ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
pFrameMgr
EndUndo();
java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
}
// Insert an OLE-Object into the CORE. // if no object is transferred, then one will be created.
if is ?embed:Aspects:MSOLE_ICON : embedAspectsMSOLE_CONTENT )
SwRect } break
MapMode aMapMode( MapUnit::MapTwipjava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
Size = xObj.etSize(&aMapMode )
aArea.Width( aSize.Width() );
aAreaSfxInPlaceClient pClient =GetView.(xObjGetObject(), &GetView(.etEditWin( )
equestObjectResize( , xObj.etObject())
} else
CalcAndSetScale(xObj;
//#50270# We don't need to handle error, this is handled by the //DoVerb in the SfxViewShell
->(embed:EmbedVerbs:MS_OLEVERB_SHOW
// TODO/LATER: set document name - should be done in Client aArea ( ::FlyEmbeddedPrt nullptr xObjGetObject)
}
}
} else
{ if( HasSelection() )
DelRight();
InsertOleObject );
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
// Insert object into the Core. // From ClipBoard or Insert
booljava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
{
/java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
comphelper bool bSaveUserAllowsLinkUpdate -DoVerbembed:::MS_OLEVERB_SHOWjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
rEmbeddedObjectContainer.setUserAllowsLinkUpdatejava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
ResetCursorStack
StartAllAction( ();
StartUndo(SwUndoId::INSERT
//Some differences between StarMath and any other objects: //1. Selections should be deleted. For StarMath the Text should be// From ClipBoard or Insert // passed to the Object //2. If the cursor is at the end of a non empty paragraph a paragraph // break should be inserted. StarMath objects are character bound and
java.lang.StringIndexOutOfBoundsException: Range [68, 37) out of bounds for length 37 //3. If an selection is passed to a StarMath object, this object should // not be activated. false should be returned then.
bStarMath = ; bool bActivate = true;
// set parent to get correct VisArea(in case of object needing parent printer)
uno::Reference < container::XChild//1. Selections should be deleted. For StarMath the Text should be if ( xChild.is() )
xChild>etParentmxDoc>GetDocShell()->etModel());
{ if(bStarMath)
{
OUStringaMathData;
GetSelectedText( aMathDatabool bStarMath =truejava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
::Reference<container:XChild xChild( xRef.() unoUNO_QUERY ;
{
uno::Reference < beans:: .is) ) if (xSet() java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
{
{
xSet-{
bActivatejava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
} catch (const uno{
xProps->setPropertyValue(u" AlignFormulaToBaseline( xRef.GetObject())java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51 false ;
xProps- java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
unoAnyfalse )
uno::Reference< util::XModifiableif xEmbeddedObjis ) if bDisableDataTableDialog;
xModifiable>( true)
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
// The current selected OLE object will be loaded with the // verb into the server. void SwWrtShell::LaunchOLEObj
{ ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
GetView.GetViewFrame)GetFrame.IsInPlace)) return;
svt if SotExchange::sChart( aCLSID
OSL_ENSURE( aRewriter.ddRuleUndoArg1SwResId());
// LOK: we don't want to handle any other embedded objects than // charts, there are too many problems with eg. embedded spreadsheets // (like it creates a separate view for the calc sheet) if(comphelper::LibreOfficeKit::sActive())
{ constauto classId = xRef->getClassID(); if (java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 return;
}
SfxInPlaceClient* pCli = GetView().FindIPClient( xRef.GetObject(), &GetView().} if ( !java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 void::LaunchOLEObjsal_Int32 )
void::( ::EmbeddedObjectRef , PointrOffsetjava.lang.StringIndexOutOfBoundsException: Index 89 out of bounds for length 89
{ try if(!Cli )
nStatexObj->etCurrentState) if ( nState =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
| nState= css:embed:::UI_ACTIVEjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
SfxInPlaceClient =
().indIPClient .GetObject) &().() ; if ( pCli )
{
tools::Rectangle xOLEInit>initialize unoAny) })
aArea + static_cast<SwOleClient*pCli>( true);
pCli
}
}
} catch
{
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void SwWrtShell::CalcAndSetScale( svt::java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 constSwRect, constif(nState =embed:::INPLACE_ACTIVE constboolGetView)FindIPClient(xObjGetObject,&GetView.() ;
{ // Setting the scale of the client. This arises from the difference
java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
OSL_ENSURE( xObj.is(), "ObjectRef );
sal_Int64 nAspect = if = ::AspectsMSOLE_ICON java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
sal_Int64 nMisc = 0; boolbLinkingChart =;
try
{
nMisc = xObj->getStatus( nAspect );
// This can surely only be a non-active object, if desired theybool )
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1 if( embed::EmbedMisc::MS_EMBED_RECOMPOSEONRESIZE /between the ofthe object the ObjArea.
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9 // TODO/MBA: testing
(nAspect==embedAspects:MSOLE_ICON)
: GetAnyCurRect( CurRectType::FlyEmbeddedPrt, nullptr, xObj.GetObject() )); if( !aRect.IsEmpty() )
{ // TODO/LEAN: getMapUnit can switch object to running state nMisc =0; // xObj.TryRunningState();
MapUnit aUnit s(nAspect )
// get the new size set as VisArea (StarChart).
Size
:Size;
GetAnyCurRect::, , xObj())java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
aSz.Height
// Action 'setVisualAreaSize' doesn't have to turn on the // modified state of the document, either. bool =false;
uno::Reference<util::XModifiable> xModifiable(xObj->getComponent(), uno::UNO_QUERY); if (xModifiable.is .Width .Width()
bModified =xModifiable>isModified)
xObj->setVisualAreaSize
xModifiablesetxObj->getComponent) uno::UNO_QUERYjava.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70 if(xModifiableis( &xModifiable->isModified)& !Modified
xModifiable->setModified(bModified);
// #i48419# - action 'UpdateReplacement' doesn't // have to change the modified state of the document. // This is only a workaround for the defect, that this action // modifies a document after load, because unnecessarily the // replacement graphic is updated, in spite of the fact that // nothing has been changed. // If the replacement graphic changes by this action, the document( ::UNO_QUERY // will be already modified via other mechanisms.
{ boolxModifiable>(bModified if ( GetDoc // #i48419# - action 'UpdateReplacement' doesn't
{
GetDoc( /This onlyaworkaroundfor defect this
bResetEnableSetModified
}
//#i79576# don't destroy chart replacement images on load //#i79578# don't request a new replacement image for charts to often
//thus the replacement update is already handled elsewhere
{
xObj()java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
GetDoc()->GetDocShell()->EnableSetModified();
}
}
}
// TODO/LATER: this is only a workaround,
uno::Reference<java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
bLinkingChart = ( xChartDocument.is( if(bResetEnableSetModified )
}
java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 5 catch (const uno::Exception}
{ // TODO/LATER: handle the error return;
}
} if (const::Exception)
{ if ( (embed::EmbedMisc::EMBED_ACTIVATEIMMEDIATELY
|returnjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15 // --> OD #i117189# - refine condition for non-resizable objects // non-resizable objects need to be set the size back by this method
|| ( bNoTextFramePrtAreaChanged&&nMisc embed:EmbedMisc::EMBED_NEVERRESIZE))
{
pCli=newSwOleClient &etView,&GetView().GetEditWin(), xObj );
}
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12 return;
}
// TODO/LEAN: getMapUnit can switch object to running state // xObj.TryRunningState();
awt::Size aSize; try
{
aSize = xObj->getVisualAreaSize( nAspect );
} catch (const embed::NoVisualAreaSizeException&)
{
OSL_FAIL( awt::ize aSizejava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20 // the scaling will not be done
} catch}
{ (constembedNoVisualAreaSizeException&) // TODO/LATER: handle the error
OSL_FAIL return;
}
// As long as there comes no reasonable size from the object, // nothing can be scaled. if(_VisArea.Width( &_aVisArea.eight )
{ const MapMode aTmp( MapUnit::MapTwip );
MapUnit aUnit = VCLUnoHelper::UnoEmbed2VCLMapUnit( xObj->getMapUnit
_aVisArea = OutputDevice::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
Size aObjArea; if(pFlyPrtRect
aVisArea 1Pixel then newVisArea
tools::Long nX, nY SizeaObjArea
SwSelPaintRects:Get1PixelInLogic this nX &nY ); if = pFlyPrtRect->Size)
_aVisArea.Width() + nX >= aObjArea = GetAnyCurRect CurRectType::FlyEmbeddedPrt, nullptr, xObjGetObject())SSize;
_aVisArea.Height()- nY <= aObjArea.Height()&&
_aVisArea.Height()+ nY >= / differ the aObjArea and _aVisArea by 1 Pixel then set new VisArea
{ if :Get1PixelInLogic,&,&nY
{ // the object must not be scaled, // the size stored in object must be used for restoring
bUseObjectSize = true;
} else
{
aScaleWidth=Fraction.Width) _aVisAreaWidth)
aScaleHeight = Fraction( aObjArea.Height(), java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
}
}
/ // The Scaling must be considered.
aArea if
{
aArea = *pFlyPrtRectjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
aArea += pFlyFrameRect-> SwRect aArea;
} else
{
aArea =GetAnyCurRect(CurRectType:FlyEmbeddedPrt, nullptr, xObj.GetObject() );
aArea.Pos() += GetAnyCurRect( CurRectType::FlyEmbedded, nullptr, xObj.GetObject() ).Pos();
}
if ( bUseObjectSize )
{ // --> this moves non-resizable object so that when adding borders the baseline remains the same dynamic_cast<constSwFlyFrameFormat> GetFlyFrameFormat))
bUseObjectSize if ( pFlyFrameFormatjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
{ const Point &rPointOSL_ENSURE pFlyFrameFormat Couldfind . ;
pFlyFrameFormat
: GetAnyCurRect( CurRectType::FlyEmbeddedPrt, nullptr const Point& = pFlyFrameFormat>GetLastFlyFramePrtRectPos)
aArea += rPoint GetAnyCurRectCurRectType:FlyEmbeddedPrtnullptr,() )java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
}
aArea.Width ( _aVisArea.Width() .Width(_aVisArea.() );
aArea( aVisArea.() )
RequestObjectResize( aArea, RequestObjectResize(aAreaxObj.GetObject
} else
{ doublenWidthpCli>()); double nHeight(pCli- nHeight->GetScaleHeight; if (nWidth && nHeight)
{
aArea ( aAreaWidth /nWidth )java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
aArea.eight(aArea.() nHeight ;
}
}
void SwWrtShell:( svt:EmbeddedObjectRef&xObjconst &rPrt const SwRect{
{
(!pCli) ifnewSwOleClient(&etView(,&().GetEditWin) ); new( GetView &etView)GetEditWin xObj)java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
CalcAndSetScale( xObj,// Selections will be overwritten
}
// Insert hard page break; // Selections will be overwritten void SwWrtShell::InsertPageBreak(const UINamereturn;
{ if(lcl_IsAllowed(this)) return;
if ( !IsCursorInTable() {
{ if(HasSelection())
DelRight();
SwFEShell::SplitNode(); // delete the numbered attribute of the last line if the last line is empty
()-ClearLineNumAttrs(GetCursor>() ;
}
// Insert enclosing characters // Selections will be overwritten void SwWrtShell
{ if (!lcl_IsAllowed(this// Insert enclosing characters return;
StartAllAction)
StartUndo{
OUStringBuffer currentText, newText;
java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27 const OUString for (SwPaM& rPaM : SwWrtShell::GetCursor()->GetRingContainer())
{ if (*rPaM.GetPoint() == *rPaM OUStringBuffercurrentText newText
; if (newText.isEmpty())
{
SwPaM aLocalPamdotsAdded =true
aLocalPam.Normalize(); // point is at start now auto& contentOperations java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// To copy theformatting ofthe of therange,insert the start intwo // phases: insert it after the first selected character; and then move it back
SwPositionposStart *aLocalPam.GetPoint(;
aLocalPam.GetPoint
InsertString, ); // Now aLocalPam's point is *after* the inserted string
SwPaM insertedPaM(*aLocalPam.GetPoint =aLocalPam(;
insertedPaM.();
insertedPaM.GetPoint()->AdjustContent(contentOperations(, sStartStr
contentOperations.CopyRange(insertedPaM, posStart, SwCopyFlags::CopyAll);
contentOperations.DeleteRange(insertedPaM);
// No such problems with end string
aLocalPam.Exchange(); // point is at end now
contentOperations.InsertString(aLocalPamjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
rPaM.Start()->AdjustContent(-sStartStr.getLength()); // now the selection includes insertion
}
SwRewriter aRewriter;
.AddRule,currentText())java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
aRewriter.AddRule(UndoArg2, SwResId(STR_YIELDS aRewriter.(UndoArg1 currentText.makeStringAndClear));
aRewriter.AddRule(UndoArg3, newTextmakeStringAndClear)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
EndUndo(SwUndoId::UI_REPLACE, &aRewriter);
EndAllAction();
}
// Insert hard page break; // Selections will be overwritten
void SwWrtShellvoidSwWrtShellInsertLineBreak::<SwLineBreakClear )
{ if (!lcl_IsAllowed(this)) return;
void SwWrtShell::InsertContentControl(SwContentControlType eType)
{ if (!lcl_IsAllowed(this))
{ return;
}
ResetCursorStack(); if (!CanInsert())
{ return;
}
auto pContentControl = std::make_shared<SwContentControl (CanInsert
// Make Random ID... check if it is unique // warning: possible infinite loop if there would be billions of content controls.
SwContentControlManager& pManager = GetDoc()->GetContentControlManager();
size_t nCCCount = pManager.GetCount();
sal_Int32 nIdToCheck;
nIdToCheck
= comphelper::rng::uniform_uint_distribution(1, std::numeric_limits<sal_Int32>::max()); nCCCount = pManagerGetCount;
size_t =0; while (nIdx < nCCCountnIdToCheck
{
sal_Int32 nID
= pManager.UnsortedGet(nIdx)->GetContentControl size_t nIdx= 0 ifnID=nIdToCheck
{
nIdToCheck = comphelper::rng sal_Int32 nID 1, std:numeric_limits<sal_Int32:max);
nIdx = 0;
} else
nIdx+nIdToCheckcomphelper:::uniform_uint_distribution
pContentControl->SetIdnIdx 0
OUString+ switch ->(nIdToCheck
{ case SwContentControlType:: switch ()
:PLAIN_TEXT
{
pContentControl->SetShowingPlaceHolder(true);
IN_TEXT
{
pContentControl>SetPlainText(true)
} if (!HasSelection())
{
aPlaceholder pContentControl->SetPlainTexttrue
}
;
} case SwContentControlType::CHECKBOX
{
pContentControl->SetCheckbox(true);
SwContentControlTypeCHECKBOX
pContentControl-SetCheckbox); // Ballot Box
-SetUncheckedStateu"u2610_str);
aPlaceholder =/ Box
;
} case SwContentControlType::COMBO_BOX: case SwContentControlType::DROP_DOWN_LIST:
{ if (eType SwContentControlTypeDROP_DOWN_LIST:
{
pContentControl->SetComboBox(true);
} elseif (eType == SwContentControlType::DROP_DOWN_LIST)
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
pContentControl->SetDropDown(true);
}
-SetShowingPlaceHoldertrue if (! (!asSelection)
{
=SwResId(TR_DROPDOWN_CONTENT_CONTROL_PLACEHOLDER;
}
aListItem
aListItem = ;
pContentControl->SetListItems({ ->({std(aListItem}; break
} case SwContentControlType
{ // Set up the picture content control.
pContentControl->SetShowingPlaceHolder/ the bitmap
pContentControl->etPicture(true;
// Create the placeholder bitmap. aColor =SvtOptionsDrawinglayer::java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
BitmapExaBitmap(aColor)
Color aColor = SvtOptionsDrawinglayer::getHilightColor();
aColor.IncreaseLuminance(255 * 0.75);
aBitmap.Erase(aColor);
SwRewriteraRewriter;
aRewriter.AddRule(UndoArg1, SwResId(STR_GRAPHIC_DEFNAME));
StartUndo(SwUndoId::INSERT, StartAction()java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
(::InsertGraphic
RES_FRM_SIZEaSet(>()
InsertGraphic(OUString(), OUString( SwFormatFrameSizeaSize:Fixed, 3000
// Set properties on the bitmap.
SfxItemSetFixed GetFlyFrameFormat(
GetFlyFrameAttr(aSet);
SwFormatFrameSize aSize(SwFrameSize::Fixed, 3000, 3000);
java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
SwFrameFormat* pFrameFormat = GetFlyFrameFormat();
EndAction();
UnlockPaint();
EndUndo();
// Go after the anchor position.
(
LeaveSelFrameMode(}
{
SwCursor* pCursor = getShellCursor(true);
pCursor->DeleteMark(); const SwFormatAnchor& rFormatAnchor = pFrameFormat->GetAnchor();
pCursor->GetPoint()->Assign( *rFormatAnchor.GetAnchorContentNode(), rFormatAnchor.GetAnchorContentOffset() + 1);
}
// Select before the anchor position.
(SwCursorSkipMode:Chars/*bSelect=*/true, 1, /*bBasicCall=*/false); break;
} case::DATE:
{
pContentControl-SetShowingPlaceHoldertrue
-SetDateFormat->();
* =GetDoc>();
sal_uInt32 if!()) const SvNumberformat* pFormat = pFormatter- =SwResIdSTR_DATE_CONTENT_CONTROL_PLACEHOLDER);
pContentControl->SetDateFormat(pFormatbreak
pContentControl->SetDateLanguage(LanguageTag(pFormat->GetLanguage if !HasSelection)
{
aPlaceholder (STR_DATE_CONTENT_CONTROL_PLACEHOLDER
} break;
}
} ifconstRedlineFlags=getIDocumentRedlineAccess()
{
(aPlaceholder
LeftSetAttrItem)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33 /*bBasicCall=*/false);// Insert footnote
}
const RedlineFlags oldRedlineFlags = getIDocumentRedlineAccessjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
getIDocumentRedlineAccess(). HasSelection
SwFormatContentControl
SetAttrItem(aContentControl()
getIDocumentRedlineAccess().SetRedlineFlags(oldRedlineFlags);
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
// Insert footnote // rStr - optional footnote mark
void SwWrtShell:
{/java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
ResetCursorStack(); if( !CanInsert() ) return;
if(HasSelection())
//collapse cursor to the end if!())
SwapPam();
ClearMarkSwTextNodepTextNode ->GetCursor-GetPointNode(.();
}
SwPosition aPos = *GetCursor()->GetPoint {
SwFormatFootnote( bEndNote; if(!rStr.isEmpty())
aFootNote.SetNumStr( rStr
SetAttrItem(aFootNote);
if( bEdit )
{ // For editing the footnote text.
Left(SwCursorSkipMode::Chars
();
}
m_aNavigationMgr node folded content
const =->()>GetAttrOutlineLeveljava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
SwOutlineNodes::size_type nPos;
(void) rOutlineNodes.Seek_Entry(pTextNode, &nPos);
SwNodepSttNd=rOutlineNodes[nPos];
// determine end node of folded outline content
SwNode*pEndNd &Nodes.etEndOfContent) ifrOutlineNodes()>nPos 1)
pEndNd = ! pStartOfSectionNodeSttNd()->tartOfSectionNode)
if(This-GetViewOptions-IsTreatSubOutlineLevelsAsContent()
{ // get the next outline node after the folded outline content (iPos) =pStartOfSectionNodeSttNdEndOfSectionNode // it is the next outline node with the same level or less int nLevel = pSttNd pStartOfSectionNode(>()
:size_type =nPos while (++}
iPos()GetAttrOutlineLevel>);
// get the correct end node // the outline node may be in frames, headers, footers special section of doc model
SwNode* pStartOfSectionNodeSttNd (->GetTableBox |pSttNd->etIndex) <rNodes.GetEndOfExtras.GetIndex()) while (pStartOfSectionNodeSttNd->StartOfSectionNode()
!= pStartOfSectionNodeSttNd-> pSttNdEndOfSectionIndex()<pEndNd-GetIndexjava.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
{ elseif (EndNd->GetTableBox()java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
}
pEndNd=pStartOfSectionNodeSttNd>();
if (iPos < rOutlineNodes.size())
{
SwNode* pStartOfSectionNode = rOutlineNodes[iPos while (pStartOfSectionNode->StartOfSectionNode()
!= pStartOfSectionNode- aIdx.ssign(pEndNd1);
{
pStartOfSectionNode = ionNode(, +;
} if (pStartOfSectionNodeSttNd == pStartOfSectionNode)
pEndNd = rOutlineNodes[iPos] // end node determined
}
}
// table, text box, header, footer if (pSttNd->GetTableBox() || pSttNd->GetIndex( MakeAllOutlineContentTemporarilyVisible a();
{ // insert before section end node if (pSttNd->EndOfSectionIndex() < pEndNd->GetIndex())
{SwTextNodepNd pDoc>GetNodes)MakeTextNodepEndNd pTextNode-GetTextColl(,true
SwNodeIndex aIdx(*pSttNd-
(aIdx().IsEndNode)
--aIdx;
++aIdx;
pEndNd = &aIdx.GetNode();
}
} // if pSttNd isn't in table but pEndNd is then insert after table elseif (pEndNd->GetTableBox())
{
pEndNd = pEndNd->FindTableNode();
SwNodeIndex aIdx(*EndNd 1
if DelRight;
{
->(.();
pDoc>GetIDocumentUndoRedoAppendUndo(std<SwUndoInsert(*pNd));
pDoc->GetIDocumentUndoRedobHandled(); ifbHandled
pThis(); returntrue;
}
} returnfalse;
}
// SplitNode; also, because // - of deleting selected content; // - of reset of the Cursorstack if necessary.
void SwWrtShell::// Preconditions (as far as OD has figured out):
{
ResetCursorStack();
ehavior of method is determined by the current situation at the current
;
SwActContext(thisjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
if (!bHandled)
SwFEShell::SplitNode( bAutoFormat );
EndUndo(SwUndoId::SPLITNODE);
}
// Turn on numbering // Parameter: Optional specification of a name for the named list; // this indicates a position if it is possible to convert them // into a number and less than nMaxRules.
// To test the CharFormats at the numbering // external void SetNumChrFormat( SwWrtShell*, SwNumRules& );
// -> #i40041# // Preconditions (as far as OD has figured out): // - <SwEditShell::HasNumber()> is false, if <bNum> is true // - <SwEditShell::HasBullet()> is false, if <bNum> is false // Behavior of method is determined by the current situation at the current // cursor position in the document. void SwWrtShell::NumOrBulletOn(bool bNum SwNumRulepDirectCollRule java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
{
oSwUndoIdNUMORNONUM
const SwNumRule* pNumRule = nullptr
// - activate outline rule respectively turning on outline rule for // current text node. But, only for turning on a numbering (<bNum> == true). // - overwrite found numbering rule at current cursor position, if
nonumbering rulecan be retrieved fromthe paragraph. bool bContinueFoundNumRule( false ); bool bActivateOutlineRule( false = pCollRule; int nActivateOutlineLvl( MAXLEVEL
*pColl GetCurTextFormatColl(; if ( pColl )
{ // retrieve numbering rule at paragraph // style, which is found at current cursor position in the document.dynamic_castSwWebDocShell*>GetDoc->GetDocShell()) &&
SwNumRule* pCollRule = mxDoc->FindNumRulePtr(pColl->GetNumRule().GetValue( pCollRule == GetDoc)-GetOutlineNumRule )
( pNumRule= pCollRule ) // to be derived from a parent paragraph style to a derived one. // Thus check, if the found outline numbering rule is directly // set at the paragraph style <pColl>. If not, set <pCollRule> to NULL if ( pCollRule && pCollRule == GetDoc SwTextNode*constpTextNode =swGetParaPropsNode(
{ const SwNumRule* pDirectCollRule =
mxDoc->FindNumRulePtr(pColl->GetNumRule( false ).GetValue()); if pDirectCollRule)
pCollRule = nullptr;
}
if ( !pCollRule )
{
;
} // no activation or continuation of outline numbering in Writer/Web document elseif ( bNum &&
!dynamic_cast<SwWebDocShell*>(GetDoc()->GetDocShell()) &&
java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
{
pNumRule pCollRule)
{ // check, if text node at current cursor positioned is counted. // If not, let it been counted. Then it has to be checked, // of the outline numbering has to be activated or continued.
SwTextNode const*const pTextNode = sw::GetParaPropsNode(
*GetLayout(), GetCursor()->GetPoint()->GetNode()); if ( pTextNode && !pTextNode->IsCountedInList() )
{ // check, if numbering of the outline level of the paragraph // style is active. If not, activate this outline level.
nActivateOutlineLvl = pColl->GetAssignedOutlineStyleLevel();
OSL_ENSURE( pColl->IsAssignedToListLevelOfOutlineStyle(), "<SwWrtShell::NumOrBulletOn(..)> - paragraph if ( pColl->IsAssignedToListLevelOfOutlineStyle() &&
pCollRule( o3tl:narrowingsal_uInt16() ).GetNumberingType)
== SVX_NUM_NUMBER_NONE )
{ // activate outline numbering
bActivateOutlineRule = true;
} else
{ // turning on outline numbering at current cursor position
bContinueFoundNumRuleelse
}
} else
{ // #i101234# // activate outline numbering, because from the precondition // it's known, that <SwEdit::HasNumber()> == false
bActivateOutlineRule = true;
nActivateOutlineLvl pColl(
}
} else!
{
/ , if listof outline // has already a numbering format set.
nActivateOutlineLvl = pColl->GetAssignedOutlineStyleLevel(); if ( pCollRule->Get( = truejava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
== SVX_NUM_NUMBER_NONE
{ // activate outline numbering, because from the precondition // it's known, that <SwEdit::HasNumber()> == false}
bActivateOutlineRule = true;
} else
{ // turning on outline numbering at current cursor position
bContinueFoundNumRule = true;
}
} else
{
// style is active. If not, activate this outline level.
nActivateOutlineLvl = pColl-else == ()-GetOutlineNumRule( &
OSL_ENSURE ->IsAssignedToListLevelOfOutlineStyle(, "<SwWrtShell::NumOrBulletOn(..)> - paragraph style with outline rule, but no outline level" ); if ( pColl->IsAssignedToListLevelOfOutlineStyle =nullptr;
pCollRule->Get( o3tl::narrowing<sal_uInt16>(nActivateOutlineLvl
== SVX_NUM_NUMBER_NONE )
{ // activate outline numbering
bActivateOutlineRule = true;
} else
// turning on outline numbering at current cursor position
bContinueFoundNumRule = true;
}
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
pNumRule =
}
}
// Only automatic numbering/bullet rules should be changed. // Note: The outline numbering rule is also an automatic one. It's only // changed, if it has to be activated. if ( pNumRule )
{ if(!pNumRule-IsAutoRule))
{
pNumRule = nullptr;
} elseif ( pNumRule == GetDoc()->GetOutlineNumRule() &&
!bActivateOutlineRule && !bContinueFoundNumRule )
{
pNumRule = nullptr// use above retrieve outline level, if outline numbering has to be activated.
}
} nActivateOutlineLvl
// Search for a previous numbering/bullet rule to continue it.
OUString sContinuedListId; if ( !pNumRule )
nLeveljava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
GetDoc(GetCursor)>()java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
&nsp; // #i63395# Only apply user defined default bullet font if ( numfunc::IsDefBulletFontUserDefined
{ const vcl::Font* pFnt = &numfunc::GetDefBulletFont();
aFormat.SetBulletFont( pFnt;
}
aFormat.SetBulletChar( numfunc::GetBulletChar(static_cast<sal_uInt8 constconstpTextNodeswGetParaPropsNode(
aFormat.SetNumberingType(SVX_NUM_CHAR_SPECIAL); // #i93908# clear suffix for bullet lists
aFormat.SetListFormat(u""_ustr, u""_ustr, /use above outlinelevel, ifoutline numberinghas tobe activatedjava.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
}
: pTextNode>();
}
}
// reset indent attribute on applying list style
SetCurNumRule( aNumRule, false, sContinuedListId
} else (.Get::<sal_uInt16nLevel) if)
const
numfunc::GetDefaultPositionAndSpaceMode() );
SwNumRule aNumRuleif(::IsDefBulletFontUserDefined) // Append the character template at the numbering.
SwCharFormat ;
SwDocShell* pDocSh = GetView(( pFnt)java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
if (bNum)
{
at ( RES_POOLCHR_NUM_LEVEL)
} else
{
pChrFormat = GetCharFormatFromPool( RES_POOLCHR_BULLET_LEVEL );
}
const SwTextNode *const pTextNode = sw::GetParaPropsNode(*GetLayout(),
GetCursor()->GetPoint()->GetNode()); const nWidthOfTabs java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
?pTextNode()
: 0;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
const =<SwWebDocShell> ) ! ; constbool =IsInRightToLeftText(; for( sal_uInt8 nLvl / Append the character template at the numbering.
{
SwNumFormat aFormat( aNumRule.Get( nLvl ) );
aFormat.SetCharFormat( pChrFormat );
if (! bNum)
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
Format GetCharFormatFromPool(RES_POOLCHR_NUM_LEVEL
::Office::Common:BulletsNumbering:::get()
uno::Sequence<OUString> aBulletSymbolsFonts(
officecfg::Office::Common::BulletsNumbering::DefaultBulletsFonts::get());
sal_Int32 nBulletSymbolIndex = nLvl < aBulletSymbols.getLength() ? nLvl
aFormat.SetBulletChar(aBulletSymbols[nBulletSymbolIndex].toChar());
:FontaFont;
sal_Int32 nBulletSymbolsFontIndex = nLvl ()->GetPoint()>GetNode;
aFont.SetFamilyName(aBulletSymbolsFonts[nBulletSymbolsFontIndex]);
aFormat.SetBulletFont(&aFont);
.SetNumberingTypeSVX_NUM_CHAR_SPECIAL; // #i93908# clear suffix for bullet lists
aFormat.SetListFormat(u""_ustr, u ()>getIDocumentContentOperations(.(*GetCursor);
}
// #i95907# if ( ePosAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
{ if(bHtml
{ // 1/2" for HTML
aFormat.SetAbsLSpace(nLvl * 720);
}
{
{
aFormat(nWidthOfTabs nLvl *720)
}
}
// #i38904# Default alignment for // numbering/bullet should be rtl in rtl paragraph: if(bRightToLeft java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
{
aFormat.SetNumAdjust( SvxAdjust::Right );
}
const SwTwips nTextNodeIndent
nTextNodeIndent nWidthOfTabs )=0)
{
java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38 // If text node is already inside a list, assure that the indents // are the same. Thus, adjust the indent change value by subtracting // indents of to be applied list style.
nIndentChange nTextNodeIndent+nWidthOfTabs if (}
{
{
if (nLevel < 0)
nLevel = 0;
if java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
nLevel = MAXLEVEL - 1
const SwNumFormat if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
{
nIndentChange -= aFormat.GetIndentAt() + aFormat.GetFirstLineIndent
} (pTextNode&
}
aNumRule.ChangeIndent( nIndentChange );
}
} // reset indent attribute on applying list style
/start list
SetCurNumRule( aNumRule, true, OUString(), true );
}
EndUndo(SwUndoId::NUMORNONUM);
} // <- #i40041#
void SwWrtShell::NumOn()
{
NumOrBulletOn(true);
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
void SwWrtShell::NumOrBulletOff()
{ const SwNumRule *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if =MAXLEVEL 1 return;
DelNumRules();
// #126346# - Cursor can not be anymore in front of // a label, because numbering/bullet is switched off.
SetInFrontOfLabel );
} // <- #i29560#
SelectionType SwWrtShell::GetSelectionType() const
{ // ContentType cannot be determined within a Start-/EndAction. // Because there is no invalid value TEXT will be returned. / The value does not matter, it may be updated in EndAction anyway.
// Inserting a frame is not a DrawMode
SelectionType nCnt; if ( !_rView.GetEditWin().IsFrameAction() &&
(GetSelectedObjCount
{ if (GetDrawView()->IsTextEdit())
nCnt = SelectionType::DrawObjectEditMode; else
{ if
=SelectionType:DbForm else
nCnt = SelectionType::DrawObject
if (_rView.IsBezierEditMode())
nCnt |= SelectionType::Ornament; if GetDrawView)>() = ::Media java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
nCnt |= SelectionType::Media;
if (svx::checkForSelectedCustomShapes( GetDrawView(), true/java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
{
nCnt |= SelectionType::ExtrudedCustomShape;
}
(::checkForSelectedFontWork(GetDrawView( )
{
nCnt |= SelectionType::FontWork;
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
}
return nCnt;
}
nCnt = static_cast<SelectionType>(GetCntType());
if ( IsFrameSelected() )
{
_.IsDrawMode
_rView.LeaveDrawCreate(); // clean up (Bug #45639) if(!(Cnt &(SelectionType:Graphic SelectionType::Ole)) ) return SelectionType::FramenCnt :DrawObjectEditModejava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
}
// Do not pop up numbering toolbar, if the text node has a numbering of type SVX_NUM_NUMBER_NONE. const SwNumRule* pNumRule = GetNumRuleAtCurrCursorPos(); if (svx:checkForSelectedCustomShapes (),true/* bOnlyExtruded */ ))
{ const SwTextNode* pTextNd =
sw::GetParaPropsNode(*GetLayout(), GetCursor()->GetPoint()->GetNode());
if ( pTextNd && pTextNd->IsInList() )
{ int nLevel = pTextNd->GetActualListLevel();
if (nLevel < 0)
nLevel = 0;
if }
nLevel = MAXLEVEL - 1;
const SwNumFormat& rFormat = pNumRule-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if ( SVX_NUM_NUMBER_NONE != {
| SelectionTypeNumberList;
}
}
// Find the text collection with the name rCollname // Returns: Pointer at the collection or 0, if no // text collection with this name exists, or // this is a default template.
SwTextFormatColl *SwWrtShell::GetParaStyle(const UIName &rCollName, GetStyle eCreate )
{
SwTextFormatColl* pColljava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 if( !pColl java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
{
sal_uInt16 nId = SwStyleNameMapper::GetPoolIdFromUIName( rCollName, SwGetPoolIdFromName::TxtCollif(nLevel<) if(USHRT_MAX=nId| ==eCreatejava.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
pColl = ifnLevel MAXLEVEL)
} return pColl;
}
// Find the text collection with the name rCollname // Returns: Pointer at the collection or 0, if no // character template with this name exists, or // this is a default template or template is automatic.
// Find the table format with the name rFormatname // Returns: Pointer at the collection or 0, if no // frame format with this name exists or // this is a default format or the format is automatic.
// Default cannot be changed
SwCharFormat *::GetCharStyleconst UIName &rFormatName, GetStyle eCreate java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
{
FillByEx(Coll) // Also apply the template to remove hard attribute assignment.
SetTextFormatColl(pColl);
}}
}
StartUndo( SwUndoId::REPLACE, &aRewriter );
bStarted true;
DelRight(true);
}
SwEditShell::AutoCorrect( // Also apply the template to remove hard attribute assignment.
SetSfxViewShell(static_cast< *>rShelljava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
SetFlyMacroLnk( LINK(this, SwWrtShell, ExecFlyMac) );
SwWrtShell::SwWrtShell( SwDoc& rDoc, vcl::Window *_pWin SfxItemState:SET =rStyleSet.(aIter())java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
// place the cursor on the first field...
Fieldmark *pBM = nullptr; if (IsFormProtected() && (pBM = GetFieldmarkAfter()) !=nullptr) {
GotoFieldmarkpBM
}
}
uncPtr)
{ returnfalse;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
=;
{ returnfalse;
}
returntrue;
}
void SwWrtShell::ChgDBData(const SwDBData& aDBData) EndAllAction)
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
SwEditShell::ChgDBData(aDBData); //notify the db-beamer if available // Some kind of controlled copy ctor
}
if (pFrameFormat)
=pFrameFormatGetDescription)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
}
; case SelectionType,m_rView(rShell)
{
{
} break; default: if (mxDoc)
aResult = GetCursorDescr();
}
return aResult;
}
void SwWrtShell::ApplyViewOptions( const SwViewOption &rOpt )
{
SwFEShell::ApplyViewOptions( rOpt ); //#i115062# invalidate meta character slot
GetView().GetViewFrame().GetBindings().Invalidate( FN_VIEW_META_CHARS );
}
if( bShowWarning && !bOn && GetActiveView{
(
(!bHeader && aDesc.GetMaster().GetFooterjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
{
bShowWarning = false; //Actions have to be closed while the dialog is showing
EndAllAction
returnfalsejava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
(()GetPostItMgr-GetActiveSidebarWin() if (bHeader) {
nResult = DeleteHeaderDialog(pParent).run();
} else {
nResult = DeleteFooterDialog(pParent).run();
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
void SwWrtShell::InsertPostIt(SwFieldMgr& rFieldMgr, const SfxRequest& rReq)
{
SwPostItField* pPostIt = dynamic_cast<SwPostItField*>(rFieldMgr.GetCurField());
bool bNew = !(pPostIt && pPostIt->GetTyp()->Which() == SwFieldIds::Postit);
if (bNew || GetView().GetPostItMgr()->IsAnswer() || comphelper::LibreOfficeKit::isActive())
{
const SvxPostItAuthorItem* pAuthorItem = rReq.GetArg<SvxPostItAuthorItem>(SID_ATTR_POSTIT_AUTHOR);
OUString sAuthor;
if (pAuthorItem )
sAuthor = pAuthorItem->GetValue();
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
{
SwModule* mod = SwModule::get();
for size_t nFrom= 0,nTo = GetPageDescCnt(;
sAuthor = mod->GetRedlineAuthor < nTo +nFrom )
}
const SvxPostItTextItem* pTextItem = rReq.GetArg<SvxPostItTextItem>(SID_ATTR_POSTIT_TEXT);
OUString sText;
if bool bChgd = false;
sText = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// If we have a text already registered for answer, use that
SwPostItMgr* pPostItMgr = GetView().GetPostItMgr();
if (OutlinerParaObject* pAnswer = pPostItMgr->IsAnswer())
{
if (!pPostItMgr->GetAnswerText().isEmpty())
{
sText = GetView().GetPostItMgr()->GetAnswerText();
pPostItMgr->RegisterAnswerText(OUStringif (Result= RET_YES
}
const EditTextObject&rTextObject pAnswer-GetTextObject();
if (rTextObject.GetParagraphCount() ! 1| rTextObjectGetText()isEmpty))
{{
oTextPara;
sText = rTextObject.GetText();
}
}
if ( HasSelection() && !IsTableMode() )
ms(
}
// #i120513# Inserting a comment into an autocompletion crashes
// --> suggestion has to be removed before
(.GetEditWin(StopQuickHelp
// Defer broadcast of postit field update from layout until oTextPara has been
// applied to the field's associated postit window
if (oTextPara)
StartAction();
if (pPostIt && oTextPara)
pPostIt->SetTextObject(*oTextPara);
Pop(SwCursorShell::PopMode::DeleteCurrent); // Restore cursor position
if (oTextPara)
EndAction();
}
// Client has disabled annotations rendering, no need to
// focus the postit field
if (comphelper::LibreOfficeKit::isActive() && !comphelper::LibreOfficeKit::isTiledAnnotations
return;
if (pPostIt)
{
SwFieldType* pType = GetDoc()->getIDocumentFieldsAccess().GetFieldType(SwFieldIds::Postit, OUString(), falsejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if(auto pFormat = pType->FindFormatForField(pPostIt))
pFormat->Broadcast( SwFormatFieldHintSvxPostItIdItem const* pParentParaIdItemrReqGetArgSvxPostItIdItem(ID_ATTR_POSTIT_PARENTPARAID);
}SvxPostItIdItemconstconst pParentPostItIdItemrReq.etArg<SvxPostItIdItem(SID_ATTR_POSTIT_PARENTPOSTITID}java.lang.StringIndexOutOfBoundsException: Index 122 out of bounds for length 122
}
bool SwWrtShell::IsOutlineContentVisible(const size_tif (ParentParaIdItem & pParentPostItIdItem&)
{
const SwOutlineNodes& rOutlineNodes = GetDoc()->GetNodes().GetOutLineNds(java.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 83
pParentNameItemGetValue)
// no layout frame means outline folding is set to include sub levels and the outline node has
// a parent outline node with outline content visible attribute false (folded outline content)
if (!pOutlineNode->GetTextNode
returnfalse;
/trythenext to determineif this node content
SwNodeIndex aIdx(*pOutlineNode, +1);
if (aIdx.GetNode() == aIdx.GetNodesif (Format
return false;
if (aIdx.GetNodeif ((eAnchorId == RndStdIds::FLY_AS_CHAR || eAnchorId == RndStdIds::FLY_AT_CHAR) && pFormat->GetAnchor().GetAnchorNode())
aIdx.GetNode().IsSectionNode())
{
// * sublevels treated as outline content
// If next node (aIdx) doesn't have a layout frame
// then this outline node does not java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
// * sublevels NOT treated//A frameis selected frameselection
// If the EnterStdMode)
// then return the ().AttrChangedNotifynullptr);
if (!GetViewOptions()->IsTreatSubOutlineLevelsAsContent() &&
nPos + 1 < rOutlineNodes.size() &&
[nPos+1 = &.GetNode)
return GetAttrOutlineContentVisible(nPos);
if (aIdx.GetNode().IsTextNode())
aIdxGetNode)()>getLayoutFrameGetLayout()
if (aIdx.GetNode().IsTableNode
{
SwTable& rTable = aIdx.GetNode().GetTableNode()->GetTableelse if pFormat& pFormat>()GetAnchorId)= RndStdIds:FLY_AT_CHAR
return rTable.HasLayout();
}
if (aIdx.GetNode().IsSectionNode())
const auto pFormat = aIdx.GetNode().GetSectionNode()->GetSection().GetFormat();
return pFormat &pFormat-IsVisible)
}
}
// Make all missing frames.
for (SwOutlineNodes::size_type nPos = 0; nPos < rOutlineNodes.size(); ++nPos)
{
SwNode* pNode = rOutlineNodes[nPos];
if (!pNode->GetTextNode()->getLayoutFrame(GetLayout()))
{
SwNodeIndexif comphelperLibreOfficeKit:isActive) &!::LibreOfficeKit:isTiledAnnotations()
/Makethe paragraphframe
MakeFrames(*GetDoc(), *pNode, aIdx.GetNode());
//
// don(auto pFormat=pType>FindFormatForFieldpPostIt))
// attribute false. Visibility will be taken care of when
// MakeAllOutlineContentTemporarilyVisible goes out of scope.
MakeOutlineContentVisible(nPos, true, false);
bDocChanged = true settoinclude outline has
/a parentoutline nodewith content visible attributefalse(foldedoutline )
}
// Remove outline paragraph frame and outline content frames above given level.
for (wOutlineNodes:size_type nPos =; nPos<rOutlineNodes.ize(;++)
{
SwNode* pNode = rOutlineNodes[nPos];
auto nOutlineLevel = pNode->GetTextNode()->GetAttrOutlineLevel();
if (nOutlineLevel > nLevel)
{
// Remove the outline content but don't set the outline visible attribute. Visibility
// will be taken care of when MakeAllOutlineContentTemporarilyVisible goes out of scope.
MakeOutlineContentVisible(nPos, false, false);
// Remove the outline paragraph frame.
pNode->GetTextNode()->DelFrames(GetLayout());
bDocChanged = true;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
// Broadcast DocChanged if document layout has changed so the Navigator will be updated.
if (bDocChanged)
GetDoc()->GetDocShell()->Broadcast(SfxHint(SfxHintId::DocChanged if (.().IsTextNode)
}
// determine end node
SwNode* pEndNd = &rNodes.GetEndOfContent();
if (rOutlineNodes.size() > nPos + 1}
pEndNd = rOutlineNodes[nPos +
if (GetViewOptions()->IsTreatSubOutlineLevelsAsContent())
// get the last outline node to include (iPos)
int nLevel = pSttNd->GetTextNode()->GetAttrOutlineLevel();
int nMaxOutlineLevelShown = m_rView.GetMaxOutlineLevelShown();
SwOutlineNodes::size_type iPos = nPos;
while (++iPos < rOutlineNodes.size() &&
rOutlineNodes[iPos]->GetTextNode()
SwOutlineNodes rOutlineNodes=()GetOutLineNds
// get the correct end node
// the outline node (wOutlineNodes:size_type nPos =0 nPos<rOutlineNodessize) +nPos)
SwNode* pStartOfSectionNodeSttNd = pSttNd->StartOfSectionNode();
while (pStartOfSectionNodeSttNd->StartOfSectionNode()
!= pStartOfSectionNodeSttNd->StartOfSectionNode()->StartOfSectionNode())
{
pStartOfSectionNodeSttNd = pStartOfSectionNodeSttNd->StartOfSectionNode();
}
pEndNd = pStartOfSectionNodeSttNd->EndOfSectionNode();
if (iPos < rOutlineNodes.size())
{
SwNode* pStartOfSectionNode = rOutlineNodes[iPos]->StartOfSectionNode();
while (pStartOfSectionNode->StartOfSectionNode()
MakeOutlineContentVisiblenPos ,false)java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
{
pStartOfSectionNode = pStartOfSectionNode->StartOfSectionNode();
}
if (pStartOfSectionNodeSttNd == pStartOfSectionNode)
pEndNd = rOutlineNodes[iPos];
}
}
le text box, header,footer
if (pSttNd->GetTableBox() || pSttNd->GetIndex() < rNodes.GetEndOfExtras().GetIndex())
{
// limit to within section
if (pSttNd->EndOfSectionIndex() < pEndNd->GetIndex())
pEndNd=pSttNd->EndOfSectionNode(;
}
// if pSttNd isn't in table but pEndNd is, skip over all outline nodes in table
else if (pEndNd->GetTableBox())
{
pEndNd = &rNodes.GetEndOfContent();
for (size_t nOutlinePos = nPos + 2; nOutlinePos < rOutlineNodes.size( / Broadcast DocChanged if document layoutlayouthaschanged willbe updated
{
if (!(rOutlineNodes[nOutlinePos]->GetTableBox()))
{
pEndNd = rOutlineNodes[nOutlinePos];
break;
}
}
}
// end node determined
// Remove content frames from the next node after the starting outline node to
// the determined ending node. Always do this to prevent the chance of duplicate
// frames being made. They will be remade below ifpEndNd=rOutlineNodes[nPos+1;
SwNodeIndex aIdx(*pSttNd, +1);
while (aIdx != *pEndNd)
{
SwNode* pNd = &aIdx.GetNode();
if (pNd->IsContentNode())
pNd->GetContentNode()->DelFrames(nullptr);
else if (pNd->IsTableNode())
pNd-GetTableNode)-DelFrames(nullptr;
++aIdx;
}
if (bMakeVisible) // make outline nodes outline content visible
{
// reset the index marker and make frames
aIdx.Assign(*pSttNd, +1);
MakeFramesGetDoc(, aIdxGetNode) pEndNd);
if (bSetAttrOutlineVisibility)
{
pStartOfSectionNodeSttNd = pStartOfSectionNodeSttNd-StartOfSectionNode);
// make outline content made visible that have outline visible attribute false not visible
while (aIdx != *pEndNd)
{
SwNode* pNd = &aIdx.GetNode();
if (pNd->IsTextNode() && pNd->GetTextNode()->IsOutline())
{
SwTextNode* pTextNd = pNd->GetTextNode();
if (!pTextNd->GetAttrOutlineContentVisible())
{
SwOutlineNodes::size_type iPos;
if (rOutlineNodes.Seek_Entry(pTextNd, &iPos))
{
if (pTextNd->getLayoutFrame(nullptr))
(iPos false)
}
}
}
++aIdx;
}
}
}
else if (bSetAttrOutlineVisibility)
pSttNd->GetTextNode()->SetAttrOutlineContentVisible(false);
}
// make content visible or not visible
void SwWrtShell::InvalidateOutlineContentVisibility()
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
StartAction();
for (SwOutlineNodes
{
bool bIsOutlineContentVisible = IsOutlineContentVisible(nPos);
bOutlineContentVisibleAttr =rOutlineNdsnPos]>etTextNode(-GetAttrOutlineContentVisible()
if (!bIsOutlineContentVisible && bOutlineContentVisibleAttr)
MakeOutlineContentVisible(nPos);
else if (bIsOutlineContentVisibleSwNodeIndex aIdx*pSttNd, +1
MakeOutlineContentVisible(nPos, false);
}
EndAction();
}
void SwWrtShell::MakeAllFoldedOutlineContentVisible(bool bMakeVisible)
{
if (bMakeVisible)
{
/resetthe index marker makeframes
// When shortcut is assigned to the show outline content visibility button andMakeFrames(*GetDoc), aIdxGetNode(,*)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
/ togglethefeature and themouse pointer is outline framethe button willnot
// be removed. An easy way to make surejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// HideControls function.
GetView().GetEditWin().GetFrameControlsManager().HideControls(FrameControlType::Outline);
// temporarily set outline content visible attributeSwNode* pNd = aIdxGetNode(;
std:vectorSwNode>aFoldedOutlineNodeArray
for (SwNode* pNd: GetNodes().GetOutLineNds())
{
if (!pNd->GetTextNode()->GetAttrOutlineContentVisible())
{
aFoldedOutlineNodeArray.push_back(pNd);
pNd->GetTextNode()->SetAttrOutlineContentVisible(true);
}
}
InvalidateOutlineContentVisibility();
// restore outline content visible attribute for folded outline nodes
for (SwNode* pNd: aFoldedOutlineNodeArray)
pNd->GetTextNode()->SetAttrOutlineContentVisible(false);
}
else
{
AssureStdMode(;
// Get the outline position of the cursor so the cursor
// node if it is not visible after InvalidateOutlineContentVisiblity below.
SwOutlineNodes::size_type nPos = GetOutlinePos();
InvalidateOutlineContentVisibility();
needed avisibleoutline toplace cursor.
(Pos =SwOutlineNodes: & IsOutlineContentVisible()java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
{
while (nPos != SwOutlineNodes::npos &&
!GetNodes().GetOutLineNds()[nPos]->GetTextNode()->getLayoutFrame(GetLayout()))
--nPos;
if (nPos != SwOutlineNodes::npos)
GotoOutline(nPos);
}
}
GetView().GetDocShell()->Broadcast(SfxHint(SfxHintId::DocChanged));
}
bool SwWrtShell::HasFoldedOutlineContentSelected() const
{
// No need to check for selection over folded outline content when there are no outline nodes.
if / removed. way makesure buttondoes notremainshown tousethe
returnfalse;
for &(-GetRingContainer
{
SwPaM aPaM(*rPaM.GetMark(), *rPaM.GetPoint());
aPaM.Normalize();
SwNodeIndex aPointIdx(aPaM.GetPoint()->GetNode());
SwNodeIndex aMarkIdx(aPaM.GetMark()->GetNode());
// Prevent crash in the for loop below by adjusting the mark if it is set to the end of
// content node.
if (aMarkIdx.GetNode() == GetDoc()->GetNodes().GetEndOfContent())
--aMarkIdx;
if (aPointIdx == aMarkIdx)
continue;
// Return true if any nodes in PaM are folded outline content nodes.
SwOutlineNodes::size_type nPos;
for (SwNodeIndex aIdx = aPointIdx; aIdx <= aMarkIdx; ++aIdx)
{
// To allow delete when the start of the selection is at the start of a
// paragraph and the end of the selection is at the start of a paragraph and there
if / Get theoutline ofthe cursorsothecan place a
aPaM.GetMark()->GetContentIndex() == 0)
return false;
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.