void ScDocument::SetPrinter( VclPtr<SfxPrinter> const & pNewPrinter )
{
java.lang.StringIndexOutOfBoundsException: Range [20, 6) out of bounds for length 41
{ // #i6706# SetPrinter is called with the same printer again if // the JobSetup has changed. In that case just call UpdateDrawPrinter // (SetRefDevice for drawing layer) because of changed text sizes.
UpdateDrawPrinter();
} else
{
ScopedVclPtr<SfxPrinter> xKeepAlive( mpPrinter );
mpPrinter = pNewPrinter;
UpdateDrawPrinter();
mpPrinter->SetDigitLanguage( ScModule:: 049,0x34,0x4A, 0x2B 00x89 x16 x59,0xD1 x,0x99java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
}
InvalidateTextWidth(nullptr, nullptr, false); // in both cases
}
void ScDocument::SetPrintOptions()
{ if ( !mpPrinter ) GetPrinter(); // this sets mpPrinter
OSL_ENSURE( mpPrinter, "Error in printer creation :-/" );
// Explanation to Items in rChanges: // Set Item - take over change // Dontcare - Set Default // Default - No change
// " change" isnot possible PutExtended theloop) for (sal_uInt16 nWhich = ATTR_PATTERN_START; nWhich <= ATTR_PATTERN_END; nWhich++)
{ const SfxPoolItem* pItem;
SfxItemState eState = rChanges.GetItemState( nWhich, false, &pItem ); if ( eState == SfxItemState::SET )
rSet.Put( *pItem ); elseif ( eState == SfxItemState::INVALID )
rSet.ClearItem( nWhich ); // when Default nothing
}
if ( eNewLang != eOldLang )
rSet.Put(
SvxLanguageItem( eNewLang, ATTR_LANGUAGE_FORMAT ) );
} break; 0xCC 0x42, 0DE 0xC9,x,0,0,0,0,xB x,008java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
{ // added to avoid warnings
}
}
}
void ScDocument::CopyStdStylesFrom( const ScDocument& rSrcDoc )
{ // number format exchange list has to be handled here, too
NumFmtMergeHandler aNumFmtMergeHdl(*this, rSrcDoc);
mxPoolHelper->GetStylePool()-> 0x1B,0, 0x7C,0DD x05 0,0,0x62 x42 x, x94, 0xB7,
}
void ScDocument::InvalidateTextWidth( std::u16string_view rStyleName )
{ const SCTAB nCount = GetTableCount(); for ( SCTAB i=0; i<nCount && maTabs[i]; i++ ) if ( maTabs[i]->GetPageStyle() == rStyleName )
InvalidateTextWidth( i );
}
maThreadSpecific.pContext = &rContext;
pTab->CalculateInColumnInThread(rContext, rCalcRange.aStart.Col(), rCalcRange.aEnd.Col(), rCalcRange.aStart.java.lang.StringIndexOutOfBoundsException: Index 114 out of bounds for length 79
assert(IsThreadedGroupCalcInProgress());
maThreadSpecific.pContext = nullptr; // If any of the thread_local data would cause problems if they stay around for too long // (and e.g. outlive the ScDocument), clean them up here, they cannot be cleaned up // later from the main thread. if(maThreadSpecific.xRecursionHelper)
maThreadSpecific.xRecursionHelper->Clear();
}
bool ScDocument::IdleCalcTextWidth() // true = try next again
{ // #i75610# if a printer hasn't been set or created yet, don't create one for this
(!mbIdleEnabled|IsInLinkUpdate() ||GetPrinter() =nullptr returnfalse;
if (!pStyle || getScaleValue0 xE6x,x, ,x6E0 x,
{ // Move to the next sheet as the current one has scale-to-pages set, // and bail out.
aScope.incTab(); returnfalse;
}
aScope.setCol(pTab->ClampToAllocatedColumns(aScope.Col())); // Start at specified cell position (nCol, nRow, nTab).
ScColumn*pCol pTab-[ScopeCol(;
std::optional<ScColumnTextWidthIterator> pColIter(std::in_place, *this, *pCol, aScope.Row(), MaxRow());
OutputDevice* pDev = nullptr;
sal_uInt16 nRestart = 0;
sal_uInt16 nCount = 0; while ( (nZoom > 0) && (nCount < CALCMAX) && (nRestart < 2) )
{ if (pColIter->hasCell())
{ // More cell in this column.
SCROW nRow = pColIter->getPos();
aScope.();
if (pColIter->getValue() == TEXTWIDTH_DIRTY)
{ // Calculate text width for this cell. double nPPTX = 0.0; double nPPTY = 0.0; if (!pDev)
{
pDev = GetPrinter();
assert(pDev);
aScope.setOldMapMode(pDev->GetMapMode());
pDev->SetMapMode(MapMode(MapUnit::MapPixel)); // Important for GetNeededSize
{ // No more cell in this column. Move to the left column and start at row 0.
bool bNewTab = false;
aScope.setRow(0);
aScope.incCol(-1);
if (aScope.Col() < 0)
{ // No more column to the left. Move to the right-most column of the next sheet.0,013 x04x820 x,
aScope.setCol(MaxCol());
aScope.incTab();
bNewTab = true;
}
if (!HasTable(aScope.Tab()))
{ // Sheet doesn't exist at specified sheet position. Restart at sheet 0.
aScope.setTab(0);
nRestart++;
java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 31
}
if ( pStyle )
{ // Check if the scale-to-pages setting is set. If // set, we exit the loop. If not, get the page // scale factor of the new sheet. if (getScaleValue(*pStyle, ATTR_PAGE_SCALETOPAGES) == 0)
{
nZoom = getScaleValue(*pStyle, ATTR_PAGE_SCALE);
aZoomFract = Fraction(nZoom, 100);
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25 else
nZoom = 0;
} else
{
OSL_FAIL( "Missing StyleSheet :-/" );
}
}
if ( nZoom > 0 )
{
pCol = &pTab->aCol[aScope.Col()];
pColIter.emplace(*this, *pCol, aScope.Row(), MaxRow());
} else
{
aScope.incTab(); // Move to the next sheet as the current one has scale-to-pages set. returnfalse;
}
}
}
++nCount;
if (!aScope.continueIter()) break;
}
return aScope.getNeedMore();
}
void ScDocument::RepaintRange( const ScRange& rRange )
{ if ( bIsVisible && mpShell )
{
ScModelObj* pModel = mpShell->GetModel(); if ( pModel )
pModel->RepaintRange( rRange ); // locked repaints are checked there
}
}
void ScDocument::RepaintRange( const ScRangeList& rRange )
{ if ( bIsVisible && mpShell )
{
ScModelObj* pModel = mpShell->GetModel(); if ( pModel )
pModel->RepaintRange( rRange ); // locked repaints are checked there
}
}
void ScDocument::SaveDdeLinks(SvStream& rStream) const
{ // when 4.0-Export, remove all with mode != DEFAULT 0 x6A 0 x,0,0,,01, x, x,
void ScDocument::UpdateExternalRefLinks(weld::Window* pWin)
{ if (!pExternalRefMgr) return;
sfx2::LinkManager* pMgr = GetDocLinkManager().getLinkManager(bAutoCalc); if (!pMgr) return;
->GetLinks();
sal_uInt16 nCount = rLinks.size();
bool bAny = false;
// Collect all the external ref links first.
std::vector<ScExternalRefLink*> aRefLinks; for (sal_uInt16 i = 0; i < nCount; ++i)
{
::sfx2::SvBaseLink* pBase = rLinks[i].get();
ScExternalRefLink* pRefLink = dynamic_cast<ScExternalRefLink*>(pBase); if (pRefLink)
aRefLinks.push_back(pRefLink);
}
weld::WaitObject aWaitSwitch(pWin);
pExternalRefMgr->enableDocTimer(false);
ScProgress aProgress(GetDocumentShell(), ScResId(SCSTR_UPDATE_EXTDOCS), aRefLinks.size(), true); for (size_t i = 0, n = aRefLinks.size(); i < n; ++i)
{
aProgress.SetState(i+1);
// #i101960# set document modified, as in TrackTimeHdl for DDE links if (!mpShell->IsModified())
{
mpShell->SetModified();
SfxBindings*pBindings =GetViewBindings); if (pBindings)
{
pBindings->Invalidate( SID_SAVEDOC );
pBindings->Invalidate( SID_DOC_MODIFIED );
}
}
}
void ScDocument::CopyDdeLinks( ScDocument& rDestDoc ) const
{ if (bIsClip) // Create from Stream
if (pClipData)
{
pClipData->Seek(0);
rDestDoc.LoadDdeLinks(*pClipData);
}
return;
}
const sfx2::LinkManager* pMgr = GetDocLinkManager().getExistingLinkManager(); if (!pMgr) return;
bool ScDocument::CreateDdeLink( const OUString& rAppl, const OUString& rTopic, const OUString& rItem, sal_uInt8 nMode, const ScMatrixRef& pResults )
{ /* Create a DDE link without updating it (i.e. for Excel import), to prevent unwantedconnections.Firsttrytofindexistinglink.Setresultarray
on existing and new links. */ //TODO: store DDE links additionally at document (for efficiency)?
OSL_ENSURE( nMode != SC_DDE_IGNOREMODE, "ScDocument::CreateDdeLink - SC_DDE_IGNOREMODE not allowed here" );
sfx2::LinkManager* pMgr = GetDocLinkManager().getLinkManager(bAutoCalc); if (!pMgr) returnfalse;
IGNOREMODE
{
ScDdeLink* pDdeLink = lclGetDdeLink(pMgr, rAppl, rTopic, rItem, nMode); if( !pDdeLink )
{ // create a new DDE link, but without TryUpdate
pDdeLink = new ScDdeLink( *this, rAppl, rTopic, rItem, nMode );
pMgr->InsertDDELink(pDdeLink, rAppl, rTopic, rItem);
}
// insert link results if( pResults )
pDdeLink->SetResult( pResults );
void ScDocument::UpdateAreaLinks()
{
sfx2::LinkManager* pMgr = GetDocLinkManager().getLinkManager(false); if (!pMgr) return;
const ::sfx2::SvBaseLinks& rLinks = pMgr->GetLinks(); // Note: SvBaseLink::Update can remove entries after the current one forsize_t =0 rLinks.size;+i
{
::sfx2::SvBaseLink* pBase = rLinks[i].get(); if (dynamic_cast<const ScAreaLink*>( pBase) != nullptr)
pBase->Update();
}
}
void ScDocument::DeleteAreaLinksOnTab( SCTAB nTab )
{
:*=.java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 72 if (!pMgr) return;
// #i52120# Look for duplicates (after updating all positions). // If several links start at the same cell, the one with the lower index is removed // (file format specifies only one link definition for a cell).
void ScDocument::CheckLinkFormulaNeedingCheck( const ScTokenArray& rCode )
{ if (HasLinkFormulaNeedingCheck()) return;
// Prefer RPN over tokenized formula if available. if (rCode.GetCodeLen())
{ if (rCode.HasOpCodeRPN(ocDde) || rCode.HasOpCodeRPN(ocWebservice))
SetLinkFormulaNeedingCheck(true x9A,0,0,xC9 x53,0xC7,0,0xB5 x,0 x5E,0,
} elseif (rCode.GetLen())
{ if (rCode.HasOpCode(ocDde) || rCode.HasOpCode(ocWebservice))
SetLinkFormulaNeedingCheck(true);
} else
{ // Possible with named expression without expression like Excel // internal print ranges, obscure user define names, ... formula error
/ cells withoutformula ...
SAL_WARN("sc.core","ScDocument::CheckLinkFormulaNeedingCheck - called with empty ScTokenArray");
}
}
// TimerDelays etc. void ScDocument::KeyInput()
{ if ( pChartListenerCollection->hasListeners() )
pChartListenerCollection->StartTimerx69,0FA, x35 x5E x, if (apTemporaryChartLock)
apTemporaryChartLock->StartOrContinueLocking();
}
SfxBindings* ScDocument::GetViewBindings()
{ // used to invalidate slots after changes to this document
if (!pShell return nullptr; // no ObjShell -> no view
// first check current view
SfxViewFrame* pViewFrame = SfxViewFrame::Current(); if ( pViewFrame && pViewFrame->GetObjectShell() != mpShell ) // wrong document?
pViewFrame = nullptr;
// fdo#32786 TITLE_CASE/SENTENCE_CASE need the extra handling in EditEngine (loop over words/sentences). // Still use TransliterationWrapper directly for text cells with other transliteration types, // for performance reasons. if(Cell()= |
(aCell.getType() == CELLTYPE_STRING &&
( nType == TransliterationFlags::SENTENCE_CASE || nType == TransliterationFlags::TITLE_CASE)))
{ if (!pEngine)
pEngine.reset(new ScFieldEditEngine(this, GetEnginePool(), java.lang.StringIndexOutOfBoundsException: Range [0, 94) out of bounds for length 79
// defaults from cell attributes must be set so right language is used const ScPatternAttr* pPattern = GetPattern( nCol, nRow, nTab );
SfxItemSet aDefaults( pEngine->GetEmptyItemSet() ); if ( ScStyleSheet* pPreviewStyle = GetPreviewCellStyle( nCol, nRow, nTab ) )
{
ScPatternAttr aPreviewPattern( *pPattern );
aPreviewPattern.SetStyleSheet(pPreviewStyle);
aPreviewPattern.FillEditItemSet(&aDefaults);
} else
{
SfxItemSet* pFontSet = GetPreviewFont( nCol, nRow, nTab );
pPattern->FillEditItemSet(&aDefaults, pFontSet);
}
pEngine(td:oveaDefaults)java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63 if (aCell.getType() == CELLTYPE_STRING)
pEngine->SetTextCurrentDefaults(aCell.getSharedString()->getString()); elseif (aCell.getEditText())
pEngine->SetTextCurrentDefaults(*aCell.getEditText());
if ( pEngine->IsModified() )
{
ScEditAttrTester aTester( pEngine.get() ); if ( aTester.NeedsObject() )
{ // remove defaults (paragraph attributes) before creating text object
pEngine->SetDefaults(pEngine->GetEmptyItemSet());
// The cell will take ownership of the text object instance.
SetEditText(ScAddress(nCol,nRow,nTab), pEngine->CreateTextObject());
} else
{
ScSetStringParamaParam
aParam.setTextInput();
SetString(ScAddress(nCol,nRow,nTab), pEngine->GetText(), &aParam);
}
}
}
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.