Pillars of KDE: Flake Introduction Flake: Compound Documents - - PowerPoint PPT Presentation

pillars of kde flake introduction
SMART_READER_LITE
LIVE PREVIEW

Pillars of KDE: Flake Introduction Flake: Compound Documents - - PowerPoint PPT Presentation

Sebastian Kgler <sebas@kde.org>, FrOSCon 2006 Pillars of KDE: Flake Introduction Flake: Compound Documents Compose your documents from individual objects: text frames, images, vector graphics, tables, connectors Suitable for:


slide-1
SLIDE 1

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 1/

Pillars of KDE: Flake

Flake: Compound Documents Compose your documents from individual objects: text frames, images, vector graphics, tables, connectors Suitable for: presentations, text documents, spreadsheets, charts, graphs, images, drawings

Introduction

slide-2
SLIDE 2

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 2/

Pillars of KDE: Flake

Claris/GoBe Apple's OpenDoc Microsoft OLE KDE's KParts OpenOffice's XP-COM Flake

History

slide-3
SLIDE 3

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 3/

Pillars of KDE: Flake

Widgets? Embedded documents? QGraphicsView?

Why not?

slide-4
SLIDE 4

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 4/

Pillars of KDE: Flake

Is: Flexibly object composition resulting in compound documents on a specialized bsae document type Not: A canvas -- applications provide a specific canvas

What Flake is and is not

slide-5
SLIDE 5

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 5/

Pillars of KDE: Flake Controller, model, view

KoTool KoTextTool Freehand, Selection... KoPathTool ... KoCanvasBase

KSpread Canvas (tabbed sheets)

Krita Canvas (infinite sheet) KWord Canvas (page based) KPresenter (slides) KoShape KoPathShape KoTextShape

KritaImageShape

MusicShape NotationTool

slide-6
SLIDE 6

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 6/

Pillars of KDE: Flake

* A KoTool creates a KoShape * A KoShape is added to the KoShapeController * The KoShapeController adds the KoShape to a KoCanvas * The KoCanvas asks the KoShape to paint itself * The View Widgets passes QEvents to the Tool Proxy * The ToolProxy passes events to the Tool that belongs to the current Shape * The Tool alters the data associated with the Shape * The Shape asks to the Canvas to repaint

And View begat Tool and Tool begat Shape

slide-7
SLIDE 7

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 7/

Pillars of KDE: Flake

* Shapes are created by Factories * Shapes can be created from templates * Shapes can be nested, grouped, aligned * Shapes know how to draw themselves * Shapes can save and load themselves * Decorated with borders

Shapes

slide-8
SLIDE 8

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 8/

Pillars of KDE: Flake

* For every input device for every view, a tool instance * Tools are associated with shapes; when a shape is selected the default tool for that shape is activated. * Tool implementations are plugins * Tool settings are visible in the Option Widget * Tools get all events -- the shape does not handle events * Tools handle undo/redo

Tools

slide-9
SLIDE 9

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 9/

Pillars of KDE: Flake

Not a single canvas implementation But specialisations: pages, sheets, infinite sheet OpenGL, Arthur Managed by KoCanvasController for scrolling, zooming, panning, decorating with shadows, drag and drop

Canvases

slide-10
SLIDE 10

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 10/

Pillars of KDE: Flake

Big problem in KOffice 1.x In 2.0: shapes are internally in postscript points Translated to screen and printer ppi and dpi So, for raster graphics, three units: * raster ppi (or dpi) (300 ppi) * postscript resolution (72 ppi) * output resolution (on my laptop, 129 x 127)

Resolution

slide-11
SLIDE 11

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 11/

Pillars of KDE: Flake

Pigment * input color description (scanner or camera profile) * Working color profile (sRGBfor al lof KOffice except Krita) *Ouput color profile (printer, pdf, cmyk, rgb_

Color Management

slide-12
SLIDE 12

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 12/

Pillars of KDE: Flake

* Saving/loading, but also: cut/copy/paste * either inline, or in frame objects * it does push ODF: we are using ODF in a way that conforms to the standard, but we are innovating * OpenRaster

ODF, saving and loading

slide-13
SLIDE 13

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 13/

Pillars of KDE: Flake User Interface

slide-14
SLIDE 14

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 14/

Pillars of KDE: Flake

Open Clipart Get Hot New Stuff Scriptability Nepomuk availability of flake, odf and pigment outside KOffice?

Integration

slide-15
SLIDE 15

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 15/

Pillars of KDE: Flake

KWord Karbon Krita KPresenter KSpread Kivio KChart KPlato Kexi Kugar KoShell

State of The Art

slide-16
SLIDE 16

Sebastian Kügler <sebas@kde.org>, FrOSCon 2006 Boudewijn Rempt <boud@kde.org>, aKademy 2007 16/

Pillars of KDE: Flake

* Textual Table Shape * Video Shape * Map Shape

Shapes We're Sorely Missing