Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro

Desarrollo de plugins en KOffice Shapes flake y Filtros

Alfredo Beaumont [email protected]

GCDS’09 11 de Julio de 2009

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 1/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Outline

1 Introducci´ona KOffice

2 Tecnolog´ıas

3 Ejemplo: Shape

4 Ejemplo: Filtro

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 2/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Outline

1 Introducci´ona KOffice

2 Tecnolog´ıas

3 Ejemplo: Shape

4 Ejemplo: Filtro

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 3/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Qu´ees KOffice

Suite ofim´atica Completa Integrada Ligera Multiplataforma

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 4/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Aplicaciones

Ofim´atica: KWord, KSpread, KPresenter, KChart, KFormula Creatividad: , , Kivio Datos: , Productividad: Kivio, KPlato

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 5/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Outline

1 Introducci´ona KOffice

2 Tecnolog´ıas

3 Ejemplo: Shape

4 Ejemplo: Filtro

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 6/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Principales tecnolog´ıasen KOffice 2

Qt4/KDE4 KoXml Pigment ODF

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 7/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Flake

Integraci´onmucho m´as ligera Desarrollo mucho m´assencillo (No hace falta desarrollar una aplicaci´on) Basado en plugins, permite desarrollos de third-parties Componentes en base a Shapes/Tools (MVC) (plugins) Shape (Vista): Objeto muy simple, s´olotiene que saber leer, escribir y dibujar Tool (Control): Objeto muy simple, s´olotiene que modificar alguna propiedad de un shape

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 8/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro ODF

Formato est´andar (ISO 29300) Formato abierto Formato libre de restricciones de: Licencias Patentes Formato nativo de KOffice Resto de formatos: Filtros (plugins)

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 9/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Outline

1 Introducci´ona KOffice

2 Tecnolog´ıas

3 Ejemplo: Shape

4 Ejemplo: Filtro

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 10/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Qu´ees un Shape

Componente visual de un documento, que puede ser manipulado por una o varias Tools Un plugin

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 11/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro C´omodesarrollar un Shape

Es un plugin. Qu´enecesitamos: 1 Librer´ıadin´amicaque pueda cargar la aplicaci´on 2 Indicar a la aplicaci´onc´omocargar dicha librer´ıa Analicemos un caso real Pathshapes KoRectangleShape

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 12/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Outline

3 Ejemplo: Shape Generando la librer´ıadin´amica Incluir el plugin en la aplicaci´on

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 13/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Generando la librer´ıadin´amica

Necesitamos: 1 Extender 2 clases: KoShape: el componente KoShapeFactory: patr´onfactory para generar shapes desde la app. 2 A˜nadirlas reglas de compilaci´on(CMake, make, autotools, etc.)

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 14/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro CMake

A˜nadircabeceras (includes) A˜nadirlas 2 clases nuevas Enlazar con las librer´ıas Instalar las librer´ıas

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 15/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro KoRectangleShape

M´etodos a sobreescribir Constructor, destructor paint loadOdf saveOdf

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 16/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro KoRectangleShapeFactory

M´etodos a sobreescribir Constructor createDefaultShape createShape

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 17/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Outline

3 Ejemplo: Shape Generando la librer´ıadin´amica Incluir el plugin en la aplicaci´on

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 18/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Incluir el plugin en la aplicaci´on

Necesitamos: 1 Configurar un servicio 2 A˜nadirlas reglas de instalaci´on(CMake, make, autotools, etc.) 3 Incluir el servicio en la aplicaci´on

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 19/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Outline

1 Introducci´ona KOffice

2 Tecnolog´ıas

3 Ejemplo: Shape

4 Ejemplo: Filtro

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 20/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Qu´ees un filtro

Conversor de un formato de entrada X a un formato de salida Y Y no tiene por qu´eser el formato nativo de la aplicaci´on Cadenas de filtrado Un plugin

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 21/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro C´omodesarrollar un filtro

Es un plugin. Qu´enecesitamos: 1 Conocer el formato a soportar, y uno de los ya soportados 2 Librer´ıadin´amicaque pueda cargar la aplicaci´on 3 Indicar a la aplicaci´onc´omocargar dicha librer´ıa Analicemos un caso real Importaci´ondBase en KSpread

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 22/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Outline

4 Ejemplo: Filtro Generando la librer´ıadin´amica Incluir el plugin en la aplicaci´on

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 23/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Generando la librer´ıadin´amica

Necesitamos: 1 Extender la clase KoFilter 2 A˜nadirlas reglas de compilaci´on(CMake, make, autotools, etc.)

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 24/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro CMake

A˜nadircabeceras (includes) A˜nadirlas 1 clase nueva Enlazar con las librer´ıas Instalar las librer´ıas

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 25/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro dbaseimport

1 Heredar de KoFilter 2 Sobreescribir el m´etodo convert Leer el formato origen Escribir el formato destino

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 26/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Outline

4 Ejemplo: Filtro Generando la librer´ıadin´amica Incluir el plugin en la aplicaci´on

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 27/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro Incluir el plugin en la aplicaci´on

Necesitamos: 1 Configurar un servicio 2 A˜nadirlas reglas de instalaci´on(CMake, make, autotools, etc.)

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 28/29 Introducci´ona KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro

¿ Preguntas ?

Alfredo Beaumont [email protected]

Alfredo Beaumont [email protected] — Desarrollo de plugins en KOffice 29/29