Extensión Ooo con python

Discute el uso de extensiones desarrolladas por terceros dentro de Apache OpenOffice
Responder
Satsuki
Mensajes: 32
Registrado: Mar Sep 15, 2009 5:07 pm

Extensión Ooo con python

Mensaje por Satsuki »

Hola
Quiero crear una extensión para OpenOffice y tengo el siguiente código que encontré en una página:

HelloWorld.py

Código: Seleccionar todo

class HelloWorldJob(unohelper.Base, XJobExecutor):

    def __init__(self, ctx):
        # store the component context for later use
        self.ctx = ctx

    def trigger(self, args):
        # Retrieve the desktop object
        desktop = self.ctx.ServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", self.ctx)
        spreadsheet = desktop.getCurrentComponent()
        sheets = spreadsheet.getSheets()
        cell = sheets.getByIndex(0).getCellByPosition(0, 0)
        if cell.getFormula():
            cell.setFormula("Hello " + cell.getFormula())
        else:
            cell.setFormula("Hello world")


g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation( \
        HelloWorldJob,                                # UNO clase de objeto
        "org.openoffice.comp.pyuno.demo.HelloWorld",  # Nombre de la implementacion
        ("com.sun.star.task.Job",),)                  # Lista de servicios implementados

Addons.xcu

Código: Seleccionar todo

<?xml version="1.0" encoding="UTF-8"?>
<oor:node xmlns:oor="http://openoffice.org/2001/registry"
             xmlns:xs="http://www.w3.org/2001/XMLSchema"
             oor:name="Addons" oor:package="org.openoffice.Office">
  <node oor:name="AddonUI">
    <node oor:name="AddonMenu">
      <node oor:name="org.openoffice.comp.pyuno.demo.HelloWorld" oor:op="replace">
        <prop oor:name="URL" oor:type="xs:string">
          <value>service:org.openoffice.comp.pyuno.demo.HelloWorld?insert</value>
        </prop>
        <prop oor:name="ImageIdentifier" oor:type="xs:string">
          <value>private:image/3216</value>
        </prop>
        <prop oor:name="Title" oor:type="xs:string">
          <value xml:lang="en-US">Insert Hello World</value>
        </prop>
      </node>
    </node>
  </node>
</oor:node>
Estos dos archivos están en una carpeta llamada HelloWorld. La comprimo a zip, la paso a xcu y luego en OpenOffice voy a Herramientas->Administrador de extensiones y la añado, y aparece en la opción extensiones.

Pero lei que hay la opción de poner un gráfico o botón para representarlo. ¿Qué habría que cambiar en Addons.xcu?

Gracias
OpenOffice 3.1.0 en Ubuntu 8.04
Avatar de Usuario
jza
Mensajes: 142
Registrado: Vie Nov 21, 2008 1:36 am
Ubicación: Cancun, Mexico
Contactar:

Re: Extensión Ooo con python

Mensaje por jza »

aqui hay un ejemplo de un addons.xcu algo complejo para que veas que funcionalidades se dan en la especificacion.
http://wiki.services.openoffice.org/wik ... oject_Type

Tambien la presentacion de Juerg este año abarco nuevas funcionalidades del addon.xcu
http://www.ooocon.org/index.php/ooocon/ ... r/view/206
Alexandro Colorado
http://es.openoffice.org
Responder