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>
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