Pillars of KDE: Flake Introduction

Pillars of KDE: Flake Introduction

Sebastian Kügler <[email protected]>, 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: presentations, text documents, spreadsheets, charts, graphs, images, drawings Boudewijn Rempt <[email protected]>, aKademy 2007 1/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake History Claris/GoBe Apple's OpenDoc Microsoft OLE KDE's KParts OpenOffice's XP-COM Flake Boudewijn Rempt <[email protected]>, aKademy 2007 2/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake Why not? Widgets? Embedded documents? QGraphicsView? Boudewijn Rempt <[email protected]>, aKademy 2007 3/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake What Flake is and is not Is: Flexibly object composition resulting in compound documents on a specialized bsae document type Not: A canvas -- applications provide a specific canvas Boudewijn Rempt <[email protected]>, aKademy 2007 4/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake Controller, model, view KoTool KoShape KoCanvasBase KoTextTool KoTextShape KWord Canvas (page based) KoPathShape Krita Canvas KoPathTool (infinite sheet) ... KSpread Canvas KritaImageShape Freehand, (tabbed sheets) Selection... NotationTool MusicShape KPresenter (slides) Boudewijn Rempt <[email protected]>, aKademy 2007 5/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake And View begat Tool and Tool begat Shape * 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 Boudewijn Rempt <[email protected]>, aKademy 2007 6/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake Shapes * 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 Boudewijn Rempt <[email protected]>, aKademy 2007 7/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake Tools * 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 Boudewijn Rempt <[email protected]>, aKademy 2007 8/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake Canvases 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 Boudewijn Rempt <[email protected]>, aKademy 2007 9/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake Resolution 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) Boudewijn Rempt <[email protected]>, aKademy 2007 10/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake Color Management Pigment * input color description (scanner or camera profile) * Working color profile (sRGBfor al lof KOffice except Krita) *Ouput color profile (printer, pdf, cmyk, rgb_ Boudewijn Rempt <[email protected]>, aKademy 2007 11/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake ODF, saving and loading * 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 Boudewijn Rempt <[email protected]>, aKademy 2007 12/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake User Interface Boudewijn Rempt <[email protected]>, aKademy 2007 13/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake Integration Open Clipart Get Hot New Stuff Scriptability Nepomuk availability of flake, odf and pigment outside KOffice? Boudewijn Rempt <[email protected]>, aKademy 2007 14/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake State of The Art KWord Karbon Krita KPresenter KSpread Kivio KChart KPlato Kexi Kugar KoShell Boudewijn Rempt <[email protected]>, aKademy 2007 15/ Sebastian Kügler <[email protected]>, FrOSCon 2006 Pillars of KDE: Flake Shapes We're Sorely Missing * Textual Table Shape * Video Shape * Map Shape Boudewijn Rempt <[email protected]>, aKademy 2007 16/ .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us