Desarrollo De Plugins En Koffice
Total Page:16
File Type:pdf, Size:1020Kb
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: Krita, Karbon, Kivio Datos: Kexi, Kugar 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 Flake 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.