void SCPage::setLayout(SCPageLayout * layout, KoPADocument * document) { QSizeF pageSize(pageLayout().width, pageLayout().height); SCMasterPage * master = dynamic_cast<SCMasterPage *>(masterPage()); Q_ASSERT(master); placeholders().setLayout(layout, document, shapes(), pageSize, master ? master->placeholders().styles() : QMap<QString, KTextShapeData*>()); kDebug(33001) << "master placeholders"; master->placeholders().debug(); }
void KoPAMasterPage::saveOdf( KoShapeSavingContext & context ) const { KoPASavingContext &paContext = static_cast<KoPASavingContext&>( context ); KoGenStyle pageLayoutStyle = pageLayout().saveOdf(); pageLayoutStyle.setAutoStyleInStylesDotXml( true ); pageLayoutStyle.addAttribute( "style:page-usage", "all" ); QString pageLayoutName( paContext.mainStyles().insert( pageLayoutStyle, "pm" ) ); KoGenStyle pageMaster( KoGenStyle::MasterPageStyle ); pageMaster.addAttribute( "style:page-layout-name", pageLayoutName ); pageMaster.addAttribute( "style:display-name", name() ); pageMaster.addAttribute( "draw:style-name", saveOdfPageStyle( paContext ) ); KoXmlWriter &savedWriter = paContext.xmlWriter(); QBuffer buffer; buffer.open( QIODevice::WriteOnly ); KoXmlWriter xmlWriter( &buffer ); paContext.setXmlWriter( xmlWriter ); saveOdfPageContent( paContext ); paContext.setXmlWriter( savedWriter ); QString contentElement = QString::fromUtf8( buffer.buffer(), buffer.buffer().size() ); pageMaster.addChildElement( paContext.masterPageElementName(), contentElement ); paContext.addMasterPage( this, paContext.mainStyles().insert( pageMaster, "Default" ) ); }
void KoPAPageBase::paintBackground( QPainter & painter, const KoViewConverter & converter, KoShapePaintingContext &paintContext ) { painter.save(); applyConversion( painter, converter ); KoPageLayout layout = pageLayout(); painter.setPen( Qt::black ); if (background()) { QPainterPath p; p.addRect( QRectF( 0.0, 0.0, layout.width, layout.height ) ); background()->paint( painter, converter, paintContext, p ); } else { painter.setBrush(Qt::white); painter.drawRect(QRectF(0.0, 0.0, layout.width, layout.height)); } painter.restore(); }
QPixmap KoPAPage::generateThumbnail( const QSize& size ) { // don't paint null pixmap if ( size.isEmpty() ) // either width or height is <= 0 return QPixmap(); KoZoomHandler zoomHandler; const KoPageLayout & layout = pageLayout(); KoPAUtil::setZoom( layout, size, zoomHandler ); QRect pageRect( KoPAUtil::pageRect( layout, size, zoomHandler ) ); QPixmap pixmap( size.width(), size.height() ); pixmap.fill( Qt::white ); QPainter painter( &pixmap ); painter.setClipRect( pageRect ); painter.setRenderHint( QPainter::Antialiasing ); painter.translate( pageRect.topLeft() ); paintPage( painter, zoomHandler ); return pixmap; }
KarbonPart::KarbonPart(QWidget* parentWidget, const char* widgetName, QObject* parent, const char* name, bool singleViewMode) : KoDocument(parentWidget, parent, singleViewMode), d(new Private()) { Q_UNUSED(widgetName); d->document.setResourceManager(resourceManager()); setObjectName(name); setComponentData(KarbonFactory::componentData(), false); setTemplateType("karbon_template"); resourceManager()->setUndoStack(undoStack()); initConfig(); // set as default paper KoPageLayout pl = pageLayout(); pl.format = KoPageFormat::defaultFormat(); pl.orientation = KoPageFormat::Portrait; pl.width = MM_TO_POINT(KoPageFormat::width(pl.format, pl.orientation)); pl.height = MM_TO_POINT(KoPageFormat::height(pl.format, pl.orientation)); setPageLayout(pl); }