Introducci´on a 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´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Outline
1 Introducci´on a KOffice
2 Tecnolog´ıas
3 Ejemplo: Shape
4 Ejemplo: Filtro
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
2/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Outline
1 Introducci´on a KOffice
2 Tecnolog´ıas
3 Ejemplo: Shape
4 Ejemplo: Filtro
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
3/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Qu´e es KOffice
Suite ofim´atica
Completa
Integrada
Ligera
Multiplataforma
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
4/29
Introducci´on a 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´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Outline
1 Introducci´on a KOffice
2 Tecnolog´ıas
3 Ejemplo: Shape
4 Ejemplo: Filtro
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
6/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Principales tecnolog´ıas en KOffice 2
Qt4/KDE4
KoXml
Pigment
Flake
ODF
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
7/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Flake
Integraci´on mucho m´as ligera
Desarrollo mucho m´as sencillo (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´olo tiene que saber
leer, escribir y dibujar
Tool (Control): Objeto muy simple, s´olo tiene que
modificar alguna propiedad de un shape
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
8/29
Introducci´on a 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´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Outline
1 Introducci´on a KOffice
2 Tecnolog´ıas
3 Ejemplo: Shape
4 Ejemplo: Filtro
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
10/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Qu´e es 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´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
C´omo desarrollar un Shape
Es un plugin. Qu´e necesitamos:
1 Librer´ıa din´amica que pueda cargar la aplicaci´on
2 Indicar a la aplicaci´on c´omo cargar dicha librer´ıa
Analicemos un caso real
Pathshapes
KoRectangleShape
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
12/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Outline
3 Ejemplo: Shape
Generando la librer´ıa din´amica
Incluir el plugin en la aplicaci´on
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
13/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Generando la librer´ıa din´amica
Necesitamos:
1 Extender 2 clases:
KoShape: el componente
KoShapeFactory: patr´on factory para generar shapes
desde la app.
2 A˜nadir las reglas de compilaci´on (CMake, make,
autotools, etc.)
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
14/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
CMake
A˜nadir cabeceras (includes)
A˜nadir las 2 clases nuevas
Enlazar con las librer´ıas
Instalar las librer´ıas
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
15/29
Introducci´on a 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´on a 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´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Outline
3 Ejemplo: Shape
Generando la librer´ıa din´amica
Incluir el plugin en la aplicaci´on
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
18/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Incluir el plugin en la aplicaci´on
Necesitamos:
1 Configurar un servicio
2 A˜nadir las 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´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Outline
1 Introducci´on a KOffice
2 Tecnolog´ıas
3 Ejemplo: Shape
4 Ejemplo: Filtro
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
20/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Qu´e es un filtro
Conversor de un formato de entrada X a un formato de
salida Y
Y no tiene por qu´e ser el formato nativo de la aplicaci´on
Cadenas de filtrado
Un plugin
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
21/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
C´omo desarrollar un filtro
Es un plugin. Qu´e necesitamos:
1 Conocer el formato a soportar, y uno de los ya
soportados
2 Librer´ıa din´amica que pueda cargar la aplicaci´on
3 Indicar a la aplicaci´on c´omo cargar dicha librer´ıa
Analicemos un caso real
Importaci´on dBase en KSpread
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
22/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Outline
4 Ejemplo: Filtro
Generando la librer´ıa din´amica
Incluir el plugin en la aplicaci´on
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
23/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Generando la librer´ıa din´amica
Necesitamos:
1 Extender la clase KoFilter
2 A˜nadir las reglas de compilaci´on (CMake, make,
autotools, etc.)
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
24/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
CMake
A˜nadir cabeceras (includes)
A˜nadir las 1 clase nueva
Enlazar con las librer´ıas
Instalar las librer´ıas
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
25/29
Introducci´on a 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´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Outline
4 Ejemplo: Filtro
Generando la librer´ıa din´amica
Incluir el plugin en la aplicaci´on
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
27/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
Incluir el plugin en la aplicaci´on
Necesitamos:
1 Configurar un servicio
2 A˜nadir las reglas de instalaci´on (CMake, make,
autotools, etc.)
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
28/29
Introducci´on a KOffice Tecnolog´ıas Ejemplo: Shape Ejemplo: Filtro
¿ Preguntas ?
Alfredo Beaumont
[email protected]
Alfredo Beaumont
[email protected] — Desarrollo de plugins en KOffice
29/29
Comentarios de: Desarrollo de plugins en KOffice (0)
No hay comentarios