Ich wollte Schritt für Schritt ein Addon aufbauen. Im ersten Schritt erstellte ich die *atestmenu.xcu*, die lediglich einen neuen Eintrag im Menü von LO eintragen sollte, was sie aber nicht tut. Hier meine *atestmenu.xcu*:
Code: Alles auswählen
<?xml version='1.0' encoding='UTF-8'?>
<oor:component-data
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">
<!-- MenuBar -->
<node oor:name="OfficeMenuBar">
<node
oor:name="de.atestmenu.openoffice.WriteInDokument"
oor:op="replace">
<prop oor:name="Title" oor:type="xs:string">
<value>TESTMENUE</value>
<value xml:lang="de-DE">TESTMENUE</value>
</prop>
<prop oor:name="Target" oor:type="xs:string">
<value>_self</value>
</prop>
<!-- nur fuer Writer -->
<prop oor:name="Context" oor:type="xs:string">
<value>com.sun.star.text.TextDocument</value>
</prop>
<node oor:name="Submenu">
<node oor:name="m1" oor:op="replace">
<!-- command URL -->
<prop oor:name="URL" oor:type="xs:string">
<value>service:de.atestmenu.openoffice.WriteInDokument?execute</value>
</prop>
<prop oor:name="Title" oor:type="xs:string">
<value>
ATESTMENU
</value>
<value xml:lang="en-US">
ATESTMENU
</value>
<value xml:lang="de">
ATESTMENÜ
</value>
</prop>
</node>
</node>
<!-- END node Submenu -->
</node>
</node>
<!-- End MenuBar -->
</node>
<!-- END AddonUI -->
</oor:component-data>
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<manifest:manifest xmlns:manifest="http://openoffice.org/2001/manifest">
<manifest:file-entry manifest:media-type="application/de.atestmenu.openoffice.configuration-data"
manifest:full-path="atestmenu.xcu"/>
<manifest:file-entry manifest:media-type="application/de.atestmenu.openoffice.framework-script"
manifest:full-path="atestmenu.py"/>
</manifest:manifest>
Code: Alles auswählen
import uno
import unohelper
from com.sun.star.task import XJobExecutor
class WriteInDokument( unohelper.Base, XJobExecutor ):
def __init__( self, ctx ):
self.ctx = ctx
def trigger( self, args ):
"""Methode noch funktionslos
"""
desktop = self.ctx.ServiceManager.createInstanceWithContext(
"com.sun.star.frame.Desktop", self.ctx )
doc = desktop.getCurrentComponent()
return
###
# Funktionalitaet in UNO bekannt machen
g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation(
WriteInDokument,
"de.atestmenu.openoffice.WriteInDokument",
("com.sun.star.task.Job",),
)
Was habe ich falsch gemacht?