bool KPrView::event(QEvent* event) { switch(static_cast<int>(event->type())) { case ViewModeSwitchEvent::AboutToSwitchViewModeEvent: { ViewModeSynchronisationObject* syncObject = static_cast<ViewModeSwitchEvent*>(event)->synchronisationObject(); if (activePage()) { syncObject->currentSlide = kopaDocument()->pageIndex(activePage()); syncObject->shapes = shapeManager()->shapes(); syncObject->initialized = true; } return true; } case ViewModeSwitchEvent::SwitchedToDesktopModeEvent: { ViewModeSynchronisationObject* syncObject = static_cast<ViewModeSwitchEvent*>(event)->synchronisationObject(); if (syncObject->initialized) { shapeManager()->setShapes(syncObject->shapes); doUpdateActivePage( kopaDocument()->pageByIndex(syncObject->currentSlide, false) ); KoToolManager::instance()->switchToolRequested("InteractionTool"); } return true; } } return QWidget::event(event); }
void KoCanvasBase::disconnectCanvasObserver(QObject *object) { shapeManager()->selection()->disconnect(object); resourceManager()->disconnect(object); shapeManager()->disconnect(object); toolProxy()->disconnect(object); }
void RightToLeftPaintingStrategy::paint(KShape *shape, QPainter &painter, const KViewConverter &converter, bool forPrint) { painter.save(); const double width = d->canvas->canvasWidget()->width(); // const double offsetX = d->canvas->canvasController()->canvasOffsetX(); painter.translate(/*-2 * offsetX*/ + width, 0); // painter.scale(-1, 1); painter.setTransform(shape->absoluteTransformation(&converter) * painter.transform()); if (shapeManager()) { shapeManager()->paintShape(shape, painter, converter, forPrint); } painter.restore(); // for the matrix }
void KChartCanvas::paintEvent( QPaintEvent *ev ) { QPainter painter( this ); painter.setRenderHint(QPainter::Antialiasing); painter.translate( -m_documentOffset ); QRect clipRect = ev->rect().translated( m_documentOffset ); painter.setClipRect( clipRect ); painter.translate( m_origin ); // KChartView::viewConverter() returns the view's KoZoomHandler instance shapeManager()->paint( painter, *( m_view->viewConverter() ), false ); m_toolProxy->paint( painter, *( m_view->viewConverter() ) ); painter.end(); }
void KPrShapeManagerAnimationStrategy::paint( KoShape * shape, QPainter &painter, const KoViewConverter &converter, bool forPrint ) { if ( ! dynamic_cast<KPrPlaceholderShape *>( shape ) ) { if ( m_animationDirector->shapeShown( shape ) ) { //kDebug() << shape; painter.save(); painter.setMatrix( shape->absoluteTransformation( &converter ) * painter.matrix() ); // animate shape QPair<KPrShapeAnimation *, KPrAnimationData *> animation = m_animationDirector->shapeAnimation( shape ); if ( animation.first ) { animation.first->animate( painter, converter, animation.second ); } // paint shape shapeManager()->paintShape( shape, painter, converter, forPrint ); painter.restore(); // for the matrix } } }
void KPrShapeManagerAnimationStrategy::paint( KoShape * shape, QPainter &painter, const KoViewConverter &converter, bool forPrint ) { if ( ! dynamic_cast<KPrPlaceholderShape *>( shape ) && m_strategy->page()->displayShape( shape ) ) { if ( m_animationCache->value(shape, "visibility", true).toBool() ) { painter.save(); QTransform animationTransform = m_animationCache->value(shape, "transform", QTransform()).value<QTransform>();; QTransform transform(painter.transform() * shape->absoluteTransformation(&converter)); if (animationTransform.isScaling()) { transform = animationTransform * transform; } else { transform = transform * animationTransform; } painter.setTransform(transform); // paint shape shapeManager()->paintShape( shape, painter, converter, forPrint ); painter.restore(); // for the transform } } }
QList<KoShape*> KarbonPrintJob::shapesOnPage(int) { return shapeManager()->shapes(); }
void KoPAView::initGUI() { QGridLayout * gridLayout = new QGridLayout( this ); gridLayout->setMargin( 0 ); gridLayout->setSpacing( 0 ); setLayout( gridLayout ); d->canvas = new KoPACanvas( this, d->doc, this ); KoCanvasControllerWidget *canvasController = new KoCanvasControllerWidget( this ); d->canvasController = canvasController; d->canvasController->setCanvas( d->canvas ); KoToolManager::instance()->addController( d->canvasController ); KoToolManager::instance()->registerTools( actionCollection(), d->canvasController ); d->zoomController = new KoZoomController( d->canvasController, zoomHandler(), actionCollection()); connect( d->zoomController, SIGNAL( zoomChanged( KoZoomMode::Mode, qreal ) ), this, SLOT( slotZoomChanged( KoZoomMode::Mode, qreal ) ) ); d->zoomAction = d->zoomController->zoomAction(); // set up status bar message d->status = new QLabel( QString() ); d->status->setAlignment( Qt::AlignLeft | Qt::AlignVCenter ); d->status->setMinimumWidth( 300 ); addStatusBarItem( d->status, 1 ); connect( KoToolManager::instance(), SIGNAL( changedStatusText( const QString & ) ), d->status, SLOT( setText( const QString & ) ) ); d->zoomActionWidget = d->zoomAction->createWidget( statusBar() ); addStatusBarItem( d->zoomActionWidget, 0 ); d->zoomController->setZoomMode( KoZoomMode::ZOOM_PAGE ); d->viewModeNormal = new KoPAViewModeNormal( this, d->canvas ); setViewMode(d->viewModeNormal); // The rulers d->horizontalRuler = new KoRuler(this, Qt::Horizontal, viewConverter( d->canvas )); d->horizontalRuler->setShowMousePosition(true); d->horizontalRuler->setUnit(d->doc->unit()); d->verticalRuler = new KoRuler(this, Qt::Vertical, viewConverter( d->canvas )); d->verticalRuler->setUnit(d->doc->unit()); d->verticalRuler->setShowMousePosition(true); new KoRulerController(d->horizontalRuler, d->canvas->resourceManager()); connect(d->doc, SIGNAL(unitChanged(const KoUnit&)), d->horizontalRuler, SLOT(setUnit(const KoUnit&))); connect(d->doc, SIGNAL(unitChanged(const KoUnit&)), d->verticalRuler, SLOT(setUnit(const KoUnit&))); gridLayout->addWidget(d->horizontalRuler, 0, 1); gridLayout->addWidget(d->verticalRuler, 1, 0); gridLayout->addWidget(canvasController, 1, 1 ); connect(d->canvasController->proxyObject, SIGNAL(canvasOffsetXChanged(int)), this, SLOT(pageOffsetChanged())); connect(d->canvasController->proxyObject, SIGNAL(canvasOffsetYChanged(int)), this, SLOT(pageOffsetChanged())); connect(d->canvasController->proxyObject, SIGNAL(sizeChanged(const QSize&)), this, SLOT(pageOffsetChanged())); connect(d->canvasController->proxyObject, SIGNAL(canvasMousePositionChanged(const QPoint&)), this, SLOT(updateMousePosition(const QPoint&))); d->verticalRuler->createGuideToolConnection(d->canvas); d->horizontalRuler->createGuideToolConnection(d->canvas); KoToolBoxFactory toolBoxFactory(d->canvasController, i18n("Tools") ); if (shell()) { shell()->createDockWidget( &toolBoxFactory ); connect( canvasController, SIGNAL( toolOptionWidgetsChanged(const QMap<QString, QWidget *> &, QWidget*) ), shell()->dockerManager(), SLOT( newOptionWidgets(const QMap<QString, QWidget *> &, QWidget*) ) ); } connect(shapeManager(), SIGNAL(selectionChanged()), this, SLOT(selectionChanged())); connect(d->canvas, SIGNAL(documentSize(const QSize&)), d->canvasController->proxyObject, SLOT(updateDocumentSize(const QSize&))); connect(d->canvasController->proxyObject, SIGNAL(moveDocumentOffset(const QPoint&)), d->canvas, SLOT(slotSetDocumentOffset(const QPoint&))); if (shell()) { KoPADocumentStructureDockerFactory structureDockerFactory( KoDocumentSectionView::ThumbnailMode, d->doc->pageType() ); d->documentStructureDocker = qobject_cast<KoPADocumentStructureDocker*>( shell()->createDockWidget( &structureDockerFactory ) ); connect( shell()->partManager(), SIGNAL( activePartChanged( KParts::Part * ) ), d->documentStructureDocker, SLOT( setPart( KParts::Part * ) ) ); connect(d->documentStructureDocker, SIGNAL(pageChanged(KoPAPageBase*)), proxyObject, SLOT(updateActivePage(KoPAPageBase*))); connect(d->documentStructureDocker, SIGNAL(dockerReset()), this, SLOT(reinitDocumentDocker())); KoToolManager::instance()->requestToolActivation( d->canvasController ); } }