diff options
Diffstat (limited to 'kword/KWDocument.cpp')
-rw-r--r-- | kword/KWDocument.cpp | 130 |
1 files changed, 65 insertions, 65 deletions
diff --git a/kword/KWDocument.cpp b/kword/KWDocument.cpp index 9420f048..55f5f351 100644 --- a/kword/KWDocument.cpp +++ b/kword/KWDocument.cpp @@ -483,8 +483,8 @@ void KWDocument::newZoomAndResolution( bool updateViews, bool forPrint ) // First recalc all frames (including the kotextdocument width) updateAllFrames(); - // Then retqlayout the text inside the frames - tqlayout(); + // Then relayout the text inside the frames + layout(); if ( updateViews ) { emit newContentsSize(); @@ -617,9 +617,9 @@ KoPageLayout KWDocument::pageLayout(int pageNumber /* = 0 */) const return pageManager()->pageLayout(pageNumber); } -void KWDocument::setPageLayout( const KoPageLayout& tqlayout, const KoColumns& cl, const KoKWHeaderFooter& hf, bool updateViews ) +void KWDocument::setPageLayout( const KoPageLayout& layout, const KoColumns& cl, const KoKWHeaderFooter& hf, bool updateViews ) { - m_pageLayout = tqlayout; + m_pageLayout = layout; if ( m_processingType == WP ) { m_pageColumns = cl; } @@ -643,8 +643,8 @@ void KWDocument::setPageLayout( const KoPageLayout& tqlayout, const KoColumns& c if ( updateViews ) { - // Invalidate document tqlayout, for proper tqrepaint - this->tqlayout(); + // Invalidate document layout, for proper repaint + this->layout(); emit pageLayoutChanged( m_pageLayout ); updateContentsSize(); } @@ -953,10 +953,10 @@ void KWDocument::recalcFrames( int fromPage, int toPage /*-1 for all*/, uint fla if ( fromPage > toPage ) // this can happen with "endnotes only" pages :) // ### really? fromPage = toPage; // ie. start at the last real page KWFrameLayout frameLayout( this, headerFooterList, footnotesHFList, endnotesHFList ); - frameLayout.tqlayout( frameset, m_pageColumns.columns, fromPage, toPage, flags ); + frameLayout.layout( frameset, m_pageColumns.columns, fromPage, toPage, flags ); // If the number of pages changed, update views and variables etc. - // (now that the frame tqlayout has been done) + // (now that the frame layout has been done) if ( pageCount() != oldPages && !m_bGeneratingPreview ) { // Very much like the end of appendPage, but we don't want to call recalcFrames ;) @@ -996,7 +996,7 @@ void KWDocument::recalcFrames( int fromPage, int toPage /*-1 for all*/, uint fla bool KWDocument::loadChildren( KoStore *store ) { //kdDebug(32001) << "KWDocument::loadChildren" << endl; - TQPtrListIterator<KoDocumentChild> it( tqchildren() ); + TQPtrListIterator<KoDocumentChild> it( children() ); for( ; it.current(); ++it ) { if ( !it.current()->loadDocument( store ) ) return FALSE; @@ -1060,7 +1060,7 @@ bool KWDocument::loadOasis( const TQDomDocument& doc, KoOasisStyles& oasisStyles if ( localName.isEmpty() ) setErrorMessage( i18n( "Invalid OASIS OpenDocument file. No tag found inside office:body." ) ); else - setErrorMessage( i18n( "This is not a word processing document, but %1. Please try opening it with the appropriate application." ).tqarg( KoDocument::tagNameToDocumentType( localName ) ) ); + setErrorMessage( i18n( "This is not a word processing document, but %1. Please try opening it with the appropriate application." ).arg( KoDocument::tagNameToDocumentType( localName ) ) ); return false; } @@ -1072,7 +1072,7 @@ bool KWDocument::loadOasis( const TQDomDocument& doc, KoOasisStyles& oasisStyles // In theory the page format is the style:master-page-name of the first paragraph... // But, hmm, in a doc with only a table there was no reference to the master page at all... - // So we load the standard page tqlayout to start with, and in KWTextParag + // So we load the standard page layout to start with, and in KWTextParag // we might overwrite it with another one. m_loadingInfo->m_currentMasterPage = "Standard"; if ( !loadOasisPageLayout( m_loadingInfo->m_currentMasterPage, context ) ) @@ -1133,15 +1133,15 @@ bool KWDocument::loadOasis( const TQDomDocument& doc, KoOasisStyles& oasisStyles // load padding, background and borders for the main frame const TQDomElement* masterPage = context.oasisStyles().masterPages()[ m_loadingInfo->m_currentMasterPage ]; - const TQDomElement *masterPageStyle = masterPage ? context.oasisStyles().findStyle(masterPage->attributeNS( KoXmlNS::style, "page-tqlayout-name", TQString() ) ) : 0; + const TQDomElement *masterPageStyle = masterPage ? context.oasisStyles().findStyle(masterPage->attributeNS( KoXmlNS::style, "page-layout-name", TQString() ) ) : 0; if ( masterPageStyle ) { KoStyleStack styleStack; styleStack.push( *masterPageStyle ); - styleStack.setTypeProperties( "page-tqlayout" ); + styleStack.setTypeProperties( "page-layout" ); frame->loadBorderProperties( styleStack ); } - fs->renumberFootNotes( false /*no tqrepaint*/ ); + fs->renumberFootNotes( false /*no repaint*/ ); } else { // DTP mode: the items in the body are page-sequence and then frames @@ -1152,7 +1152,7 @@ bool KWDocument::loadOasis( const TQDomDocument& doc, KoOasisStyles& oasisStyles const TQString localName = tag.localName(); if ( localName == "page-sequence" && tag.namespaceURI() == KoXmlNS::text ) { - // We don't have support for changing the page tqlayout yet, so just take the + // We don't have support for changing the page layout yet, so just take the // number of pages int pages=1; TQDomElement page; @@ -1205,14 +1205,14 @@ bool KWDocument::loadOasisPageLayout( const TQString& masterPageName, KoOasisCon const KoOasisStyles& oasisStyles = context.oasisStyles(); const TQDomElement* masterPage = oasisStyles.masterPages()[ masterPageName ]; Q_ASSERT( masterPage ); - const TQDomElement *masterPageStyle = masterPage ? oasisStyles.findStyle( masterPage->attributeNS( KoXmlNS::style, "page-tqlayout-name", TQString() ) ) : 0; + const TQDomElement *masterPageStyle = masterPage ? oasisStyles.findStyle( masterPage->attributeNS( KoXmlNS::style, "page-layout-name", TQString() ) ) : 0; Q_ASSERT( masterPageStyle ); if ( masterPageStyle ) { m_pageLayout.loadOasis( *masterPageStyle ); pageManager()->setDefaultPage(m_pageLayout); - const TQDomElement properties( KoDom::namedItemNS( *masterPageStyle, KoXmlNS::style, "page-tqlayout-properties" ) ); + const TQDomElement properties( KoDom::namedItemNS( *masterPageStyle, KoXmlNS::style, "page-layout-properties" ) ); const TQDomElement footnoteSep = KoDom::namedItemNS( properties, KoXmlNS::style, "footnote-sep" ); if ( !footnoteSep.isNull() ) { // style:width="0.018cm" style:distance-before-sep="0.101cm" @@ -1292,24 +1292,24 @@ bool KWDocument::loadMasterPageStyle( const TQString& masterPageName, KoOasisCon const KoOasisStyles& oasisStyles = context.oasisStyles(); const TQDomElement* masterPage = oasisStyles.masterPages()[ masterPageName ]; Q_ASSERT( masterPage ); - const TQDomElement *masterPageStyle = masterPage ? oasisStyles.findStyle( masterPage->attributeNS( KoXmlNS::style, "page-tqlayout-name", TQString() ) ) : 0; + const TQDomElement *masterPageStyle = masterPage ? oasisStyles.findStyle( masterPage->attributeNS( KoXmlNS::style, "page-layout-name", TQString() ) ) : 0; Q_ASSERT( masterPageStyle ); // This check is done here and not in loadOasisPageLayout in case the Standard master-page // has no page information but the first paragraph points to a master-page that does (#129585) if ( m_pageLayout.ptWidth <= 1e-13 || m_pageLayout.ptHeight <= 1e-13 ) { - // Loading page tqlayout failed, try to see why. - TQDomElement properties( KoDom::namedItemNS( *masterPageStyle, KoXmlNS::style, "page-tqlayout-properties" ) ); + // Loading page layout failed, try to see why. + TQDomElement properties( KoDom::namedItemNS( *masterPageStyle, KoXmlNS::style, "page-layout-properties" ) ); //if ( properties.isNull() ) - // setErrorMessage( i18n( "Invalid document. No page tqlayout properties were found. The application which produced this document isn't OASIS-compliant." ) ); + // setErrorMessage( i18n( "Invalid document. No page layout properties were found. The application which produced this document isn't OASIS-compliant." ) ); //else if ( properties.hasAttributeNS( KoXmlNS::fo, "page-width" ) ) - // setErrorMessage( i18n( "Invalid document. Page tqlayout has no page width. The application which produced this document isn't OASIS-compliant." ) ); + // setErrorMessage( i18n( "Invalid document. Page layout has no page width. The application which produced this document isn't OASIS-compliant." ) ); //else if ( properties.hasAttributeNS( "http://www.w3.org/1999/XSL/Format", "page-width" ) ) setErrorMessage( i18n( "Invalid document. 'fo' has the wrong namespace. The application which produced this document is not OASIS-compliant." ) ); else - setErrorMessage( i18n( "Invalid document. Paper size: %1x%2" ).tqarg( m_pageLayout.ptWidth ).tqarg( m_pageLayout.ptHeight ) ); + setErrorMessage( i18n( "Invalid document. Paper size: %1x%2" ).arg( m_pageLayout.ptWidth ).arg( m_pageLayout.ptHeight ) ); return false; } @@ -1484,7 +1484,7 @@ bool KWDocument::loadXML( TQIODevice *, const TQDomDocument & doc ) else if ( value != "application/x-kword" && value != "application/vnd.kde.kword" ) { kdError(32001) << "Unknown mime type " << value << endl; - setErrorMessage( i18n( "Invalid document. Expected mimetype application/x-kword or application/vnd.kde.kword, got %1" ).tqarg( value ) ); + setErrorMessage( i18n( "Invalid document. Expected mimetype application/x-kword or application/vnd.kde.kword, got %1" ).arg( value ) ); return false; } m_syntaxVersion = KWDocument::getAttribute( word, "syntaxVersion", 0 ); @@ -1492,7 +1492,7 @@ bool KWDocument::loadXML( TQIODevice *, const TQDomDocument & doc ) { int ret = KMessageBox::warningContinueCancel( 0, i18n("This document was created with a newer version of KWord (syntax version: %1)\n" - "Opening it in this version of KWord will lose some information.").tqarg(m_syntaxVersion), + "Opening it in this version of KWord will lose some information.").arg(m_syntaxVersion), i18n("File Format Mismatch"), KStdGuiItem::cont() ); if ( ret == KMessageBox::Cancel ) { @@ -1535,7 +1535,7 @@ bool KWDocument::loadXML( TQIODevice *, const TQDomDocument & doc ) if ( pgLayout.ptWidth <= 0 || pgLayout.ptHeight <= 0 ) { setErrorMessage( i18n( "Invalid document. Paper size: %1x%2" ) - .tqarg( pgLayout.ptWidth ).tqarg( pgLayout.ptHeight ) ); + .arg( pgLayout.ptWidth ).arg( pgLayout.ptHeight ) ); return false; } } @@ -1928,7 +1928,7 @@ void KWDocument::endOfLoading() // called by both oasis and oldxml // Renumber footnotes KWTextFrameSet *frameset = dynamic_cast<KWTextFrameSet *>( m_lstFrameSet.getFirst() ); if ( frameset ) - frameset->renumberFootNotes( false /*no tqrepaint*/ ); + frameset->renumberFootNotes( false /*no repaint*/ ); emit sigProgress(-1); @@ -2499,7 +2499,7 @@ void KWDocument::processAnchorRequests() KWFrameSet * fs = frameSetByName( fsname ); Q_ASSERT( fs ); if ( fs ) - fs->setAnchored( itanch.data().textfs, itanch.data().paragId, itanch.data().index, true, false /*don't tqrepaint yet*/ ); + fs->setAnchored( itanch.data().textfs, itanch.data().paragId, itanch.data().index, true, false /*don't repaint yet*/ ); } m_anchorRequests.clear(); } @@ -2533,7 +2533,7 @@ bool KWDocument::processFootNoteRequests() if ( ret ) { KWFrameSet *frameset = m_lstFrameSet.getFirst(); if ( frameset && frameset->type() == FT_TEXT ) - static_cast<KWTextFrameSet *>(frameset)->renumberFootNotes( false /*no tqrepaint*/ ); + static_cast<KWTextFrameSet *>(frameset)->renumberFootNotes( false /*no repaint*/ ); } return ret; } @@ -2545,13 +2545,13 @@ TQString KWDocument::uniqueFramesetName( const TQString& oldName ) { // make up a new name for the frameset, use Copy[digits]-[oldname] as template. // Fully translatable naturally :) - TQString searchString( "^(" + i18n("Copy%1-%2").tqarg("\\d*").tqarg("){0,1}") ); + TQString searchString( "^(" + i18n("Copy%1-%2").arg("\\d*").arg("){0,1}") ); searchString = searchString.replace(TQRegExp("\\-"), "\\-"); // escape the '-' TQRegExp searcher(searchString); int count=0; do { newName=oldName; - newName.replace(searcher,i18n("Copy%1-%2").tqarg(count > 0? TQString("%1").tqarg(count):"").tqarg("")); + newName.replace(searcher,i18n("Copy%1-%2").arg(count > 0? TQString("%1").arg(count):"").arg("")); count++; } while ( frameSetByName( newName ) ); } @@ -2705,7 +2705,7 @@ void KWDocument::completePasting() processAnchorRequests(); if ( processFootNoteRequests() ) { - // We pasted footnotes. Retqlayout frames. + // We pasted footnotes. Relayout frames. recalcFrames(); } @@ -2762,7 +2762,7 @@ void KWDocument::insertEmbedded( KoStore *store, TQDomElement topElem, KMacroCom kdDebug() << "KWDocument::insertEmbedded loading embedded object" << endl; part->load( settings ); if ( offset != 0 ) { - TQRect r = ch->tqgeometry(); + TQRect r = ch->geometry(); r.moveBy( (int)offset, (int)offset ); ch->setGeometry( r ); } @@ -2804,7 +2804,7 @@ bool KWDocument::saveOasisHelper( KoStore* store, KoXmlWriter* manifestWriter, S if ( saveFlag == SaveAll ) pictureList = savePictureList(); - m_varColl->variableSetting()->setModificationDate(TQDateTime::tqcurrentDateTime()); + m_varColl->variableSetting()->setModificationDate(TQDateTime::currentDateTime()); recalcVariables( VT_DATE ); recalcVariables( VT_TIME ); // for "current time" recalcVariables( VT_STATISTIC ); @@ -2837,7 +2837,7 @@ bool KWDocument::saveOasisHelper( KoStore* store, KoXmlWriter* manifestWriter, S } // Header and footers save their content into master-styles/master-page, and their - // styles into the page-tqlayout automatic-style. + // styles into the page-layout automatic-style. // However the paragraph styles used by header/footers need to be known before // hand, to promote them to styles.xml. So we collect them first, which means // storing the content into a buffer. @@ -3235,7 +3235,7 @@ void KWDocument::saveOasisDocumentStyles( KoStore* store, KoGenStyles& mainStyle buffer.close(); if ( m_pageColumns.columns > 1 ) { - buffer.tqsetBufferFromCopy(TQByteArray()); // clear data + buffer.setBuffer(TQByteArray()); // clear data buffer.open( IO_WriteOnly ); KoXmlWriter columnsTmpWriter( TQT_TQIODEVICE(&buffer) ); // TODO pass indentation level columnsTmpWriter.startElement( "style:columns" ); @@ -3251,8 +3251,8 @@ void KWDocument::saveOasisDocumentStyles( KoStore* store, KoGenStyles& mainStyle // if there's more than one pagemaster we need to rethink all this pageLayoutName = mainStyles.lookup( pageLayout, "pm" ); - pageLayout.writeStyle( stylesWriter, mainStyles, "style:page-tqlayout", pageLayoutName, - "style:page-tqlayout-properties", false /*don't close*/ ); + pageLayout.writeStyle( stylesWriter, mainStyles, "style:page-layout", pageLayoutName, + "style:page-layout-properties", false /*don't close*/ ); // Ouch another problem: there is only one header style in oasis // ##### can't have different borders for even/odd headers... @@ -3301,7 +3301,7 @@ void KWDocument::saveOasisDocumentStyles( KoStore* store, KoGenStyles& mainStyle stylesWriter->endElement(); // header-style } } - stylesWriter->endElement(); // style:page-tqlayout + stylesWriter->endElement(); // style:page-layout // Headers and footers might have created new automatic parag/text styles -> save those KWOasisSaver::writeAutomaticStyles( *stylesWriter, mainStyles, true ); @@ -3313,7 +3313,7 @@ void KWDocument::saveOasisDocumentStyles( KoStore* store, KoGenStyles& mainStyle stylesWriter->startElement( "office:master-styles" ); stylesWriter->startElement( "style:master-page" ); stylesWriter->addAttribute( "style:name", "Standard" ); - stylesWriter->addAttribute( "style:page-tqlayout-name", pageLayoutName ); + stylesWriter->addAttribute( "style:page-layout-name", pageLayoutName ); if ( isHeaderVisible() || isFooterVisible() ) { // ### TODO save them even when hidden (and not empty)? stylesWriter->addCompleteElement( headerFooterContent.data() ); @@ -3405,7 +3405,7 @@ void KWDocument::saveOasisBody( KoXmlWriter& writer, KoSavingContext& context ) TQDomDocument KWDocument::saveXML() { - m_varColl->variableSetting()->setModificationDate(TQDateTime::tqcurrentDateTime()); + m_varColl->variableSetting()->setModificationDate(TQDateTime::currentDateTime()); recalcVariables( VT_DATE ); recalcVariables( VT_TIME ); // for "current time" recalcVariables( VT_STATISTIC ); @@ -3601,7 +3601,7 @@ TQDomDocument KWDocument::saveXML() } // Save embedded objects - saveEmbeddedObjects( kwdoc, tqchildren() ); + saveEmbeddedObjects( kwdoc, children() ); return doc; } @@ -3779,7 +3779,7 @@ void KWDocument::paintContent( TQPainter& painter, const TQRect& rectangle, bool viewMode->setDrawFrameBackground( !transparent ); viewMode->setDrawSelections( false ); - TQColorGroup cg = TQApplication::tqpalette().active(); + TQColorGroup cg = TQApplication::palette().active(); if (!transparent) { @@ -3810,8 +3810,8 @@ TQPixmap KWDocument::generatePreview( const TQSize& size ) double oldZoomX = zoomedResolutionX(); double oldZoomY = zoomedResolutionY(); - // Sometimes (due to the different resolution?) the tqlayout creates a new page - // while saving the preview. If this happens, we don't want to tqrepaint the real views + // Sometimes (due to the different resolution?) the layout creates a new page + // while saving the preview. If this happens, we don't want to repaint the real views // (due to KWCanvas::slotNewContentsSize) // ##### One day when we have real doc/view separation in kotextparag, we shouldn't mess with // the real view's resolution, we should instead create a fake view for the preview itself. @@ -3887,7 +3887,7 @@ KWPartFrameSet* KWDocument::insertObject( const KoRect& rect, KoDocumentEntry& e KWCreateFrameCommand *cmd = new KWCreateFrameCommand( i18n("Create Part Frame"), frame); addCommand(cmd); - frameChanged( frame ); // tqrepaint etc. + frameChanged( frame ); // repaint etc. return frameset; } @@ -4210,7 +4210,7 @@ TQString KWDocument::generateFramesetName( const TQString & templateName ) int num = 1; bool exists; do { - name = templateName.tqarg( num ); + name = templateName.arg( num ); exists = frameSetByName( name ); ++num; } while ( exists ); @@ -4364,7 +4364,7 @@ void KWDocument::setHeaderVisible( bool h ) m_headerVisible = h; recalcFrames(); updateAllFrames(); - tqlayout(); + layout(); setModified(true); repaintAllViews( true ); } @@ -4374,7 +4374,7 @@ void KWDocument::setFooterVisible( bool f ) m_footerVisible = f; recalcFrames(); updateAllFrames(); - tqlayout(); + layout(); setModified(true); repaintAllViews( true ); } @@ -4457,9 +4457,9 @@ void KWDocument::setMailMergeRecord( int r ) slRecordNum = r; } -void KWDocument::getPageLayout( KoPageLayout& tqlayout, KoColumns& cl, KoKWHeaderFooter& hf ) +void KWDocument::getPageLayout( KoPageLayout& layout, KoColumns& cl, KoKWHeaderFooter& hf ) { - tqlayout = m_pageLayout; + layout = m_pageLayout; cl = m_pageColumns; hf = m_pageHeaderFooter; } @@ -4560,20 +4560,20 @@ void KWDocument::printDebug() } #endif -void KWDocument::tqlayout() +void KWDocument::layout() { TQPtrListIterator<KWFrameSet> it = framesetsIterator(); for (; it.current(); ++it ) if ( it.current()->isVisible() ) - it.current()->tqlayout(); + it.current()->layout(); } -void KWDocument::tqinvalidate(const KWFrameSet *skipThisFrameSet) +void KWDocument::invalidate(const KWFrameSet *skipThisFrameSet) { TQPtrListIterator<KWFrameSet> it = framesetsIterator(); for (; it.current(); ++it ) if(it.current()!=skipThisFrameSet) - it.current()->tqinvalidate(); + it.current()->invalidate(); } KFormula::Document* KWDocument::formulaDocument( bool init ) @@ -4835,7 +4835,7 @@ void KWDocument::slotChapterParagraphFormatted( KoTextParag* /*parag*/ ) { // Attempt at invalidating from the parag's page only // But that's not good enough - if a header gets moved down, - // we also need to tqinvalidate the previous page, from where the paragraph disappeared. + // we also need to invalidate the previous page, from where the paragraph disappeared. /* KoPoint p; KWFrame* frame = internalToDocument( parag->rect().topLeft(), p ); @@ -5033,7 +5033,7 @@ void KWDocument::displayFootNoteFieldCode() KoTextParag * parag = it.current()->paragraph(); if ( parag ) { - parag->tqinvalidate( 0 ); + parag->invalidate( 0 ); parag->setChanged( true ); } } @@ -5058,7 +5058,7 @@ void KWDocument::changeFootNoteConfig() KoTextParag * parag = footNoteVar->paragraph(); if ( parag ) { - parag->tqinvalidate( 0 ); + parag->invalidate( 0 ); parag->setChanged( true ); } KoTextDocument* textdoc = parag->textDocument(); @@ -5083,7 +5083,7 @@ void KWDocument::setTabStopValue ( double tabStop ) KWTextFrameSet *frm; for ( frm=textFramesets.first(); frm != 0; frm=textFramesets.next() ){ frm->textDocument()->setTabStops( ptToLayoutUnitPixX( tabStop )); - frm->tqlayout(); + frm->layout(); } repaintAllViews(); } @@ -5120,11 +5120,11 @@ void KWDocument::switchViewMode( const TQString& newViewModeType ) (*it)->switchModeView(); emit newContentsSize(); - // Since the text tqlayout depends on the view mode, we need to redo it + // Since the text layout depends on the view mode, we need to redo it // But after telling the canvas about the new viewmode, otherwise stuff like // slotNewContentsSize will crash. updateAllFrames(); - tqlayout(); + layout(); repaintAllViews( true ); for( TQValueList<KWView *>::Iterator it = m_lstViews.begin(); it != m_lstViews.end(); ++it ) @@ -5395,7 +5395,7 @@ void KWDocument::setEmpty() { KoDocument::setEmpty(); // Whether loaded from template or from empty doc: this is a new one -> set creation date - m_varColl->variableSetting()->setCreationDate(TQDateTime::tqcurrentDateTime()); + m_varColl->variableSetting()->setCreationDate(TQDateTime::currentDateTime()); recalcVariables( VT_DATE ); // , VST_CREATION_DATE ... // If we then load a document, it will override that date. } @@ -5466,15 +5466,15 @@ void KWDocument::FramesChangedHandler::execute() { KWFrameSet *fs = *iter; fs->updateFrames(); if(!m_needLayout) - fs->tqlayout(); + fs->layout(); } KWFrameList::recalcAllFrames(m_parent); } - // If frame with text flowing around it -> re-tqlayout all frames + // If frame with text flowing around it -> re-layout all frames if ( m_needLayout) - m_parent->tqlayout(); + m_parent->layout(); //m_parent->repaintAllViewsExcept( 0 ); m_parent->repaintAllViews(); m_parent->updateRulerFrameStartEnd(); |